category_theory.abelian.right_derivedMathlib.CategoryTheory.Abelian.RightDerived

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -72,7 +72,6 @@ def Functor.rightDerived (F : C ⥤ D) [F.Additive] (n : ℕ) : C ⥤ D :=
 #align category_theory.functor.right_derived CategoryTheory.Functor.rightDerived
 -/
 
-#print CategoryTheory.Functor.rightDerivedObjIso /-
 /-- We can compute a right derived functor using a chosen injective resolution. -/
 @[simps]
 def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
@@ -84,9 +83,7 @@ def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
         (F.mapHomotopyEquiv (InjectiveResolution.homotopyEquiv _ P))) ≪≫
     (HomotopyCategory.homology'Factors D _ n).app _
 #align category_theory.functor.right_derived_obj_iso CategoryTheory.Functor.rightDerivedObjIso
--/
 
-#print CategoryTheory.Functor.rightDerivedObjInjectiveZero /-
 /-- The 0-th derived functor of `F` on an injective object `X` is just `F.obj X`. -/
 @[simps]
 def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Injective X] :
@@ -95,11 +92,9 @@ def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Inj
     (homology'Functor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
       (CochainComplex.homologyFunctor0Single₀ D).app (F.obj X)
 #align category_theory.functor.right_derived_obj_injective_zero CategoryTheory.Functor.rightDerivedObjInjectiveZero
--/
 
 open scoped ZeroObject
 
-#print CategoryTheory.Functor.rightDerivedObjInjectiveSucc /-
 /-- The higher derived functors vanish on injective objects. -/
 @[simps inv]
 def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X : C) [Injective X] :
@@ -108,7 +103,6 @@ def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X
     (homology'Functor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
       (CochainComplex.homology'FunctorSuccSingle₀ D n).app (F.obj X) ≪≫ (Functor.zero_obj _).isoZero
 #align category_theory.functor.right_derived_obj_injective_succ CategoryTheory.Functor.rightDerivedObjInjectiveSucc
--/
 
 #print CategoryTheory.Functor.rightDerived_map_eq /-
 /-- We can compute a right derived functor on a morphism using a descent of that morphism
@@ -165,7 +159,6 @@ theorem NatTrans.rightDerived_comp {F G H : C ⥤ D} [F.Additive] [G.Additive] [
 #align category_theory.nat_trans.right_derived_comp CategoryTheory.NatTrans.rightDerived_comp
 -/
 
-#print CategoryTheory.NatTrans.rightDerived_eq /-
 /-- A component of the natural transformation between right-derived functors can be computed
 using a chosen injective resolution.
 -/
@@ -189,7 +182,6 @@ theorem NatTrans.rightDerived_eq {F G : C ⥤ D} [F.Additive] [G.Additive] (α :
   apply functor.map_homotopy
   apply HomotopyEquiv.homotopyHomInvId
 #align category_theory.nat_trans.right_derived_eq CategoryTheory.NatTrans.rightDerived_eq
--/
 
 end CategoryTheory
 
@@ -209,7 +201,6 @@ open CategoryTheory.Preadditive
 
 variable [Abelian C] [Abelian D] [Additive F]
 
-#print CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono /-
 /-- If `preserves_finite_limits F` and `mono f`, then `exact (F.map f) (F.map g)` if
 `exact f g`. -/
 theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits F] [Mono f]
@@ -217,10 +208,8 @@ theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits
   Abelian.exact_of_is_kernel _ _ (by simp [← functor.map_comp, ex.w]) <|
     Limits.isLimitForkMapOfIsLimit' _ ex.w (Abelian.isLimitOfExactOfMono _ _ ex)
 #align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono
--/
 
-#print CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution /-
-theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
+theorem exact_of_map_injective_resolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
     Exact (F.map (P.ι.f 0))
       (((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).dFrom 0) :=
   Preadditive.exact_of_iso_of_exact' (F.map (P.ι.f 0)) (F.map (P.cocomplex.d 0 1)) _ _ (Iso.refl _)
@@ -228,10 +217,8 @@ theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesF
     (HomologicalComplex.xNextIso ((F.mapHomologicalComplex _).obj P.cocomplex) rfl).symm (by simp)
     (by rw [iso.refl_hom, category.id_comp, iso.symm_hom, HomologicalComplex.dFrom_eq] <;> congr)
     (preserves_exact_of_preserves_finite_limits_of_mono _ P.exact₀)
-#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution
--/
+#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injective_resolution
 
-#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp /-
 /-- Given `P : InjectiveResolution X`, a morphism `(F.right_derived 0).obj X ⟶ F.obj X` given
 `preserves_finite_limits F`. -/
 def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
@@ -241,9 +228,7 @@ def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X
       kernel.map _ _ (cokernel.desc _ (𝟙 _) (by simp)) (𝟙 _) (by ext; simp) ≫
         (asIso (kernel.lift _ _ (exact_of_map_injective_resolution F P).w)).inv
 #align category_theory.abelian.functor.right_derived_zero_to_self_app CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp
--/
 
-#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv /-
 /-- Given `P : InjectiveResolution X`, a morphism `F.obj X ⟶ (F.right_derived 0).obj X`. -/
 def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveResolution X) :
     F.obj X ⟶ (F.rightDerived 0).obj X :=
@@ -255,9 +240,7 @@ def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveReso
         simp only [InjectiveResolution.ι_f_zero_comp_complex_d, functor.map_zero, zero_comp]) ≫
     (rightDerivedObjIso F 0 P).inv
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv
--/
 
-#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv /-
 theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) :
     right_derived_zero_to_self_app F P ≫ right_derived_zero_to_self_app_inv F P = 𝟙 _ :=
@@ -273,9 +256,7 @@ theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFinite
     homology'.π'_ι, category.assoc, ← category.assoc (cokernel.π _), cokernel.π_desc, whisker_eq]
   convert category.id_comp (cokernel.π _)
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv
--/
 
-#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_comp /-
 theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) :
     right_derived_zero_to_self_app_inv F P ≫ right_derived_zero_to_self_app F P = 𝟙 _ :=
@@ -289,9 +270,7 @@ theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteL
   rw [← category.assoc, ← category.assoc, category.assoc _ _ (homology'IsoKernelDesc _ _ _).Hom]
   simp
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_comp
--/
 
-#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso /-
 /-- Given `P : InjectiveResolution X`, the isomorphism `(F.right_derived 0).obj X ≅ F.obj X` if
 `preserves_finite_limits F`. -/
 def rightDerivedZeroToSelfAppIso [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
@@ -302,12 +281,10 @@ def rightDerivedZeroToSelfAppIso [EnoughInjectives C] [PreservesFiniteLimits F]
   hom_inv_id' := right_derived_zero_to_self_app_comp_inv _ P
   inv_hom_id' := right_derived_zero_to_self_app_inv_comp _ P
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_iso CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso
--/
 
-#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_natural /-
 /-- Given `P : InjectiveResolution X` and `Q : InjectiveResolution Y` and a morphism `f : X ⟶ Y`,
 naturality of the square given by `right_derived_zero_to_self_natural`. -/
-theorem rightDerivedZeroToSelf_natural [EnoughInjectives C] {X : C} {Y : C} (f : X ⟶ Y)
+theorem rightDerived_zero_to_self_natural [EnoughInjectives C] {X : C} {Y : C} (f : X ⟶ Y)
     (P : InjectiveResolution X) (Q : InjectiveResolution Y) :
     F.map f ≫ right_derived_zero_to_self_app_inv F Q =
       right_derived_zero_to_self_app_inv F P ≫ (F.rightDerived 0).map f :=
@@ -326,10 +303,8 @@ theorem rightDerivedZeroToSelf_natural [EnoughInjectives C] {X : C} {Y : C} (f :
     HomologicalComplex.Hom.sqFrom_left, map_homological_complex_map_f, ← functor.map_comp,
     show f ≫ Q.ι.f 0 = P.ι.f 0 ≫ (InjectiveResolution.desc f Q P).f 0 from
       HomologicalComplex.congr_hom (InjectiveResolution.desc_commutes f Q P).symm 0]
-#align category_theory.abelian.functor.right_derived_zero_to_self_natural CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_natural
--/
+#align category_theory.abelian.functor.right_derived_zero_to_self_natural CategoryTheory.Abelian.Functor.rightDerived_zero_to_self_natural
 
-#print CategoryTheory.Abelian.Functor.rightDerivedZeroIsoSelf /-
 /-- Given `preserves_finite_limits F`, the natural isomorphism `(F.right_derived 0) ≅ F`. -/
 def rightDerivedZeroIsoSelf [EnoughInjectives C] [PreservesFiniteLimits F] : F.rightDerived 0 ≅ F :=
   Iso.symm <|
@@ -337,7 +312,6 @@ def rightDerivedZeroIsoSelf [EnoughInjectives C] [PreservesFiniteLimits F] : F.r
       (fun X => (right_derived_zero_to_self_app_iso _ (InjectiveResolution.of X)).symm) fun X Y f =>
       right_derived_zero_to_self_natural _ _ _ _
 #align category_theory.abelian.functor.right_derived_zero_iso_self CategoryTheory.Abelian.Functor.rightDerivedZeroIsoSelf
--/
 
 end CategoryTheory.Abelian.Functor
 
Diff
@@ -68,7 +68,7 @@ variable [Abelian C] [HasInjectiveResolutions C] [Abelian D]
 #print CategoryTheory.Functor.rightDerived /-
 /-- The right derived functors of an additive functor. -/
 def Functor.rightDerived (F : C ⥤ D) [F.Additive] (n : ℕ) : C ⥤ D :=
-  injectiveResolutions C ⋙ F.mapHomotopyCategory _ ⋙ HomotopyCategory.homologyFunctor D _ n
+  injectiveResolutions C ⋙ F.mapHomotopyCategory _ ⋙ HomotopyCategory.homology'Functor D _ n
 #align category_theory.functor.right_derived CategoryTheory.Functor.rightDerived
 -/
 
@@ -78,11 +78,11 @@ def Functor.rightDerived (F : C ⥤ D) [F.Additive] (n : ℕ) : C ⥤ D :=
 def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
     (P : InjectiveResolution X) :
     (F.rightDerived n).obj X ≅
-      (homologyFunctor D _ n).obj ((F.mapHomologicalComplex _).obj P.cocomplex) :=
-  (HomotopyCategory.homologyFunctor D _ n).mapIso
+      (homology'Functor D _ n).obj ((F.mapHomologicalComplex _).obj P.cocomplex) :=
+  (HomotopyCategory.homology'Functor D _ n).mapIso
       (HomotopyCategory.isoOfHomotopyEquiv
         (F.mapHomotopyEquiv (InjectiveResolution.homotopyEquiv _ P))) ≪≫
-    (HomotopyCategory.homologyFactors D _ n).app _
+    (HomotopyCategory.homology'Factors D _ n).app _
 #align category_theory.functor.right_derived_obj_iso CategoryTheory.Functor.rightDerivedObjIso
 -/
 
@@ -92,7 +92,7 @@ def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
 def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Injective X] :
     (F.rightDerived 0).obj X ≅ F.obj X :=
   F.rightDerivedObjIso 0 (InjectiveResolution.self X) ≪≫
-    (homologyFunctor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
+    (homology'Functor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
       (CochainComplex.homologyFunctor0Single₀ D).app (F.obj X)
 #align category_theory.functor.right_derived_obj_injective_zero CategoryTheory.Functor.rightDerivedObjInjectiveZero
 -/
@@ -105,8 +105,8 @@ open scoped ZeroObject
 def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X : C) [Injective X] :
     (F.rightDerived (n + 1)).obj X ≅ 0 :=
   F.rightDerivedObjIso (n + 1) (InjectiveResolution.self X) ≪≫
-    (homologyFunctor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
-      (CochainComplex.homologyFunctorSuccSingle₀ D n).app (F.obj X) ≪≫ (Functor.zero_obj _).isoZero
+    (homology'Functor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
+      (CochainComplex.homology'FunctorSuccSingle₀ D n).app (F.obj X) ≪≫ (Functor.zero_obj _).isoZero
 #align category_theory.functor.right_derived_obj_injective_succ CategoryTheory.Functor.rightDerivedObjInjectiveSucc
 -/
 
@@ -119,12 +119,12 @@ theorem Functor.rightDerived_map_eq (F : C ⥤ D) [F.Additive] (n : ℕ) {X Y :
     (w : Q.ι ≫ g = (CochainComplex.single₀ C).map f ≫ P.ι) :
     (F.rightDerived n).map f =
       (F.rightDerivedObjIso n Q).Hom ≫
-        (homologyFunctor D _ n).map ((F.mapHomologicalComplex _).map g) ≫
+        (homology'Functor D _ n).map ((F.mapHomologicalComplex _).map g) ≫
           (F.rightDerivedObjIso n P).inv :=
   by
   dsimp only [functor.right_derived, functor.right_derived_obj_iso]
   dsimp; simp only [category.comp_id, category.id_comp]
-  rw [← homologyFunctor_map, HomotopyCategory.homologyFunctor_map_factors]
+  rw [← homology'Functor_map, HomotopyCategory.homology'Functor_map_factors]
   simp only [← functor.map_comp]
   congr 1
   apply HomotopyCategory.eq_of_homotopy
@@ -145,7 +145,7 @@ theorem Functor.rightDerived_map_eq (F : C ⥤ D) [F.Additive] (n : ℕ) {X Y :
 def NatTrans.rightDerived {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶ G) (n : ℕ) :
     F.rightDerived n ⟶ G.rightDerived n :=
   whiskerLeft (injectiveResolutions C)
-    (whiskerRight (NatTrans.mapHomotopyCategory α _) (HomotopyCategory.homologyFunctor D _ n))
+    (whiskerRight (NatTrans.mapHomotopyCategory α _) (HomotopyCategory.homology'Functor D _ n))
 #align category_theory.nat_trans.right_derived CategoryTheory.NatTrans.rightDerived
 -/
 
@@ -173,13 +173,13 @@ theorem NatTrans.rightDerived_eq {F G : C ⥤ D} [F.Additive] [G.Additive] (α :
     (P : InjectiveResolution X) :
     (NatTrans.rightDerived α n).app X =
       (F.rightDerivedObjIso n P).Hom ≫
-        (homologyFunctor D _ n).map ((NatTrans.mapHomologicalComplex α _).app P.cocomplex) ≫
+        (homology'Functor D _ n).map ((NatTrans.mapHomologicalComplex α _).app P.cocomplex) ≫
           (G.rightDerivedObjIso n P).inv :=
   by
   symm
   dsimp [nat_trans.right_derived, functor.right_derived_obj_iso]
   simp only [category.comp_id, category.id_comp]
-  rw [← homologyFunctor_map, HomotopyCategory.homologyFunctor_map_factors]
+  rw [← homology'Functor_map, HomotopyCategory.homology'Functor_map_factors]
   simp only [← functor.map_comp]
   congr 1
   apply HomotopyCategory.eq_of_homotopy
@@ -237,7 +237,7 @@ theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesF
 def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) : (F.rightDerived 0).obj X ⟶ F.obj X :=
   (rightDerivedObjIso F 0 P).Hom ≫
-    (homologyIsoKernelDesc _ _ _).Hom ≫
+    (homology'IsoKernelDesc _ _ _).Hom ≫
       kernel.map _ _ (cokernel.desc _ (𝟙 _) (by simp)) (𝟙 _) (by ext; simp) ≫
         (asIso (kernel.lift _ _ (exact_of_map_injective_resolution F P).w)).inv
 #align category_theory.abelian.functor.right_derived_zero_to_self_app CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp
@@ -247,7 +247,7 @@ def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X
 /-- Given `P : InjectiveResolution X`, a morphism `F.obj X ⟶ (F.right_derived 0).obj X`. -/
 def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveResolution X) :
     F.obj X ⟶ (F.rightDerived 0).obj X :=
-  homology.lift _ _ _ (F.map (P.ι.f 0) ≫ cokernel.π _)
+  homology'.lift _ _ _ (F.map (P.ι.f 0) ≫ cokernel.π _)
       (by
         have : (ComplexShape.up ℕ).Rel 0 1 := rfl
         rw [category.assoc, cokernel.π_desc, HomologicalComplex.dFrom_eq _ this,
@@ -266,11 +266,11 @@ theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFinite
   rw [← category.assoc, iso.comp_inv_eq, category.id_comp, category.assoc, category.assoc, ←
     iso.eq_inv_comp, iso.inv_hom_id]
   ext
-  rw [category.assoc, category.assoc, homology.lift_ι, category.id_comp, homology.π'_ι,
+  rw [category.assoc, category.assoc, homology'.lift_ι, category.id_comp, homology'.π'_ι,
     category.assoc, ← category.assoc _ _ (cokernel.π _), abelian.kernel.lift.inv, ← category.assoc,
     ← category.assoc _ (kernel.ι _), limits.kernel.lift_ι, category.assoc, category.assoc, ←
-    category.assoc (homologyIsoKernelDesc _ _ _).Hom _ _, ← homology.ι, ← category.assoc,
-    homology.π'_ι, category.assoc, ← category.assoc (cokernel.π _), cokernel.π_desc, whisker_eq]
+    category.assoc (homology'IsoKernelDesc _ _ _).Hom _ _, ← homology'.ι, ← category.assoc,
+    homology'.π'_ι, category.assoc, ← category.assoc (cokernel.π _), cokernel.π_desc, whisker_eq]
   convert category.id_comp (cokernel.π _)
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv
 -/
@@ -285,8 +285,8 @@ theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteL
     category.assoc _ _ (F.right_derived_obj_iso 0 P).Hom, iso.inv_hom_id, category.comp_id, ←
     category.assoc, ← category.assoc, is_iso.comp_inv_eq, category.id_comp]
   ext
-  simp only [limits.kernel.lift_ι_assoc, category.assoc, limits.kernel.lift_ι, homology.lift]
-  rw [← category.assoc, ← category.assoc, category.assoc _ _ (homologyIsoKernelDesc _ _ _).Hom]
+  simp only [limits.kernel.lift_ι_assoc, category.assoc, limits.kernel.lift_ι, homology'.lift]
+  rw [← category.assoc, ← category.assoc, category.assoc _ _ (homology'IsoKernelDesc _ _ _).Hom]
   simp
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_comp
 -/
@@ -318,12 +318,12 @@ theorem rightDerivedZeroToSelf_natural [EnoughInjectives C] {X : C} {Y : C} (f :
     category.assoc, category.assoc, category.assoc, category.assoc, iso.inv_hom_id,
     category.comp_id, ← category.assoc (F.right_derived_obj_iso 0 P).inv, iso.inv_hom_id,
     category.id_comp]
-  dsimp only [homologyFunctor_map]
+  dsimp only [homology'Functor_map]
   ext
-  rw [category.assoc, homology.lift_ι, category.assoc, homology.map_ι, ←
-    category.assoc (homology.lift _ _ _ _ _) _ _, homology.lift_ι, category.assoc, cokernel.π_desc,
-    ← category.assoc, ← functor.map_comp, ← category.assoc, HomologicalComplex.Hom.sqFrom_left,
-    map_homological_complex_map_f, ← functor.map_comp,
+  rw [category.assoc, homology'.lift_ι, category.assoc, homology'.map_ι, ←
+    category.assoc (homology'.lift _ _ _ _ _) _ _, homology'.lift_ι, category.assoc,
+    cokernel.π_desc, ← category.assoc, ← functor.map_comp, ← category.assoc,
+    HomologicalComplex.Hom.sqFrom_left, map_homological_complex_map_f, ← functor.map_comp,
     show f ≫ Q.ι.f 0 = P.ι.f 0 ≫ (InjectiveResolution.desc f Q P).f 0 from
       HomologicalComplex.congr_hom (InjectiveResolution.desc_commutes f Q P).symm 0]
 #align category_theory.abelian.functor.right_derived_zero_to_self_natural CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_natural
Diff
@@ -3,11 +3,11 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang, Scott Morrison
 -/
-import Mathbin.CategoryTheory.Abelian.InjectiveResolution
-import Mathbin.Algebra.Homology.Additive
-import Mathbin.CategoryTheory.Limits.Constructions.EpiMono
-import Mathbin.CategoryTheory.Abelian.Homology
-import Mathbin.CategoryTheory.Abelian.Exact
+import CategoryTheory.Abelian.InjectiveResolution
+import Algebra.Homology.Additive
+import CategoryTheory.Limits.Constructions.EpiMono
+import CategoryTheory.Abelian.Homology
+import CategoryTheory.Abelian.Exact
 
 #align_import category_theory.abelian.right_derived from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
 
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2022 Jujian Zhang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang, Scott Morrison
-
-! This file was ported from Lean 3 source module category_theory.abelian.right_derived
-! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Abelian.InjectiveResolution
 import Mathbin.Algebra.Homology.Additive
@@ -14,6 +9,8 @@ import Mathbin.CategoryTheory.Limits.Constructions.EpiMono
 import Mathbin.CategoryTheory.Abelian.Homology
 import Mathbin.CategoryTheory.Abelian.Exact
 
+#align_import category_theory.abelian.right_derived from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
+
 /-!
 # Right-derived functors
 
Diff
@@ -75,6 +75,7 @@ def Functor.rightDerived (F : C ⥤ D) [F.Additive] (n : ℕ) : C ⥤ D :=
 #align category_theory.functor.right_derived CategoryTheory.Functor.rightDerived
 -/
 
+#print CategoryTheory.Functor.rightDerivedObjIso /-
 /-- We can compute a right derived functor using a chosen injective resolution. -/
 @[simps]
 def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
@@ -86,7 +87,9 @@ def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
         (F.mapHomotopyEquiv (InjectiveResolution.homotopyEquiv _ P))) ≪≫
     (HomotopyCategory.homologyFactors D _ n).app _
 #align category_theory.functor.right_derived_obj_iso CategoryTheory.Functor.rightDerivedObjIso
+-/
 
+#print CategoryTheory.Functor.rightDerivedObjInjectiveZero /-
 /-- The 0-th derived functor of `F` on an injective object `X` is just `F.obj X`. -/
 @[simps]
 def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Injective X] :
@@ -95,9 +98,11 @@ def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Inj
     (homologyFunctor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
       (CochainComplex.homologyFunctor0Single₀ D).app (F.obj X)
 #align category_theory.functor.right_derived_obj_injective_zero CategoryTheory.Functor.rightDerivedObjInjectiveZero
+-/
 
 open scoped ZeroObject
 
+#print CategoryTheory.Functor.rightDerivedObjInjectiveSucc /-
 /-- The higher derived functors vanish on injective objects. -/
 @[simps inv]
 def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X : C) [Injective X] :
@@ -106,7 +111,9 @@ def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X
     (homologyFunctor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
       (CochainComplex.homologyFunctorSuccSingle₀ D n).app (F.obj X) ≪≫ (Functor.zero_obj _).isoZero
 #align category_theory.functor.right_derived_obj_injective_succ CategoryTheory.Functor.rightDerivedObjInjectiveSucc
+-/
 
+#print CategoryTheory.Functor.rightDerived_map_eq /-
 /-- We can compute a right derived functor on a morphism using a descent of that morphism
 to a cochain map between chosen injective resolutions.
 -/
@@ -133,6 +140,7 @@ theorem Functor.rightDerived_map_eq (F : C ⥤ D) [F.Additive] (n : ℕ) {X Y :
     rw [← category.assoc, w, category.assoc]
     simp only [InjectiveResolution.homotopy_equiv_inv_ι]
 #align category_theory.functor.right_derived_map_eq CategoryTheory.Functor.rightDerived_map_eq
+-/
 
 #print CategoryTheory.NatTrans.rightDerived /-
 /-- The natural transformation between right-derived functors induced by a natural transformation.-/
@@ -144,18 +152,23 @@ def NatTrans.rightDerived {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶
 #align category_theory.nat_trans.right_derived CategoryTheory.NatTrans.rightDerived
 -/
 
+#print CategoryTheory.NatTrans.rightDerived_id /-
 @[simp]
 theorem NatTrans.rightDerived_id (F : C ⥤ D) [F.Additive] (n : ℕ) :
     NatTrans.rightDerived (𝟙 F) n = 𝟙 (F.rightDerived n) := by simp [nat_trans.right_derived]; rfl
 #align category_theory.nat_trans.right_derived_id CategoryTheory.NatTrans.rightDerived_id
+-/
 
+#print CategoryTheory.NatTrans.rightDerived_comp /-
 @[simp, nolint simp_nf]
 theorem NatTrans.rightDerived_comp {F G H : C ⥤ D} [F.Additive] [G.Additive] [H.Additive]
     (α : F ⟶ G) (β : G ⟶ H) (n : ℕ) :
     NatTrans.rightDerived (α ≫ β) n = NatTrans.rightDerived α n ≫ NatTrans.rightDerived β n := by
   simp [nat_trans.right_derived]
 #align category_theory.nat_trans.right_derived_comp CategoryTheory.NatTrans.rightDerived_comp
+-/
 
+#print CategoryTheory.NatTrans.rightDerived_eq /-
 /-- A component of the natural transformation between right-derived functors can be computed
 using a chosen injective resolution.
 -/
@@ -179,6 +192,7 @@ theorem NatTrans.rightDerived_eq {F G : C ⥤ D} [F.Additive] [G.Additive] (α :
   apply functor.map_homotopy
   apply HomotopyEquiv.homotopyHomInvId
 #align category_theory.nat_trans.right_derived_eq CategoryTheory.NatTrans.rightDerived_eq
+-/
 
 end CategoryTheory
 
@@ -198,6 +212,7 @@ open CategoryTheory.Preadditive
 
 variable [Abelian C] [Abelian D] [Additive F]
 
+#print CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono /-
 /-- If `preserves_finite_limits F` and `mono f`, then `exact (F.map f) (F.map g)` if
 `exact f g`. -/
 theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits F] [Mono f]
@@ -205,7 +220,9 @@ theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits
   Abelian.exact_of_is_kernel _ _ (by simp [← functor.map_comp, ex.w]) <|
     Limits.isLimitForkMapOfIsLimit' _ ex.w (Abelian.isLimitOfExactOfMono _ _ ex)
 #align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono
+-/
 
+#print CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution /-
 theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
     Exact (F.map (P.ι.f 0))
       (((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).dFrom 0) :=
@@ -215,7 +232,9 @@ theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesF
     (by rw [iso.refl_hom, category.id_comp, iso.symm_hom, HomologicalComplex.dFrom_eq] <;> congr)
     (preserves_exact_of_preserves_finite_limits_of_mono _ P.exact₀)
 #align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution
+-/
 
+#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp /-
 /-- Given `P : InjectiveResolution X`, a morphism `(F.right_derived 0).obj X ⟶ F.obj X` given
 `preserves_finite_limits F`. -/
 def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
@@ -225,7 +244,9 @@ def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X
       kernel.map _ _ (cokernel.desc _ (𝟙 _) (by simp)) (𝟙 _) (by ext; simp) ≫
         (asIso (kernel.lift _ _ (exact_of_map_injective_resolution F P).w)).inv
 #align category_theory.abelian.functor.right_derived_zero_to_self_app CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp
+-/
 
+#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv /-
 /-- Given `P : InjectiveResolution X`, a morphism `F.obj X ⟶ (F.right_derived 0).obj X`. -/
 def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveResolution X) :
     F.obj X ⟶ (F.rightDerived 0).obj X :=
@@ -237,7 +258,9 @@ def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveReso
         simp only [InjectiveResolution.ι_f_zero_comp_complex_d, functor.map_zero, zero_comp]) ≫
     (rightDerivedObjIso F 0 P).inv
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv
+-/
 
+#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv /-
 theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) :
     right_derived_zero_to_self_app F P ≫ right_derived_zero_to_self_app_inv F P = 𝟙 _ :=
@@ -253,7 +276,9 @@ theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFinite
     homology.π'_ι, category.assoc, ← category.assoc (cokernel.π _), cokernel.π_desc, whisker_eq]
   convert category.id_comp (cokernel.π _)
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv
+-/
 
+#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_comp /-
 theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) :
     right_derived_zero_to_self_app_inv F P ≫ right_derived_zero_to_self_app F P = 𝟙 _ :=
@@ -267,7 +292,9 @@ theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteL
   rw [← category.assoc, ← category.assoc, category.assoc _ _ (homologyIsoKernelDesc _ _ _).Hom]
   simp
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_comp
+-/
 
+#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso /-
 /-- Given `P : InjectiveResolution X`, the isomorphism `(F.right_derived 0).obj X ≅ F.obj X` if
 `preserves_finite_limits F`. -/
 def rightDerivedZeroToSelfAppIso [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
@@ -278,7 +305,9 @@ def rightDerivedZeroToSelfAppIso [EnoughInjectives C] [PreservesFiniteLimits F]
   hom_inv_id' := right_derived_zero_to_self_app_comp_inv _ P
   inv_hom_id' := right_derived_zero_to_self_app_inv_comp _ P
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_iso CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso
+-/
 
+#print CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_natural /-
 /-- Given `P : InjectiveResolution X` and `Q : InjectiveResolution Y` and a morphism `f : X ⟶ Y`,
 naturality of the square given by `right_derived_zero_to_self_natural`. -/
 theorem rightDerivedZeroToSelf_natural [EnoughInjectives C] {X : C} {Y : C} (f : X ⟶ Y)
@@ -301,6 +330,7 @@ theorem rightDerivedZeroToSelf_natural [EnoughInjectives C] {X : C} {Y : C} (f :
     show f ≫ Q.ι.f 0 = P.ι.f 0 ≫ (InjectiveResolution.desc f Q P).f 0 from
       HomologicalComplex.congr_hom (InjectiveResolution.desc_commutes f Q P).symm 0]
 #align category_theory.abelian.functor.right_derived_zero_to_self_natural CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_natural
+-/
 
 #print CategoryTheory.Abelian.Functor.rightDerivedZeroIsoSelf /-
 /-- Given `preserves_finite_limits F`, the natural isomorphism `(F.right_derived 0) ≅ F`. -/
Diff
@@ -212,7 +212,7 @@ theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesF
   Preadditive.exact_of_iso_of_exact' (F.map (P.ι.f 0)) (F.map (P.cocomplex.d 0 1)) _ _ (Iso.refl _)
     (Iso.refl _)
     (HomologicalComplex.xNextIso ((F.mapHomologicalComplex _).obj P.cocomplex) rfl).symm (by simp)
-    (by rw [iso.refl_hom, category.id_comp, iso.symm_hom, HomologicalComplex.dFrom_eq] <;> congr )
+    (by rw [iso.refl_hom, category.id_comp, iso.symm_hom, HomologicalComplex.dFrom_eq] <;> congr)
     (preserves_exact_of_preserves_finite_limits_of_mono _ P.exact₀)
 #align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution
 
Diff
@@ -96,7 +96,7 @@ def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Inj
       (CochainComplex.homologyFunctor0Single₀ D).app (F.obj X)
 #align category_theory.functor.right_derived_obj_injective_zero CategoryTheory.Functor.rightDerivedObjInjectiveZero
 
-open ZeroObject
+open scoped ZeroObject
 
 /-- The higher derived functors vanish on injective objects. -/
 @[simps inv]
Diff
@@ -75,9 +75,6 @@ def Functor.rightDerived (F : C ⥤ D) [F.Additive] (n : ℕ) : C ⥤ D :=
 #align category_theory.functor.right_derived CategoryTheory.Functor.rightDerived
 -/
 
-/- warning: category_theory.functor.right_derived_obj_iso -> CategoryTheory.Functor.rightDerivedObjIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.right_derived_obj_iso CategoryTheory.Functor.rightDerivedObjIsoₓ'. -/
 /-- We can compute a right derived functor using a chosen injective resolution. -/
 @[simps]
 def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
@@ -90,12 +87,6 @@ def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
     (HomotopyCategory.homologyFactors D _ n).app _
 #align category_theory.functor.right_derived_obj_iso CategoryTheory.Functor.rightDerivedObjIso
 
-/- warning: category_theory.functor.right_derived_obj_injective_zero -> CategoryTheory.Functor.rightDerivedObjInjectiveZero is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjInjectiveZero._proof_1.{u2, u1} C _inst_1 _inst_3)] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (X : C) [_inst_7 : CategoryTheory.Injective.{u1, u2} C _inst_1 X], CategoryTheory.Iso.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 F X)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (X : C) [_inst_7 : CategoryTheory.Injective.{u1, u2} C _inst_1 X], CategoryTheory.Iso.{u4, u3} D _inst_2 (Prefunctor.obj.{succ u1, succ u4, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u4, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u3} C _inst_1 D _inst_2 F) X)
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.right_derived_obj_injective_zero CategoryTheory.Functor.rightDerivedObjInjectiveZeroₓ'. -/
 /-- The 0-th derived functor of `F` on an injective object `X` is just `F.obj X`. -/
 @[simps]
 def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Injective X] :
@@ -107,12 +98,6 @@ def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Inj
 
 open ZeroObject
 
-/- warning: category_theory.functor.right_derived_obj_injective_succ -> CategoryTheory.Functor.rightDerivedObjInjectiveSucc is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjInjectiveSucc._proof_1.{u2, u1} C _inst_1 _inst_3)] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat) (X : C) [_inst_7 : CategoryTheory.Injective.{u1, u2} C _inst_1 X], CategoryTheory.Iso.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X) (OfNat.ofNat.{u3} D 0 (OfNat.mk.{u3} D 0 (Zero.zero.{u3} D (CategoryTheory.Limits.HasZeroObject.zero'.{u4, u3} D _inst_2 (CategoryTheory.Abelian.hasZeroObject.{u4, u3} D _inst_2 _inst_5)))))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat) (X : C) [_inst_7 : CategoryTheory.Injective.{u1, u2} C _inst_1 X], CategoryTheory.Iso.{u4, u3} D _inst_2 (Prefunctor.obj.{succ u1, succ u4, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) X) (OfNat.ofNat.{u3} D 0 (Zero.toOfNat0.{u3} D (CategoryTheory.Limits.HasZeroObject.zero'.{u4, u3} D _inst_2 (CategoryTheory.Abelian.hasZeroObject.{u4, u3} D _inst_2 _inst_5))))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.right_derived_obj_injective_succ CategoryTheory.Functor.rightDerivedObjInjectiveSuccₓ'. -/
 /-- The higher derived functors vanish on injective objects. -/
 @[simps inv]
 def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X : C) [Injective X] :
@@ -122,9 +107,6 @@ def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X
       (CochainComplex.homologyFunctorSuccSingle₀ D n).app (F.obj X) ≪≫ (Functor.zero_obj _).isoZero
 #align category_theory.functor.right_derived_obj_injective_succ CategoryTheory.Functor.rightDerivedObjInjectiveSucc
 
-/- warning: category_theory.functor.right_derived_map_eq -> CategoryTheory.Functor.rightDerived_map_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.right_derived_map_eq CategoryTheory.Functor.rightDerived_map_eqₓ'. -/
 /-- We can compute a right derived functor on a morphism using a descent of that morphism
 to a cochain map between chosen injective resolutions.
 -/
@@ -162,20 +144,11 @@ def NatTrans.rightDerived {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶
 #align category_theory.nat_trans.right_derived CategoryTheory.NatTrans.rightDerived
 -/
 
-/- warning: category_theory.nat_trans.right_derived_id -> CategoryTheory.NatTrans.rightDerived_id is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat), Eq.{succ (max u2 u4)} (Quiver.Hom.{succ (max u2 u4), max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) (CategoryTheory.NatTrans.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F F _inst_6 _inst_6 (CategoryTheory.CategoryStruct.id.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2)) F) n) (CategoryTheory.CategoryStruct.id.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n))
-but is expected to have type
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Abelian.{u3, u4} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F] (n : Nat), Eq.{max (succ u4) (succ u2)} (Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) (CategoryTheory.NatTrans.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F F _inst_6 _inst_6 (CategoryTheory.CategoryStruct.id.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2)) F) n) (CategoryTheory.CategoryStruct.id.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n))
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.right_derived_id CategoryTheory.NatTrans.rightDerived_idₓ'. -/
 @[simp]
 theorem NatTrans.rightDerived_id (F : C ⥤ D) [F.Additive] (n : ℕ) :
     NatTrans.rightDerived (𝟙 F) n = 𝟙 (F.rightDerived n) := by simp [nat_trans.right_derived]; rfl
 #align category_theory.nat_trans.right_derived_id CategoryTheory.NatTrans.rightDerived_id
 
-/- warning: category_theory.nat_trans.right_derived_comp -> CategoryTheory.NatTrans.rightDerived_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.right_derived_comp CategoryTheory.NatTrans.rightDerived_compₓ'. -/
 @[simp, nolint simp_nf]
 theorem NatTrans.rightDerived_comp {F G H : C ⥤ D} [F.Additive] [G.Additive] [H.Additive]
     (α : F ⟶ G) (β : G ⟶ H) (n : ℕ) :
@@ -183,9 +156,6 @@ theorem NatTrans.rightDerived_comp {F G H : C ⥤ D} [F.Additive] [G.Additive] [
   simp [nat_trans.right_derived]
 #align category_theory.nat_trans.right_derived_comp CategoryTheory.NatTrans.rightDerived_comp
 
-/- warning: category_theory.nat_trans.right_derived_eq -> CategoryTheory.NatTrans.rightDerived_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.right_derived_eq CategoryTheory.NatTrans.rightDerived_eqₓ'. -/
 /-- A component of the natural transformation between right-derived functors can be computed
 using a chosen injective resolution.
 -/
@@ -228,12 +198,6 @@ open CategoryTheory.Preadditive
 
 variable [Abelian C] [Abelian D] [Additive F]
 
-/- warning: category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono -> CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) {X : C} {Y : C} {Z : C} {f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y} {g : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Y Z} [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] [_inst_7 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], (CategoryTheory.Exact.{u1, u2} C _inst_1 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasKernels.{u1, u2} C _inst_1 _inst_3) X Y Z f g) -> (CategoryTheory.Exact.{u1, u2} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Abelian.hasKernels.{u1, u2} D _inst_2 _inst_4) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F Y) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F Z) (CategoryTheory.Functor.map.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X Y f) (CategoryTheory.Functor.map.{u1, u1, u2, u2} C _inst_1 D _inst_2 F Y Z g))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) {X : C} {Y : C} {Z : C} {f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y} {g : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Y Z} [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] [_inst_7 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], (CategoryTheory.Exact.{u1, u2} C _inst_1 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3)) X Y Z f g) -> (CategoryTheory.Exact.{u1, u2} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u1, u2} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} D _inst_2 _inst_4)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) Y) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) Z) (Prefunctor.map.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X Y f) (Prefunctor.map.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) Y Z g))
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_monoₓ'. -/
 /-- If `preserves_finite_limits F` and `mono f`, then `exact (F.map f) (F.map g)` if
 `exact f g`. -/
 theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits F] [Mono f]
@@ -242,9 +206,6 @@ theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits
     Limits.isLimitForkMapOfIsLimit' _ ex.w (Abelian.isLimitOfExactOfMono _ _ ex)
 #align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono
 
-/- warning: category_theory.abelian.functor.exact_of_map_injective_resolution -> CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolutionₓ'. -/
 theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
     Exact (F.map (P.ι.f 0))
       (((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).dFrom 0) :=
@@ -255,12 +216,6 @@ theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesF
     (preserves_exact_of_preserves_finite_limits_of_mono _ P.exact₀)
 #align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution
 
-/- warning: category_theory.abelian.functor.right_derived_zero_to_self_app -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp._proof_1.{u2, u1} C _inst_1 _inst_3) X) -> (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) -> (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppₓ'. -/
 /-- Given `P : InjectiveResolution X`, a morphism `(F.right_derived 0).obj X ⟶ F.obj X` given
 `preserves_finite_limits F`. -/
 def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
@@ -271,12 +226,6 @@ def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X
         (asIso (kernel.lift _ _ (exact_of_map_injective_resolution F P).w)).inv
 #align category_theory.abelian.functor.right_derived_zero_to_self_app CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp
 
-/- warning: category_theory.abelian.functor.right_derived_zero_to_self_app_inv -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv._proof_1.{u2, u1} C _inst_1 _inst_3) X) -> (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) -> (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInvₓ'. -/
 /-- Given `P : InjectiveResolution X`, a morphism `F.obj X ⟶ (F.right_derived 0).obj X`. -/
 def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveResolution X) :
     F.obj X ⟶ (F.rightDerived 0).obj X :=
@@ -289,9 +238,6 @@ def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveReso
     (rightDerivedObjIso F 0 P).inv
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv
 
-/- warning: category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_invₓ'. -/
 theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) :
     right_derived_zero_to_self_app F P ≫ right_derived_zero_to_self_app_inv F P = 𝟙 _ :=
@@ -308,9 +254,6 @@ theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFinite
   convert category.id_comp (cokernel.π _)
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv
 
-/- warning: category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_compₓ'. -/
 theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) :
     right_derived_zero_to_self_app_inv F P ≫ right_derived_zero_to_self_app F P = 𝟙 _ :=
@@ -325,12 +268,6 @@ theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteL
   simp
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_comp
 
-/- warning: category_theory.abelian.functor.right_derived_zero_to_self_app_iso -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso._proof_1.{u2, u1} C _inst_1 _inst_3) X) -> (CategoryTheory.Iso.{u1, u2} D _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) -> (CategoryTheory.Iso.{u1, u2} D _inst_2 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app_iso CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIsoₓ'. -/
 /-- Given `P : InjectiveResolution X`, the isomorphism `(F.right_derived 0).obj X ≅ F.obj X` if
 `preserves_finite_limits F`. -/
 def rightDerivedZeroToSelfAppIso [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
@@ -342,9 +279,6 @@ def rightDerivedZeroToSelfAppIso [EnoughInjectives C] [PreservesFiniteLimits F]
   inv_hom_id' := right_derived_zero_to_self_app_inv_comp _ P
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_iso CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso
 
-/- warning: category_theory.abelian.functor.right_derived_zero_to_self_natural -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_natural is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_natural CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_naturalₓ'. -/
 /-- Given `P : InjectiveResolution X` and `Q : InjectiveResolution Y` and a morphism `f : X ⟶ Y`,
 naturality of the square given by `right_derived_zero_to_self_natural`. -/
 theorem rightDerivedZeroToSelf_natural [EnoughInjectives C] {X : C} {Y : C} (f : X ⟶ Y)
Diff
@@ -170,10 +170,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.right_derived_id CategoryTheory.NatTrans.rightDerived_idₓ'. -/
 @[simp]
 theorem NatTrans.rightDerived_id (F : C ⥤ D) [F.Additive] (n : ℕ) :
-    NatTrans.rightDerived (𝟙 F) n = 𝟙 (F.rightDerived n) :=
-  by
-  simp [nat_trans.right_derived]
-  rfl
+    NatTrans.rightDerived (𝟙 F) n = 𝟙 (F.rightDerived n) := by simp [nat_trans.right_derived]; rfl
 #align category_theory.nat_trans.right_derived_id CategoryTheory.NatTrans.rightDerived_id
 
 /- warning: category_theory.nat_trans.right_derived_comp -> CategoryTheory.NatTrans.rightDerived_comp is a dubious translation:
@@ -270,10 +267,7 @@ def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X
     (P : InjectiveResolution X) : (F.rightDerived 0).obj X ⟶ F.obj X :=
   (rightDerivedObjIso F 0 P).Hom ≫
     (homologyIsoKernelDesc _ _ _).Hom ≫
-      kernel.map _ _ (cokernel.desc _ (𝟙 _) (by simp)) (𝟙 _)
-          (by
-            ext
-            simp) ≫
+      kernel.map _ _ (cokernel.desc _ (𝟙 _) (by simp)) (𝟙 _) (by ext; simp) ≫
         (asIso (kernel.lift _ _ (exact_of_map_injective_resolution F P).w)).inv
 #align category_theory.abelian.functor.right_derived_zero_to_self_app CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang, Scott Morrison
 
 ! This file was ported from Lean 3 source module category_theory.abelian.right_derived
-! leanprover-community/mathlib commit 024a4231815538ac739f52d08dd20a55da0d6b23
+! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -17,6 +17,9 @@ import Mathbin.CategoryTheory.Abelian.Exact
 /-!
 # Right-derived functors
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We define the right-derived functors `F.right_derived n : C ⥤ D` for any additive functor `F`
 out of a category with injective resolutions.
 
@@ -73,10 +76,7 @@ def Functor.rightDerived (F : C ⥤ D) [F.Additive] (n : ℕ) : C ⥤ D :=
 -/
 
 /- warning: category_theory.functor.right_derived_obj_iso -> CategoryTheory.Functor.rightDerivedObjIso is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_1.{u2, u1} C _inst_1 _inst_3)] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat) {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_2.{u2, u1} C _inst_1 _inst_3) X), CategoryTheory.Iso.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P)))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat) {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), CategoryTheory.Iso.{u4, u3} D _inst_2 (Prefunctor.obj.{succ u1, succ u4, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.obj.{succ u4, succ u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u3 u4} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u4, max u3 u4} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u4, u3} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u4, u3} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u1, succ u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u3 u4} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u4, max u3 u4} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.right_derived_obj_iso CategoryTheory.Functor.rightDerivedObjIsoₓ'. -/
 /-- We can compute a right derived functor using a chosen injective resolution. -/
 @[simps]
@@ -123,10 +123,7 @@ def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X
 #align category_theory.functor.right_derived_obj_injective_succ CategoryTheory.Functor.rightDerivedObjInjectiveSucc
 
 /- warning: category_theory.functor.right_derived_map_eq -> CategoryTheory.Functor.rightDerived_map_eq is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat) {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Y X) {P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X} {Q : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y} (g : Quiver.Hom.{succ u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)), (Eq.{succ u1} (Quiver.Hom.{succ u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) Y) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (CategoryTheory.CategoryStruct.comp.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne))) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) Y) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (CategoryTheory.InjectiveResolution.ι.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y Q) g) (CategoryTheory.CategoryStruct.comp.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne))) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) Y) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) X) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (CategoryTheory.Functor.map.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) Y X f) (CategoryTheory.InjectiveResolution.ι.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P))) -> (Eq.{succ u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) Y) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X)) (CategoryTheory.Functor.map.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) Y X f) (CategoryTheory.CategoryStruct.comp.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) Y) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) Y Q))) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Iso.hom.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) Y) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) Y Q))) (CategoryTheory.Functor.rightDerivedObjIso.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n Y Q)) (CategoryTheory.CategoryStruct.comp.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) Y Q))) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5))) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P))) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.map.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5))) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) Y Q)) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (CategoryTheory.Functor.map.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) g)) (CategoryTheory.Iso.inv.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n X P)))))
-but is expected to have type
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Abelian.{u3, u4} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F] (n : Nat) {X : C} {Y : C} (f : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) Y X) {P : CategoryTheory.InjectiveResolution.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X} {Q : CategoryTheory.InjectiveResolution.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y} (g : Quiver.Hom.{succ u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P)), (Eq.{succ u3} (Quiver.Hom.{succ u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u3, succ u3, u4, max u4 u3} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, max u4 u3} C _inst_1 (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u3, u4} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3))) Y) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P)) (CategoryTheory.CategoryStruct.comp.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (Prefunctor.obj.{succ u3, succ u3, u4, max u4 u3} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, max u4 u3} C _inst_1 (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u3, u4} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3))) Y) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P) (CategoryTheory.InjectiveResolution.ι.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q) g) (CategoryTheory.CategoryStruct.comp.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (Prefunctor.obj.{succ u3, succ u3, u4, max u4 u3} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, max u4 u3} C _inst_1 (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u3, u4} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3))) Y) (Prefunctor.obj.{succ u3, succ u3, u4, max u4 u3} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, max u4 u3} C _inst_1 (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u3, u4} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3))) X) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P) (Prefunctor.map.{succ u3, succ u3, u4, max u4 u3} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, max u4 u3} C _inst_1 (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u3, u4} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3))) Y X f) (CategoryTheory.InjectiveResolution.ι.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) -> (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) Y) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X)) (Prefunctor.map.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) Y X f) (CategoryTheory.CategoryStruct.comp.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) Y) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q))) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (CategoryTheory.Iso.hom.{u2, u1} D _inst_2 (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) Y) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q))) (CategoryTheory.Functor.rightDerivedObjIso.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n Y Q)) (CategoryTheory.CategoryStruct.comp.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q))) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.map.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P)) (Prefunctor.map.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P) g)) (CategoryTheory.Iso.inv.{u2, u1} D _inst_2 (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n X P)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.right_derived_map_eq CategoryTheory.Functor.rightDerived_map_eqₓ'. -/
 /-- We can compute a right derived functor on a morphism using a descent of that morphism
 to a cochain map between chosen injective resolutions.
@@ -180,10 +177,7 @@ theorem NatTrans.rightDerived_id (F : C ⥤ D) [F.Additive] (n : ℕ) :
 #align category_theory.nat_trans.right_derived_id CategoryTheory.NatTrans.rightDerived_id
 
 /- warning: category_theory.nat_trans.right_derived_comp -> CategoryTheory.NatTrans.rightDerived_comp is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] {F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2} {H : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2} [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] [_inst_7 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G] [_inst_8 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) H] (α : Quiver.Hom.{succ (max u2 u4), max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) F G) (β : Quiver.Hom.{succ (max u2 u4), max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) G H) (n : Nat), Eq.{succ (max u2 u4)} (Quiver.Hom.{succ (max u2 u4), max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 H _inst_8 n)) (CategoryTheory.NatTrans.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F H _inst_6 _inst_8 (CategoryTheory.CategoryStruct.comp.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2)) F G H α β) n) (CategoryTheory.CategoryStruct.comp.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 H _inst_8 n) (CategoryTheory.NatTrans.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F G _inst_6 _inst_7 α n) (CategoryTheory.NatTrans.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G H _inst_7 _inst_8 β n))
-but is expected to have type
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Abelian.{u3, u4} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u2, u1} D _inst_2] {F : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2} {H : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2} [_inst_6 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F] [_inst_7 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G] [_inst_8 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) H] (α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) F G) (β : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) G H) (n : Nat), Eq.{max (succ u4) (succ u2)} (Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 H _inst_8 n)) (CategoryTheory.NatTrans.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F H _inst_6 _inst_8 (CategoryTheory.CategoryStruct.comp.{max u2 u4, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2)) F G H α β) n) (CategoryTheory.CategoryStruct.comp.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 H _inst_8 n) (CategoryTheory.NatTrans.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F G _inst_6 _inst_7 α n) (CategoryTheory.NatTrans.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G H _inst_7 _inst_8 β n))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.right_derived_comp CategoryTheory.NatTrans.rightDerived_compₓ'. -/
 @[simp, nolint simp_nf]
 theorem NatTrans.rightDerived_comp {F G H : C ⥤ D} [F.Additive] [G.Additive] [H.Additive]
@@ -193,10 +187,7 @@ theorem NatTrans.rightDerived_comp {F G H : C ⥤ D} [F.Additive] [G.Additive] [
 #align category_theory.nat_trans.right_derived_comp CategoryTheory.NatTrans.rightDerived_comp
 
 /- warning: category_theory.nat_trans.right_derived_eq -> CategoryTheory.NatTrans.rightDerived_eq is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] {F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2} [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] [_inst_7 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G] (α : Quiver.Hom.{succ (max u2 u4), max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) F G) (n : Nat) {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), Eq.{succ u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) X)) (CategoryTheory.NatTrans.app.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) (CategoryTheory.NatTrans.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F G _inst_6 _inst_7 α n) X) (CategoryTheory.CategoryStruct.comp.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) X) (CategoryTheory.Iso.hom.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n X P)) (CategoryTheory.CategoryStruct.comp.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5))) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) X) (CategoryTheory.Functor.map.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5))) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P)) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P)) (CategoryTheory.NatTrans.app.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.NatTrans.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F G _inst_6 _inst_7 α (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P))) (CategoryTheory.Iso.inv.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) X) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n X P))))
-but is expected to have type
-  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Abelian.{u3, u4} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u2, u1} D _inst_2] {F : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2} [_inst_6 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F] [_inst_7 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G] (α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) F G) (n : Nat) {X : C} (P : CategoryTheory.InjectiveResolution.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X), Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n)) X)) (CategoryTheory.NatTrans.app.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) (CategoryTheory.NatTrans.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F G _inst_6 _inst_7 α n) X) (CategoryTheory.CategoryStruct.comp.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n)) X) (CategoryTheory.Iso.hom.{u2, u1} D _inst_2 (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n X P)) (CategoryTheory.CategoryStruct.comp.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n)) X) (Prefunctor.map.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P)) (CategoryTheory.NatTrans.app.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.NatTrans.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F G _inst_6 _inst_7 α (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (CategoryTheory.Iso.inv.{u2, u1} D _inst_2 (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n)) X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n X P))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.right_derived_eq CategoryTheory.NatTrans.rightDerived_eqₓ'. -/
 /-- A component of the natural transformation between right-derived functors can be computed
 using a chosen injective resolution.
@@ -255,10 +246,7 @@ theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits
 #align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono
 
 /- warning: category_theory.abelian.functor.exact_of_map_injective_resolution -> CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) {X : C} [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) [_inst_6 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F], CategoryTheory.Exact.{u1, u2} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Abelian.hasKernels.{u1, u2} D _inst_2 _inst_4) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F (HomologicalComplex.x.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) X) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F (HomologicalComplex.x.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (HomologicalComplex.xNext.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u2, u1} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F _inst_5 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (CategoryTheory.Functor.map.{u1, u1, u2, u2} C _inst_1 D _inst_2 F (HomologicalComplex.x.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) X) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) X) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (CategoryTheory.InjectiveResolution.ι.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (HomologicalComplex.dFrom.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u2, u1} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F _inst_5 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) {X : C} [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) [_inst_6 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F], CategoryTheory.Exact.{u1, u2} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u1, u2} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} D _inst_2 _inst_4)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) (HomologicalComplex.X.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u1, succ u1, u2, max u2 u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3))) X) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) (HomologicalComplex.X.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (HomologicalComplex.xNext.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u2, u1} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F _inst_5 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Prefunctor.map.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) (HomologicalComplex.X.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u1, succ u1, u2, max u2 u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3))) X) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u1, succ u1, u2, max u2 u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3))) X) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (CategoryTheory.InjectiveResolution.ι.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (HomologicalComplex.dFrom.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u2, u1} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F _inst_5 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolutionₓ'. -/
 theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
     Exact (F.map (P.ι.f 0))
@@ -308,10 +296,7 @@ def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveReso
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv
 
 /- warning: category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 X P) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P)) (CategoryTheory.CategoryStruct.id.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 X P) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P)) (CategoryTheory.CategoryStruct.id.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_invₓ'. -/
 theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) :
@@ -330,10 +315,7 @@ theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFinite
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv
 
 /- warning: category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_comp is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 X P)) (CategoryTheory.CategoryStruct.id.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 X P)) (CategoryTheory.CategoryStruct.id.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_compₓ'. -/
 theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) :
@@ -367,10 +349,7 @@ def rightDerivedZeroToSelfAppIso [EnoughInjectives C] [PreservesFiniteLimits F]
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_iso CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso
 
 /- warning: category_theory.abelian.functor.right_derived_zero_to_self_natural -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_natural is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) (Q : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F Y) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y) (CategoryTheory.Functor.map.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X Y f) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 Y Q)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P) (CategoryTheory.Functor.map.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X Y f))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) (Q : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) Y)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) Y) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) Y) (Prefunctor.map.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X Y f) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 Y Q)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) Y) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P) (Prefunctor.map.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X Y f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_natural CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_naturalₓ'. -/
 /-- Given `P : InjectiveResolution X` and `Q : InjectiveResolution Y` and a morphism `f : X ⟶ Y`,
 naturality of the square given by `right_derived_zero_to_self_natural`. -/
Diff
@@ -65,11 +65,19 @@ variable {C : Type u} [Category.{v} C] {D : Type _} [Category D]
 
 variable [Abelian C] [HasInjectiveResolutions C] [Abelian D]
 
+#print CategoryTheory.Functor.rightDerived /-
 /-- The right derived functors of an additive functor. -/
 def Functor.rightDerived (F : C ⥤ D) [F.Additive] (n : ℕ) : C ⥤ D :=
   injectiveResolutions C ⋙ F.mapHomotopyCategory _ ⋙ HomotopyCategory.homologyFunctor D _ n
 #align category_theory.functor.right_derived CategoryTheory.Functor.rightDerived
+-/
 
+/- warning: category_theory.functor.right_derived_obj_iso -> CategoryTheory.Functor.rightDerivedObjIso is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_1.{u2, u1} C _inst_1 _inst_3)] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat) {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_2.{u2, u1} C _inst_1 _inst_3) X), CategoryTheory.Iso.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P)))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat) {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), CategoryTheory.Iso.{u4, u3} D _inst_2 (Prefunctor.obj.{succ u1, succ u4, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.obj.{succ u4, succ u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u3 u4} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u4, max u3 u4} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u4, u3} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u4, u3} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u1, succ u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u3 u4} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u4, max u3 u4} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.right_derived_obj_iso CategoryTheory.Functor.rightDerivedObjIsoₓ'. -/
 /-- We can compute a right derived functor using a chosen injective resolution. -/
 @[simps]
 def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
@@ -82,6 +90,12 @@ def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
     (HomotopyCategory.homologyFactors D _ n).app _
 #align category_theory.functor.right_derived_obj_iso CategoryTheory.Functor.rightDerivedObjIso
 
+/- warning: category_theory.functor.right_derived_obj_injective_zero -> CategoryTheory.Functor.rightDerivedObjInjectiveZero is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjInjectiveZero._proof_1.{u2, u1} C _inst_1 _inst_3)] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (X : C) [_inst_7 : CategoryTheory.Injective.{u1, u2} C _inst_1 X], CategoryTheory.Iso.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 F X)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (X : C) [_inst_7 : CategoryTheory.Injective.{u1, u2} C _inst_1 X], CategoryTheory.Iso.{u4, u3} D _inst_2 (Prefunctor.obj.{succ u1, succ u4, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u4, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u3} C _inst_1 D _inst_2 F) X)
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.right_derived_obj_injective_zero CategoryTheory.Functor.rightDerivedObjInjectiveZeroₓ'. -/
 /-- The 0-th derived functor of `F` on an injective object `X` is just `F.obj X`. -/
 @[simps]
 def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Injective X] :
@@ -93,6 +107,12 @@ def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Inj
 
 open ZeroObject
 
+/- warning: category_theory.functor.right_derived_obj_injective_succ -> CategoryTheory.Functor.rightDerivedObjInjectiveSucc is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjInjectiveSucc._proof_1.{u2, u1} C _inst_1 _inst_3)] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat) (X : C) [_inst_7 : CategoryTheory.Injective.{u1, u2} C _inst_1 X], CategoryTheory.Iso.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X) (OfNat.ofNat.{u3} D 0 (OfNat.mk.{u3} D 0 (Zero.zero.{u3} D (CategoryTheory.Limits.HasZeroObject.zero'.{u4, u3} D _inst_2 (CategoryTheory.Abelian.hasZeroObject.{u4, u3} D _inst_2 _inst_5)))))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat) (X : C) [_inst_7 : CategoryTheory.Injective.{u1, u2} C _inst_1 X], CategoryTheory.Iso.{u4, u3} D _inst_2 (Prefunctor.obj.{succ u1, succ u4, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) X) (OfNat.ofNat.{u3} D 0 (Zero.toOfNat0.{u3} D (CategoryTheory.Limits.HasZeroObject.zero'.{u4, u3} D _inst_2 (CategoryTheory.Abelian.hasZeroObject.{u4, u3} D _inst_2 _inst_5))))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.right_derived_obj_injective_succ CategoryTheory.Functor.rightDerivedObjInjectiveSuccₓ'. -/
 /-- The higher derived functors vanish on injective objects. -/
 @[simps inv]
 def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X : C) [Injective X] :
@@ -102,6 +122,12 @@ def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X
       (CochainComplex.homologyFunctorSuccSingle₀ D n).app (F.obj X) ≪≫ (Functor.zero_obj _).isoZero
 #align category_theory.functor.right_derived_obj_injective_succ CategoryTheory.Functor.rightDerivedObjInjectiveSucc
 
+/- warning: category_theory.functor.right_derived_map_eq -> CategoryTheory.Functor.rightDerived_map_eq is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat) {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Y X) {P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X} {Q : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y} (g : Quiver.Hom.{succ u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)), (Eq.{succ u1} (Quiver.Hom.{succ u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) Y) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (CategoryTheory.CategoryStruct.comp.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne))) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) Y) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (CategoryTheory.InjectiveResolution.ι.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y Q) g) (CategoryTheory.CategoryStruct.comp.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne))) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) Y) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) X) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (CategoryTheory.Functor.map.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) Y X f) (CategoryTheory.InjectiveResolution.ι.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P))) -> (Eq.{succ u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) Y) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X)) (CategoryTheory.Functor.map.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) Y X f) (CategoryTheory.CategoryStruct.comp.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) Y) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) Y Q))) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Iso.hom.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) Y) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) Y Q))) (CategoryTheory.Functor.rightDerivedObjIso.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n Y Q)) (CategoryTheory.CategoryStruct.comp.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) Y Q))) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5))) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P))) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.map.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5))) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) Y Q)) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (CategoryTheory.Functor.map.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) g)) (CategoryTheory.Iso.inv.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n X P)))))
+but is expected to have type
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Abelian.{u3, u4} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F] (n : Nat) {X : C} {Y : C} (f : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) Y X) {P : CategoryTheory.InjectiveResolution.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X} {Q : CategoryTheory.InjectiveResolution.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y} (g : Quiver.Hom.{succ u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P)), (Eq.{succ u3} (Quiver.Hom.{succ u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u3, succ u3, u4, max u4 u3} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, max u4 u3} C _inst_1 (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u3, u4} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3))) Y) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P)) (CategoryTheory.CategoryStruct.comp.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (Prefunctor.obj.{succ u3, succ u3, u4, max u4 u3} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, max u4 u3} C _inst_1 (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u3, u4} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3))) Y) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P) (CategoryTheory.InjectiveResolution.ι.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q) g) (CategoryTheory.CategoryStruct.comp.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (Prefunctor.obj.{succ u3, succ u3, u4, max u4 u3} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, max u4 u3} C _inst_1 (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u3, u4} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3))) Y) (Prefunctor.obj.{succ u3, succ u3, u4, max u4 u3} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, max u4 u3} C _inst_1 (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u3, u4} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3))) X) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P) (Prefunctor.map.{succ u3, succ u3, u4, max u4 u3} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, max u4 u3} C _inst_1 (CochainComplex.{u3, u4, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u3, u4} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3))) Y X f) (CategoryTheory.InjectiveResolution.ι.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) -> (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) Y) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X)) (Prefunctor.map.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) Y X f) (CategoryTheory.CategoryStruct.comp.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) Y) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q))) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (CategoryTheory.Iso.hom.{u2, u1} D _inst_2 (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) Y) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q))) (CategoryTheory.Functor.rightDerivedObjIso.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n Y Q)) (CategoryTheory.CategoryStruct.comp.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q))) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.map.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P)) (Prefunctor.map.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) Y Q) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P) g)) (CategoryTheory.Iso.inv.{u2, u1} D _inst_2 (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n X P)))))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.right_derived_map_eq CategoryTheory.Functor.rightDerived_map_eqₓ'. -/
 /-- We can compute a right derived functor on a morphism using a descent of that morphism
 to a cochain map between chosen injective resolutions.
 -/
@@ -129,6 +155,7 @@ theorem Functor.rightDerived_map_eq (F : C ⥤ D) [F.Additive] (n : ℕ) {X Y :
     simp only [InjectiveResolution.homotopy_equiv_inv_ι]
 #align category_theory.functor.right_derived_map_eq CategoryTheory.Functor.rightDerived_map_eq
 
+#print CategoryTheory.NatTrans.rightDerived /-
 /-- The natural transformation between right-derived functors induced by a natural transformation.-/
 @[simps]
 def NatTrans.rightDerived {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶ G) (n : ℕ) :
@@ -136,7 +163,14 @@ def NatTrans.rightDerived {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶
   whiskerLeft (injectiveResolutions C)
     (whiskerRight (NatTrans.mapHomotopyCategory α _) (HomotopyCategory.homologyFunctor D _ n))
 #align category_theory.nat_trans.right_derived CategoryTheory.NatTrans.rightDerived
+-/
 
+/- warning: category_theory.nat_trans.right_derived_id -> CategoryTheory.NatTrans.rightDerived_id is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] (F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] (n : Nat), Eq.{succ (max u2 u4)} (Quiver.Hom.{succ (max u2 u4), max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) (CategoryTheory.NatTrans.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F F _inst_6 _inst_6 (CategoryTheory.CategoryStruct.id.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2)) F) n) (CategoryTheory.CategoryStruct.id.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n))
+but is expected to have type
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Abelian.{u3, u4} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) [_inst_6 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F] (n : Nat), Eq.{max (succ u4) (succ u2)} (Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) (CategoryTheory.NatTrans.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F F _inst_6 _inst_6 (CategoryTheory.CategoryStruct.id.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2)) F) n) (CategoryTheory.CategoryStruct.id.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.right_derived_id CategoryTheory.NatTrans.rightDerived_idₓ'. -/
 @[simp]
 theorem NatTrans.rightDerived_id (F : C ⥤ D) [F.Additive] (n : ℕ) :
     NatTrans.rightDerived (𝟙 F) n = 𝟙 (F.rightDerived n) :=
@@ -145,6 +179,12 @@ theorem NatTrans.rightDerived_id (F : C ⥤ D) [F.Additive] (n : ℕ) :
   rfl
 #align category_theory.nat_trans.right_derived_id CategoryTheory.NatTrans.rightDerived_id
 
+/- warning: category_theory.nat_trans.right_derived_comp -> CategoryTheory.NatTrans.rightDerived_comp is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] {F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2} {H : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2} [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] [_inst_7 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G] [_inst_8 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) H] (α : Quiver.Hom.{succ (max u2 u4), max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) F G) (β : Quiver.Hom.{succ (max u2 u4), max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) G H) (n : Nat), Eq.{succ (max u2 u4)} (Quiver.Hom.{succ (max u2 u4), max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 H _inst_8 n)) (CategoryTheory.NatTrans.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F H _inst_6 _inst_8 (CategoryTheory.CategoryStruct.comp.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2)) F G H α β) n) (CategoryTheory.CategoryStruct.comp.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 H _inst_8 n) (CategoryTheory.NatTrans.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F G _inst_6 _inst_7 α n) (CategoryTheory.NatTrans.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G H _inst_7 _inst_8 β n))
+but is expected to have type
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Abelian.{u3, u4} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u2, u1} D _inst_2] {F : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2} {H : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2} [_inst_6 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F] [_inst_7 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G] [_inst_8 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) H] (α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) F G) (β : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) G H) (n : Nat), Eq.{max (succ u4) (succ u2)} (Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 H _inst_8 n)) (CategoryTheory.NatTrans.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F H _inst_6 _inst_8 (CategoryTheory.CategoryStruct.comp.{max u2 u4, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2)) F G H α β) n) (CategoryTheory.CategoryStruct.comp.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 H _inst_8 n) (CategoryTheory.NatTrans.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F G _inst_6 _inst_7 α n) (CategoryTheory.NatTrans.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G H _inst_7 _inst_8 β n))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.right_derived_comp CategoryTheory.NatTrans.rightDerived_compₓ'. -/
 @[simp, nolint simp_nf]
 theorem NatTrans.rightDerived_comp {F G H : C ⥤ D} [F.Additive] [G.Additive] [H.Additive]
     (α : F ⟶ G) (β : G ⟶ H) (n : ℕ) :
@@ -152,6 +192,12 @@ theorem NatTrans.rightDerived_comp {F G H : C ⥤ D} [F.Additive] [G.Additive] [
   simp [nat_trans.right_derived]
 #align category_theory.nat_trans.right_derived_comp CategoryTheory.NatTrans.rightDerived_comp
 
+/- warning: category_theory.nat_trans.right_derived_eq -> CategoryTheory.NatTrans.rightDerived_eq is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u4, u3} D _inst_2] {F : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2} [_inst_6 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F] [_inst_7 : CategoryTheory.Functor.Additive.{u2, u3, u1, u4} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G] (α : Quiver.Hom.{succ (max u2 u4), max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u1 u4 u2 u3} (CategoryTheory.Functor.{u1, u4, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u4, u2, u3} C _inst_1 D _inst_2))) F G) (n : Nat) {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), Eq.{succ u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) X)) (CategoryTheory.NatTrans.app.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) (CategoryTheory.NatTrans.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F G _inst_6 _inst_7 α n) X) (CategoryTheory.CategoryStruct.comp.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) X) (CategoryTheory.Iso.hom.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) X) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n X P)) (CategoryTheory.CategoryStruct.comp.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5))) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) X) (CategoryTheory.Functor.map.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u4, u3} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u4, u3} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5))) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P)) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P)) (CategoryTheory.NatTrans.app.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.NatTrans.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) F G _inst_6 _inst_7 α (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P))) (CategoryTheory.Iso.inv.{u4, u3} D _inst_2 (CategoryTheory.Functor.obj.{u1, u4, u2, u3} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) X) (CategoryTheory.Functor.obj.{u4, u4, max u3 u4, u3} (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) D _inst_2 (homologyFunctor.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Abelian.hasEqualizers.{u4, u3} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_3.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u4, u3} D _inst_2 (CategoryTheory.Functor.rightDerivedObjIso._proof_4.{u3, u4} D _inst_2 _inst_5) (CategoryTheory.Functor.rightDerivedObjIso._proof_5.{u3, u4} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCokernels.{u4, u3} D _inst_2 _inst_5) n) (CategoryTheory.Functor.obj.{u1, u4, max u2 u1, max u3 u4} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u4, u3, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u3, u4} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u4, u3} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Functor.rightDerivedObjIso._proof_6.{u2, u1} C _inst_1 _inst_3) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u1, u2, u3, u4} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n X P))))
+but is expected to have type
+  forall {C : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u3, u4} C] {D : Type.{u1}} [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Abelian.{u3, u4} C _inst_1] [_inst_4 : CategoryTheory.HasInjectiveResolutions.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3))] [_inst_5 : CategoryTheory.Abelian.{u2, u1} D _inst_2] {F : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2} [_inst_6 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F] [_inst_7 : CategoryTheory.Functor.Additive.{u4, u1, u3, u2} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G] (α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u3) u1) u2} (CategoryTheory.Functor.{u3, u2, u4, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u2, u4, u1} C _inst_1 D _inst_2))) F G) (n : Nat) {X : C} (P : CategoryTheory.InjectiveResolution.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X), Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n)) X)) (CategoryTheory.NatTrans.app.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n) (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n) (CategoryTheory.NatTrans.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F G _inst_6 _inst_7 α n) X) (CategoryTheory.CategoryStruct.comp.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n)) X) (CategoryTheory.Iso.hom.{u2, u1} D _inst_2 (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n)) X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 F _inst_6 n X P)) (CategoryTheory.CategoryStruct.comp.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n)) X) (Prefunctor.map.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P)) (CategoryTheory.NatTrans.app.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F _inst_6 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.NatTrans.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) F G _inst_6 _inst_7 α (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (CategoryTheory.Iso.inv.{u2, u1} D _inst_2 (Prefunctor.obj.{succ u3, succ u2, u4, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u2, u4, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n)) X) (Prefunctor.obj.{succ u2, succ u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max u1 u2, u1} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) D _inst_2 (homologyFunctor.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} D _inst_2 _inst_5) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} D _inst_2 _inst_5))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} D _inst_2 _inst_5)) n)) (Prefunctor.obj.{succ u3, succ u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u3} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u3, u2, max u4 u3, max u1 u2} (HomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u4, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u4, 0, u1, u2} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u2, u1} D _inst_2 _inst_5) G _inst_7 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u3, u4} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u4} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u3, u4} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u3, u4} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u3, u4} C _inst_1 _inst_3)) X P))) (CategoryTheory.Functor.rightDerivedObjIso.{u3, u4, u1, u2} C _inst_1 D _inst_2 _inst_3 _inst_4 _inst_5 G _inst_7 n X P))))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.right_derived_eq CategoryTheory.NatTrans.rightDerived_eqₓ'. -/
 /-- A component of the natural transformation between right-derived functors can be computed
 using a chosen injective resolution.
 -/
@@ -194,6 +240,12 @@ open CategoryTheory.Preadditive
 
 variable [Abelian C] [Abelian D] [Additive F]
 
+/- warning: category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono -> CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) {X : C} {Y : C} {Z : C} {f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y} {g : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Y Z} [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] [_inst_7 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], (CategoryTheory.Exact.{u1, u2} C _inst_1 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasKernels.{u1, u2} C _inst_1 _inst_3) X Y Z f g) -> (CategoryTheory.Exact.{u1, u2} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Abelian.hasKernels.{u1, u2} D _inst_2 _inst_4) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F Y) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F Z) (CategoryTheory.Functor.map.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X Y f) (CategoryTheory.Functor.map.{u1, u1, u2, u2} C _inst_1 D _inst_2 F Y Z g))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) {X : C} {Y : C} {Z : C} {f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y} {g : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Y Z} [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] [_inst_7 : CategoryTheory.Mono.{u1, u2} C _inst_1 X Y f], (CategoryTheory.Exact.{u1, u2} C _inst_1 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3)) X Y Z f g) -> (CategoryTheory.Exact.{u1, u2} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u1, u2} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} D _inst_2 _inst_4)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) Y) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) Z) (Prefunctor.map.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X Y f) (Prefunctor.map.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) Y Z g))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_monoₓ'. -/
 /-- If `preserves_finite_limits F` and `mono f`, then `exact (F.map f) (F.map g)` if
 `exact f g`. -/
 theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits F] [Mono f]
@@ -202,7 +254,13 @@ theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits
     Limits.isLimitForkMapOfIsLimit' _ ex.w (Abelian.isLimitOfExactOfMono _ _ ex)
 #align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono
 
-theorem exact_of_map_injective_resolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
+/- warning: category_theory.abelian.functor.exact_of_map_injective_resolution -> CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) {X : C} [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) [_inst_6 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F], CategoryTheory.Exact.{u1, u2} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Abelian.hasKernels.{u1, u2} D _inst_2 _inst_4) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F (HomologicalComplex.x.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) X) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F (HomologicalComplex.x.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (HomologicalComplex.xNext.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u2, u1} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F _inst_5 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (CategoryTheory.Functor.map.{u1, u1, u2, u2} C _inst_1 D _inst_2 F (HomologicalComplex.x.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) X) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3)) X) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (CategoryTheory.InjectiveResolution.ι.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (HomologicalComplex.dFrom.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u1, u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (HomologicalComplex.CategoryTheory.category.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u2, u1} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F _inst_5 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) {X : C} [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) [_inst_6 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F], CategoryTheory.Exact.{u1, u2} D _inst_2 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u1, u2} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} D _inst_2 _inst_4)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) (HomologicalComplex.X.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u1, succ u1, u2, max u2 u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3))) X) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) (HomologicalComplex.X.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (HomologicalComplex.xNext.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u2, u1} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F _inst_5 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Prefunctor.map.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) (HomologicalComplex.X.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u1, succ u1, u2, max u2 u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3))) X) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u1, succ u1, u2, max u2 u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u2 u1} C _inst_1 (CochainComplex.{u1, u2, 0} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3))) X) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (CategoryTheory.InjectiveResolution.ι.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (HomologicalComplex.dFrom.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (HomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, 0} Nat D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CategoryTheory.Functor.mapHomologicalComplex.{u1, u2, 0, u2, u1} Nat C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) D _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F _inst_5 (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (CategoryTheory.InjectiveResolution.cocomplex.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X P)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolutionₓ'. -/
+theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
     Exact (F.map (P.ι.f 0))
       (((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).dFrom 0) :=
   Preadditive.exact_of_iso_of_exact' (F.map (P.ι.f 0)) (F.map (P.cocomplex.d 0 1)) _ _ (Iso.refl _)
@@ -210,8 +268,14 @@ theorem exact_of_map_injective_resolution (P : InjectiveResolution X) [Preserves
     (HomologicalComplex.xNextIso ((F.mapHomologicalComplex _).obj P.cocomplex) rfl).symm (by simp)
     (by rw [iso.refl_hom, category.id_comp, iso.symm_hom, HomologicalComplex.dFrom_eq] <;> congr )
     (preserves_exact_of_preserves_finite_limits_of_mono _ P.exact₀)
-#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injective_resolution
-
+#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution
+
+/- warning: category_theory.abelian.functor.right_derived_zero_to_self_app -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp._proof_1.{u2, u1} C _inst_1 _inst_3) X) -> (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) -> (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppₓ'. -/
 /-- Given `P : InjectiveResolution X`, a morphism `(F.right_derived 0).obj X ⟶ F.obj X` given
 `preserves_finite_limits F`. -/
 def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
@@ -225,6 +289,12 @@ def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X
         (asIso (kernel.lift _ _ (exact_of_map_injective_resolution F P).w)).inv
 #align category_theory.abelian.functor.right_derived_zero_to_self_app CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp
 
+/- warning: category_theory.abelian.functor.right_derived_zero_to_self_app_inv -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv._proof_1.{u2, u1} C _inst_1 _inst_3) X) -> (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) -> (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInvₓ'. -/
 /-- Given `P : InjectiveResolution X`, a morphism `F.obj X ⟶ (F.right_derived 0).obj X`. -/
 def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveResolution X) :
     F.obj X ⟶ (F.rightDerived 0).obj X :=
@@ -237,6 +307,12 @@ def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveReso
     (rightDerivedObjIso F 0 P).inv
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv
 
+/- warning: category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 X P) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P)) (CategoryTheory.CategoryStruct.id.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 X P) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P)) (CategoryTheory.CategoryStruct.id.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_invₓ'. -/
 theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) :
     right_derived_zero_to_self_app F P ≫ right_derived_zero_to_self_app_inv F P = 𝟙 _ :=
@@ -253,6 +329,12 @@ theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFinite
   convert category.id_comp (cokernel.π _)
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv
 
+/- warning: category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_comp is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 X P)) (CategoryTheory.CategoryStruct.id.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C} (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 X P)) (CategoryTheory.CategoryStruct.id.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_compₓ'. -/
 theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) :
     right_derived_zero_to_self_app_inv F P ≫ right_derived_zero_to_self_app F P = 𝟙 _ :=
@@ -267,6 +349,12 @@ theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteL
   simp
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_comp
 
+/- warning: category_theory.abelian.functor.right_derived_zero_to_self_app_iso -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso._proof_1.{u2, u1} C _inst_1 _inst_3) X) -> (CategoryTheory.Iso.{u1, u2} D _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] [_inst_7 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u1, u2, u2} C _inst_1 D _inst_2 F] {X : C}, (CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) -> (CategoryTheory.Iso.{u1, u2} D _inst_2 (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_app_iso CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIsoₓ'. -/
 /-- Given `P : InjectiveResolution X`, the isomorphism `(F.right_derived 0).obj X ≅ F.obj X` if
 `preserves_finite_limits F`. -/
 def rightDerivedZeroToSelfAppIso [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
@@ -278,9 +366,15 @@ def rightDerivedZeroToSelfAppIso [EnoughInjectives C] [PreservesFiniteLimits F]
   inv_hom_id' := right_derived_zero_to_self_app_inv_comp _ P
 #align category_theory.abelian.functor.right_derived_zero_to_self_app_iso CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso
 
+/- warning: category_theory.abelian.functor.right_derived_zero_to_self_natural -> CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_natural is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) (Q : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F Y) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y) (CategoryTheory.Functor.map.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X Y f) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 Y Q)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P) (CategoryTheory.Functor.map.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.CategoryTheory.hasInjectiveResolutions.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) X Y f))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} D] (F : CategoryTheory.Functor.{u1, u1, u2, u2} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Abelian.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Abelian.{u1, u2} D _inst_2] [_inst_5 : CategoryTheory.Functor.Additive.{u2, u2, u1, u1} C D _inst_1 _inst_2 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Abelian.toPreadditive.{u1, u2} D _inst_2 _inst_4) F] [_inst_6 : CategoryTheory.EnoughInjectives.{u1, u2} C _inst_1] {X : C} {Y : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) X Y) (P : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) X) (Q : CategoryTheory.InjectiveResolution.{u1, u2} C _inst_1 (CategoryTheory.Abelian.hasZeroObject.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Abelian.hasEqualizers.{u1, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3)) Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) Y)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) Y) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) Y) (Prefunctor.map.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X Y f) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 Y Q)) (CategoryTheory.CategoryStruct.comp.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) Y) (CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv.{u1, u2} C _inst_1 D _inst_2 F _inst_3 _inst_4 _inst_5 _inst_6 X P) (Prefunctor.map.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} D (CategoryTheory.Category.toCategoryStruct.{u1, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.rightDerived.{u1, u2, u2, u1} C _inst_1 D _inst_2 _inst_3 (CategoryTheory.InjectiveResolution.instHasInjectiveResolutionsHasZeroObjectPreadditiveHasZeroMorphismsToPreadditiveHasEqualizersHasImages_of_hasStrongEpiMonoFactorisationsInstHasStrongEpiMonoFactorisations.{u1, u2} C _inst_1 _inst_3 _inst_6) _inst_4 F _inst_5 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) X Y f))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.functor.right_derived_zero_to_self_natural CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_naturalₓ'. -/
 /-- Given `P : InjectiveResolution X` and `Q : InjectiveResolution Y` and a morphism `f : X ⟶ Y`,
 naturality of the square given by `right_derived_zero_to_self_natural`. -/
-theorem rightDerived_zero_to_self_natural [EnoughInjectives C] {X : C} {Y : C} (f : X ⟶ Y)
+theorem rightDerivedZeroToSelf_natural [EnoughInjectives C] {X : C} {Y : C} (f : X ⟶ Y)
     (P : InjectiveResolution X) (Q : InjectiveResolution Y) :
     F.map f ≫ right_derived_zero_to_self_app_inv F Q =
       right_derived_zero_to_self_app_inv F P ≫ (F.rightDerived 0).map f :=
@@ -299,8 +393,9 @@ theorem rightDerived_zero_to_self_natural [EnoughInjectives C] {X : C} {Y : C} (
     map_homological_complex_map_f, ← functor.map_comp,
     show f ≫ Q.ι.f 0 = P.ι.f 0 ≫ (InjectiveResolution.desc f Q P).f 0 from
       HomologicalComplex.congr_hom (InjectiveResolution.desc_commutes f Q P).symm 0]
-#align category_theory.abelian.functor.right_derived_zero_to_self_natural CategoryTheory.Abelian.Functor.rightDerived_zero_to_self_natural
+#align category_theory.abelian.functor.right_derived_zero_to_self_natural CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_natural
 
+#print CategoryTheory.Abelian.Functor.rightDerivedZeroIsoSelf /-
 /-- Given `preserves_finite_limits F`, the natural isomorphism `(F.right_derived 0) ≅ F`. -/
 def rightDerivedZeroIsoSelf [EnoughInjectives C] [PreservesFiniteLimits F] : F.rightDerived 0 ≅ F :=
   Iso.symm <|
@@ -308,6 +403,7 @@ def rightDerivedZeroIsoSelf [EnoughInjectives C] [PreservesFiniteLimits F] : F.r
       (fun X => (right_derived_zero_to_self_app_iso _ (InjectiveResolution.of X)).symm) fun X Y f =>
       right_derived_zero_to_self_natural _ _ _ _
 #align category_theory.abelian.functor.right_derived_zero_iso_self CategoryTheory.Abelian.Functor.rightDerivedZeroIsoSelf
+-/
 
 end CategoryTheory.Abelian.Functor
 
Diff
@@ -196,21 +196,21 @@ variable [Abelian C] [Abelian D] [Additive F]
 
 /-- If `preserves_finite_limits F` and `mono f`, then `exact (F.map f) (F.map g)` if
 `exact f g`. -/
-theorem preservesExactOfPreservesFiniteLimitsOfMono [PreservesFiniteLimits F] [Mono f]
+theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits F] [Mono f]
     (ex : Exact f g) : Exact (F.map f) (F.map g) :=
-  Abelian.exactOfIsKernel _ _ (by simp [← functor.map_comp, ex.w]) <|
+  Abelian.exact_of_is_kernel _ _ (by simp [← functor.map_comp, ex.w]) <|
     Limits.isLimitForkMapOfIsLimit' _ ex.w (Abelian.isLimitOfExactOfMono _ _ ex)
-#align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preservesExactOfPreservesFiniteLimitsOfMono
+#align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono
 
-theorem exactOfMapInjectiveResolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
+theorem exact_of_map_injective_resolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
     Exact (F.map (P.ι.f 0))
       (((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).dFrom 0) :=
-  Preadditive.exactOfIsoOfExact' (F.map (P.ι.f 0)) (F.map (P.cocomplex.d 0 1)) _ _ (Iso.refl _)
+  Preadditive.exact_of_iso_of_exact' (F.map (P.ι.f 0)) (F.map (P.cocomplex.d 0 1)) _ _ (Iso.refl _)
     (Iso.refl _)
     (HomologicalComplex.xNextIso ((F.mapHomologicalComplex _).obj P.cocomplex) rfl).symm (by simp)
     (by rw [iso.refl_hom, category.id_comp, iso.symm_hom, HomologicalComplex.dFrom_eq] <;> congr )
     (preserves_exact_of_preserves_finite_limits_of_mono _ P.exact₀)
-#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exactOfMapInjectiveResolution
+#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injective_resolution
 
 /-- Given `P : InjectiveResolution X`, a morphism `(F.right_derived 0).obj X ⟶ F.obj X` given
 `preserves_finite_limits F`. -/
Diff
@@ -196,21 +196,21 @@ variable [Abelian C] [Abelian D] [Additive F]
 
 /-- If `preserves_finite_limits F` and `mono f`, then `exact (F.map f) (F.map g)` if
 `exact f g`. -/
-theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits F] [Mono f]
+theorem preservesExactOfPreservesFiniteLimitsOfMono [PreservesFiniteLimits F] [Mono f]
     (ex : Exact f g) : Exact (F.map f) (F.map g) :=
-  Abelian.exact_of_is_kernel _ _ (by simp [← functor.map_comp, ex.w]) <|
+  Abelian.exactOfIsKernel _ _ (by simp [← functor.map_comp, ex.w]) <|
     Limits.isLimitForkMapOfIsLimit' _ ex.w (Abelian.isLimitOfExactOfMono _ _ ex)
-#align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono
+#align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preservesExactOfPreservesFiniteLimitsOfMono
 
-theorem exact_of_map_injective_resolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
+theorem exactOfMapInjectiveResolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
     Exact (F.map (P.ι.f 0))
       (((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).dFrom 0) :=
-  Preadditive.exact_of_iso_of_exact' (F.map (P.ι.f 0)) (F.map (P.cocomplex.d 0 1)) _ _ (Iso.refl _)
+  Preadditive.exactOfIsoOfExact' (F.map (P.ι.f 0)) (F.map (P.cocomplex.d 0 1)) _ _ (Iso.refl _)
     (Iso.refl _)
     (HomologicalComplex.xNextIso ((F.mapHomologicalComplex _).obj P.cocomplex) rfl).symm (by simp)
     (by rw [iso.refl_hom, category.id_comp, iso.symm_hom, HomologicalComplex.dFrom_eq] <;> congr )
     (preserves_exact_of_preserves_finite_limits_of_mono _ P.exact₀)
-#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injective_resolution
+#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exactOfMapInjectiveResolution
 
 /-- Given `P : InjectiveResolution X`, a morphism `(F.right_derived 0).obj X ⟶ F.obj X` given
 `preserves_finite_limits F`. -/

Changes in mathlib4

mathlib3
mathlib4
style: replace '.-/' by '. -/' (#11938)

Purely automatic replacement. If this is in any way controversial; I'm happy to just close this PR.

Diff
@@ -197,7 +197,8 @@ lemma NatTrans.rightDerivedToHomotopyCategory_comp {F G H : C ⥤ D} (α : F ⟶
       NatTrans.rightDerivedToHomotopyCategory α ≫
         NatTrans.rightDerivedToHomotopyCategory β := rfl
 
-/-- The natural transformation between right-derived functors induced by a natural transformation.-/
+/-- The natural transformation between right-derived functors
+induced by a natural transformation. -/
 noncomputable def NatTrans.rightDerived
     {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶ G) (n : ℕ) :
     F.rightDerived n ⟶ G.rightDerived n :=
refactor(Algebra/Homology): use the new homology API (#8706)

This PR refactors the construction of left derived functors using the new homology API: this also affects the dependencies (Ext functors, group cohomology, local cohomology). As a result, the old homology API is no longer used in any significant way in mathlib. Then, with this PR, the homology refactor is essentially complete.

The organization of the files was made more coherent: the definition of a projective resolution is in Preadditive.ProjectiveResolution, the existence of resolutions when there are enough projectives is shown in Abelian.ProjectiveResolution, and the left derived functor is constructed in Abelian.LeftDerived; the dual results are in Preadditive.InjectiveResolution, Abelian.InjectiveResolution and Abelian.RightDerived.

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

Diff
@@ -30,8 +30,6 @@ natural transformations between the original additive functors,
 and show how to compute the components.
 
 ## Main results
-* `Functor.rightDerivedObj_injective_zero`: the `0`-th derived functor of `F` on
-  an injective object `X` is isomorphic to `F.obj X`.
 * `Functor.isZero_rightDerived_obj_injective_succ`: injective objects have no higher
   right derived functor.
 * `NatTrans.rightDerived`: the natural isomorphism between right derived functors
@@ -336,7 +334,7 @@ instance (X : C) : IsIso (F.toRightDerivedZero.app X) := by
   dsimp [Functor.toRightDerivedZero]
   infer_instance
 
-instance [PreservesFiniteLimits F] : IsIso F.toRightDerivedZero :=
+instance : IsIso F.toRightDerivedZero :=
   NatIso.isIso_of_isIso_app _
 
 namespace Functor
refactor: use the new homology API for right derived functors (#8593)

Injective resolutions and right derived functors are redefined using the new homology API.

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

Diff
@@ -1,13 +1,11 @@
 /-
 Copyright (c) 2022 Jujian Zhang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
-Authors: Jujian Zhang, Scott Morrison
+Authors: Jujian Zhang, Scott Morrison, Joël Riou
 -/
 import Mathlib.CategoryTheory.Abelian.InjectiveResolution
 import Mathlib.Algebra.Homology.Additive
-import Mathlib.CategoryTheory.Limits.Constructions.EpiMono
 import Mathlib.CategoryTheory.Abelian.Homology
-import Mathlib.CategoryTheory.Abelian.Exact
 
 #align_import category_theory.abelian.right_derived from "leanprover-community/mathlib"@"024a4231815538ac739f52d08dd20a55da0d6b23"
 
@@ -17,315 +15,360 @@ import Mathlib.CategoryTheory.Abelian.Exact
 We define the right-derived functors `F.rightDerived n : C ⥤ D` for any additive functor `F`
 out of a category with injective resolutions.
 
-The definition is
-```
-injectiveResolutions C ⋙ F.mapHomotopyCategory _ ⋙ HomotopyCategory.homologyFunctor D _ n
-```
-that is, we pick an injective resolution (thought of as an object of the homotopy category),
-we apply `F` objectwise, and compute `n`-th homology.
+We first define a functor
+`F.rightDerivedToHomotopyCategory : C ⥤ HomotopyCategory D (ComplexShape.up ℕ)` which is
+`injectiveResolutions C ⋙ F.mapHomotopyCategory _`. We show that if `X : C` and
+`I : InjectiveResolution X`, then `F.rightDerivedToHomotopyCategory.obj X` identifies
+to the image in the homotopy category of the functor `F` applied objectwise to `I.cocomplex`
+(this isomorphism is `I.isoRightDerivedToHomotopyCategoryObj F`).
 
-We show that these right-derived functors can be calculated
-on objects using any choice of injective resolution,
-and on morphisms by any choice of lift to a cochain map between chosen injective resolutions.
+Then, the right-derived functors `F.rightDerived n : C ⥤ D` are obtained by composing
+`F.rightDerivedToHomotopyCategory` with the homology functors on the homotopy category.
 
 Similarly we define natural transformations between right-derived functors coming from
 natural transformations between the original additive functors,
 and show how to compute the components.
 
 ## Main results
-* `CategoryTheory.Functor.rightDerivedObj_injective_zero`: the `0`-th derived functor of `F` on
+* `Functor.rightDerivedObj_injective_zero`: the `0`-th derived functor of `F` on
   an injective object `X` is isomorphic to `F.obj X`.
-* `CategoryTheory.Functor.rightDerivedObj_injective_succ`: injective objects have no higher
+* `Functor.isZero_rightDerived_obj_injective_succ`: injective objects have no higher
   right derived functor.
-* `CategoryTheory.NatTrans.rightDerived`: the natural isomorphism between right derived functors
+* `NatTrans.rightDerived`: the natural isomorphism between right derived functors
   induced by natural transformation.
-
-Now, we assume `PreservesFiniteLimits F`, then
-* `CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono`: if `f` is
-  mono and `Exact f g`, then `Exact (F.map f) (F.map g)`.
-* `CategoryTheory.Abelian.Functor.rightDerivedZeroIsoSelf`: if there are enough injectives,
-  then there is a natural isomorphism `(F.rightDerived 0) ≅ F`.
+* `Functor.toRightDerivedZero`: the natural transformation `F ⟶ F.rightDerived 0`,
+  which is an isomorphism when `F` is left exact (i.e. preserves finite limits),
+  see also `Functor.rightDerivedZeroIsoSelf`.
 -/
 
-
-noncomputable section
-
-open CategoryTheory
-
-open CategoryTheory.Limits
+universe v u
 
 namespace CategoryTheory
 
-universe v u
+open Category Limits
 
 variable {C : Type u} [Category.{v} C] {D : Type*} [Category D]
+  [Abelian C] [HasInjectiveResolutions C] [Abelian D]
+
+/-- When `F : C ⥤ D` is an additive functor, this is
+the functor `C ⥤ HomotopyCategory D (ComplexShape.up ℕ)` which
+sends `X : C` to `F` applied to an injective resolution of `X`. -/
+noncomputable def Functor.rightDerivedToHomotopyCategory (F : C ⥤ D) [F.Additive] :
+    C ⥤ HomotopyCategory D (ComplexShape.up ℕ) :=
+  injectiveResolutions C ⋙ F.mapHomotopyCategory _
+
+/-- If `I : InjectiveResolution Z` and `F : C ⥤ D` is an additive functor, this is
+an isomorphism between `F.rightDerivedToHomotopyCategory.obj X` and the complex
+obtained by applying `F` to `I.cocomplex`. -/
+noncomputable def InjectiveResolution.isoRightDerivedToHomotopyCategoryObj {X : C}
+    (I : InjectiveResolution X) (F : C ⥤ D) [F.Additive] :
+    F.rightDerivedToHomotopyCategory.obj X ≅
+      (F.mapHomologicalComplex _ ⋙ HomotopyCategory.quotient _ _).obj I.cocomplex :=
+  (F.mapHomotopyCategory _).mapIso I.iso ≪≫
+    (F.mapHomotopyCategoryFactors _).app I.cocomplex
+
+@[reassoc]
+lemma InjectiveResolution.isoRightDerivedToHomotopyCategoryObj_hom_naturality
+    {X Y : C} (f : X ⟶ Y) (I : InjectiveResolution X) (J : InjectiveResolution Y)
+    (φ : I.cocomplex ⟶ J.cocomplex) (comm : I.ι.f 0 ≫ φ.f 0 = f ≫ J.ι.f 0)
+    (F : C ⥤ D) [F.Additive] :
+    F.rightDerivedToHomotopyCategory.map f ≫ (J.isoRightDerivedToHomotopyCategoryObj F).hom =
+      (I.isoRightDerivedToHomotopyCategoryObj F).hom ≫
+        (F.mapHomologicalComplex _ ⋙ HomotopyCategory.quotient _ _).map φ := by
+  dsimp [Functor.rightDerivedToHomotopyCategory, isoRightDerivedToHomotopyCategoryObj]
+  rw [← Functor.map_comp_assoc, iso_hom_naturality f I J φ comm, Functor.map_comp,
+    assoc, assoc]
+  erw [(F.mapHomotopyCategoryFactors (ComplexShape.up ℕ)).hom.naturality]
+  rfl
 
-variable [Abelian C] [HasInjectiveResolutions C] [Abelian D]
+@[reassoc]
+lemma InjectiveResolution.isoRightDerivedToHomotopyCategoryObj_inv_naturality
+    {X Y : C} (f : X ⟶ Y) (I : InjectiveResolution X) (J : InjectiveResolution Y)
+    (φ : I.cocomplex ⟶ J.cocomplex) (comm : I.ι.f 0 ≫ φ.f 0 = f ≫ J.ι.f 0)
+    (F : C ⥤ D) [F.Additive] :
+    (I.isoRightDerivedToHomotopyCategoryObj F).inv ≫ F.rightDerivedToHomotopyCategory.map f =
+      (F.mapHomologicalComplex _ ⋙ HomotopyCategory.quotient _ _).map φ ≫
+        (J.isoRightDerivedToHomotopyCategoryObj F).inv := by
+    rw [← cancel_epi (I.isoRightDerivedToHomotopyCategoryObj F).hom, Iso.hom_inv_id_assoc]
+    dsimp
+    rw [← isoRightDerivedToHomotopyCategoryObj_hom_naturality_assoc f I J φ comm F,
+      Iso.hom_inv_id, comp_id]
 
 /-- The right derived functors of an additive functor. -/
-def Functor.rightDerived (F : C ⥤ D) [F.Additive] (n : ℕ) : C ⥤ D :=
-  injectiveResolutions C ⋙ F.mapHomotopyCategory _ ⋙ HomotopyCategory.homology'Functor D _ n
+noncomputable def Functor.rightDerived (F : C ⥤ D) [F.Additive] (n : ℕ) : C ⥤ D :=
+  F.rightDerivedToHomotopyCategory ⋙ HomotopyCategory.homologyFunctor D _ n
 #align category_theory.functor.right_derived CategoryTheory.Functor.rightDerived
 
 /-- We can compute a right derived functor using a chosen injective resolution. -/
-@[simps!]
-def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
-    (P : InjectiveResolution X) :
+noncomputable def InjectiveResolution.isoRightDerivedObj {X : C} (I : InjectiveResolution X)
+    (F : C ⥤ D) [F.Additive] (n : ℕ) :
     (F.rightDerived n).obj X ≅
-      (homology'Functor D _ n).obj ((F.mapHomologicalComplex _).obj P.cocomplex) :=
-  (HomotopyCategory.homology'Functor D _ n).mapIso
-      (HomotopyCategory.isoOfHomotopyEquiv
-        (F.mapHomotopyEquiv (InjectiveResolution.homotopyEquiv _ P))) ≪≫
-    (HomotopyCategory.homology'Factors D _ n).app _
-#align category_theory.functor.right_derived_obj_iso CategoryTheory.Functor.rightDerivedObjIso
-
-/-- The 0-th derived functor of `F` on an injective object `X` is just `F.obj X`. -/
-@[simps!]
-def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Injective X] :
-    (F.rightDerived 0).obj X ≅ F.obj X :=
-  F.rightDerivedObjIso 0 (InjectiveResolution.self X) ≪≫
-    (homology'Functor _ _ _).mapIso
-      ((HomologicalComplex.singleMapHomologicalComplex F (ComplexShape.up ℕ) 0).app X) ≪≫
-      (CochainComplex.homologyFunctor0Single₀ D).app (F.obj X)
-#align category_theory.functor.right_derived_obj_injective_zero CategoryTheory.Functor.rightDerivedObjInjectiveZero
-
-open ZeroObject
+      (HomologicalComplex.homologyFunctor D _ n).obj
+        ((F.mapHomologicalComplex _).obj I.cocomplex) :=
+  (HomotopyCategory.homologyFunctor D _ n).mapIso
+    (I.isoRightDerivedToHomotopyCategoryObj F) ≪≫
+    (HomotopyCategory.homologyFunctorFactors D (ComplexShape.up ℕ) n).app _
+
+@[reassoc]
+lemma InjectiveResolution.isoRightDerivedObj_hom_naturality
+    {X Y : C} (f : X ⟶ Y) (I : InjectiveResolution X) (J : InjectiveResolution Y)
+    (φ : I.cocomplex ⟶ J.cocomplex) (comm : I.ι.f 0 ≫ φ.f 0 = f ≫ J.ι.f 0)
+    (F : C ⥤ D) [F.Additive] (n : ℕ) :
+    (F.rightDerived n).map f ≫ (J.isoRightDerivedObj F n).hom =
+      (I.isoRightDerivedObj F n).hom ≫
+        (F.mapHomologicalComplex _ ⋙ HomologicalComplex.homologyFunctor _ _ n).map φ := by
+  dsimp [isoRightDerivedObj, Functor.rightDerived]
+  rw [assoc, ← Functor.map_comp_assoc,
+    InjectiveResolution.isoRightDerivedToHomotopyCategoryObj_hom_naturality f I J φ comm F,
+    Functor.map_comp, assoc]
+  erw [(HomotopyCategory.homologyFunctorFactors D (ComplexShape.up ℕ) n).hom.naturality]
+  rfl
+
+@[reassoc]
+lemma InjectiveResolution.isoRightDerivedObj_inv_naturality
+    {X Y : C} (f : X ⟶ Y) (I : InjectiveResolution X) (J : InjectiveResolution Y)
+    (φ : I.cocomplex ⟶ J.cocomplex) (comm : I.ι.f 0 ≫ φ.f 0 = f ≫ J.ι.f 0)
+    (F : C ⥤ D) [F.Additive] (n : ℕ) :
+    (I.isoRightDerivedObj F n).inv ≫ (F.rightDerived n).map f =
+        (F.mapHomologicalComplex _ ⋙ HomologicalComplex.homologyFunctor _ _ n).map φ ≫
+          (J.isoRightDerivedObj F n).inv := by
+  rw [← cancel_mono (J.isoRightDerivedObj F n).hom, assoc, assoc,
+    InjectiveResolution.isoRightDerivedObj_hom_naturality f I J φ comm F n,
+    Iso.inv_hom_id_assoc, Iso.inv_hom_id, comp_id]
 
 /-- The higher derived functors vanish on injective objects. -/
-@[simps! inv]
-def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X : C) [Injective X] :
-    (F.rightDerived (n + 1)).obj X ≅ 0 :=
-  F.rightDerivedObjIso (n + 1) (InjectiveResolution.self X) ≪≫
-    (homology'Functor _ _ _).mapIso
-      ((HomologicalComplex.singleMapHomologicalComplex F (ComplexShape.up ℕ) _).app X) ≪≫
-      (CochainComplex.homology'FunctorSuccSingle₀ D n).app (F.obj X) ≪≫ (Functor.zero_obj _).isoZero
-#align category_theory.functor.right_derived_obj_injective_succ CategoryTheory.Functor.rightDerivedObjInjectiveSucc
+lemma Functor.isZero_rightDerived_obj_injective_succ
+    (F : C ⥤ D) [F.Additive] (n : ℕ) (X : C) [Injective X] :
+    IsZero ((F.rightDerived (n+1)).obj X) := by
+  refine IsZero.of_iso ?_ ((InjectiveResolution.self X).isoRightDerivedObj F (n + 1))
+  erw [← HomologicalComplex.exactAt_iff_isZero_homology]
+  exact ShortComplex.exact_of_isZero_X₂ _ (F.map_isZero (by apply isZero_zero))
 
 /-- We can compute a right derived functor on a morphism using a descent of that morphism
 to a cochain map between chosen injective resolutions.
 -/
-theorem Functor.rightDerived_map_eq (F : C ⥤ D) [F.Additive] (n : ℕ) {X Y : C} (f : Y ⟶ X)
-    {P : InjectiveResolution X} {Q : InjectiveResolution Y} (g : Q.cocomplex ⟶ P.cocomplex)
-    (w : Q.ι ≫ g = (CochainComplex.single₀ C).map f ≫ P.ι) :
+theorem Functor.rightDerived_map_eq (F : C ⥤ D) [F.Additive] (n : ℕ) {X Y : C} (f : X ⟶ Y)
+    {P : InjectiveResolution X} {Q : InjectiveResolution Y} (g : P.cocomplex ⟶ Q.cocomplex)
+    (w : P.ι ≫ g = (CochainComplex.single₀ C).map f ≫ Q.ι) :
     (F.rightDerived n).map f =
-      (F.rightDerivedObjIso n Q).hom ≫
-        (homology'Functor D _ n).map ((F.mapHomologicalComplex _).map g) ≫
-          (F.rightDerivedObjIso n P).inv := by
-  dsimp only [Functor.rightDerived, Functor.rightDerivedObjIso]
-  dsimp
-  simp only [Category.comp_id, Category.id_comp]
-  rw [← homology'Functor_map, HomotopyCategory.homology'Functor_map_factors]
-  simp only [← Functor.map_comp]
-  congr 1
-  apply HomotopyCategory.eq_of_homotopy
-  apply Functor.mapHomotopy
-  apply InjectiveResolution.descHomotopy f
-  · simp
-  · simp only [InjectiveResolution.homotopyEquiv_hom_ι_assoc]
-    rw [← Category.assoc, w, Category.assoc]
-    simp only [InjectiveResolution.homotopyEquiv_inv_ι]
+      (P.isoRightDerivedObj F n).hom ≫
+        (F.mapHomologicalComplex _ ⋙ HomologicalComplex.homologyFunctor _ _ n).map g ≫
+          (Q.isoRightDerivedObj F n).inv := by
+  rw [← cancel_mono (Q.isoRightDerivedObj F n).hom,
+    InjectiveResolution.isoRightDerivedObj_hom_naturality f P Q g _ F n,
+    assoc, assoc, Iso.inv_hom_id, comp_id]
+  rw [← HomologicalComplex.comp_f, w, HomologicalComplex.comp_f,
+    CochainComplex.single₀_map_f_zero]
 #align category_theory.functor.right_derived_map_eq CategoryTheory.Functor.rightDerived_map_eq
 
+/-- The natural transformation
+`F.rightDerivedToHomotopyCategory ⟶ G.rightDerivedToHomotopyCategory` induced by
+a natural transformation `F ⟶ G` between additive functors. -/
+noncomputable def NatTrans.rightDerivedToHomotopyCategory
+    {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶ G) :
+    F.rightDerivedToHomotopyCategory ⟶ G.rightDerivedToHomotopyCategory :=
+  whiskerLeft _ (NatTrans.mapHomotopyCategory α (ComplexShape.up ℕ))
+
+lemma InjectiveResolution.rightDerivedToHomotopyCategory_app_eq
+    {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶ G) {X : C} (P : InjectiveResolution X) :
+    (NatTrans.rightDerivedToHomotopyCategory α).app X =
+      (P.isoRightDerivedToHomotopyCategoryObj F).hom ≫
+        (HomotopyCategory.quotient _ _).map
+          ((NatTrans.mapHomologicalComplex α _).app P.cocomplex) ≫
+          (P.isoRightDerivedToHomotopyCategoryObj G).inv := by
+  rw [← cancel_mono (P.isoRightDerivedToHomotopyCategoryObj G).hom, assoc, assoc,
+      Iso.inv_hom_id, comp_id]
+  dsimp [isoRightDerivedToHomotopyCategoryObj, Functor.mapHomotopyCategoryFactors,
+    NatTrans.rightDerivedToHomotopyCategory]
+  rw [assoc]
+  erw [id_comp, comp_id]
+  obtain ⟨β, hβ⟩ := (HomotopyCategory.quotient _ _).map_surjective (iso P).hom
+  rw [← hβ]
+  dsimp
+  simp only [← Functor.map_comp, NatTrans.mapHomologicalComplex_naturality]
+  rfl
+
+@[simp]
+lemma NatTrans.rightDerivedToHomotopyCategory_id (F : C ⥤ D) [F.Additive] :
+    NatTrans.rightDerivedToHomotopyCategory (𝟙 F) = 𝟙 _ := rfl
+
+@[simp, reassoc]
+lemma NatTrans.rightDerivedToHomotopyCategory_comp {F G H : C ⥤ D} (α : F ⟶ G) (β : G ⟶ H)
+    [F.Additive] [G.Additive] [H.Additive] :
+    NatTrans.rightDerivedToHomotopyCategory (α ≫ β) =
+      NatTrans.rightDerivedToHomotopyCategory α ≫
+        NatTrans.rightDerivedToHomotopyCategory β := rfl
+
 /-- The natural transformation between right-derived functors induced by a natural transformation.-/
-@[simps!]
-def NatTrans.rightDerived {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶ G) (n : ℕ) :
+noncomputable def NatTrans.rightDerived
+    {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶ G) (n : ℕ) :
     F.rightDerived n ⟶ G.rightDerived n :=
-  whiskerLeft (injectiveResolutions C)
-    (whiskerRight (NatTrans.mapHomotopyCategory α _) (HomotopyCategory.homology'Functor D _ n))
+  whiskerRight (NatTrans.rightDerivedToHomotopyCategory α) _
 #align category_theory.nat_trans.right_derived CategoryTheory.NatTrans.rightDerived
 
 @[simp]
 theorem NatTrans.rightDerived_id (F : C ⥤ D) [F.Additive] (n : ℕ) :
     NatTrans.rightDerived (𝟙 F) n = 𝟙 (F.rightDerived n) := by
-  simp [NatTrans.rightDerived]
+  dsimp only [rightDerived]
+  simp only [rightDerivedToHomotopyCategory_id, whiskerRight_id']
   rfl
 #align category_theory.nat_trans.right_derived_id CategoryTheory.NatTrans.rightDerived_id
 
-@[simp, nolint simpNF]
+@[simp, reassoc]
 theorem NatTrans.rightDerived_comp {F G H : C ⥤ D} [F.Additive] [G.Additive] [H.Additive]
     (α : F ⟶ G) (β : G ⟶ H) (n : ℕ) :
     NatTrans.rightDerived (α ≫ β) n = NatTrans.rightDerived α n ≫ NatTrans.rightDerived β n := by
   simp [NatTrans.rightDerived]
 #align category_theory.nat_trans.right_derived_comp CategoryTheory.NatTrans.rightDerived_comp
 
+namespace InjectiveResolution
+
 /-- A component of the natural transformation between right-derived functors can be computed
-using a chosen injective resolution.
--/
-theorem NatTrans.rightDerived_eq {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶ G) (n : ℕ) {X : C}
-    (P : InjectiveResolution X) :
-    (NatTrans.rightDerived α n).app X =
-      (F.rightDerivedObjIso n P).hom ≫
-        (homology'Functor D _ n).map ((NatTrans.mapHomologicalComplex α _).app P.cocomplex) ≫
-          (G.rightDerivedObjIso n P).inv := by
-  symm
-  dsimp [NatTrans.rightDerived, Functor.rightDerivedObjIso]
-  simp only [Category.comp_id, Category.id_comp]
-  rw [← homology'Functor_map, HomotopyCategory.homology'Functor_map_factors]
-  simp only [← Functor.map_comp]
-  congr 1
-  apply HomotopyCategory.eq_of_homotopy
-  simp only [NatTrans.mapHomologicalComplex_naturality_assoc, ← Functor.map_comp]
-  apply Homotopy.compLeftId
-  rw [← Functor.map_id]
-  apply Functor.mapHomotopy
-  apply HomotopyEquiv.homotopyHomInvId
-#align category_theory.nat_trans.right_derived_eq CategoryTheory.NatTrans.rightDerived_eq
+using a chosen injective resolution. -/
+lemma rightDerived_app_eq
+    {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶ G) {X : C} (P : InjectiveResolution X)
+    (n : ℕ) : (NatTrans.rightDerived α n).app X =
+      (P.isoRightDerivedObj F n).hom ≫
+        (HomologicalComplex.homologyFunctor D (ComplexShape.up ℕ) n).map
+        ((NatTrans.mapHomologicalComplex α _).app P.cocomplex) ≫
+        (P.isoRightDerivedObj G n).inv := by
+  dsimp [NatTrans.rightDerived, isoRightDerivedObj]
+  rw [InjectiveResolution.rightDerivedToHomotopyCategory_app_eq α P,
+    Functor.map_comp, Functor.map_comp, assoc]
+  erw [← (HomotopyCategory.homologyFunctorFactors D (ComplexShape.up ℕ) n).hom.naturality_assoc
+    ((NatTrans.mapHomologicalComplex α (ComplexShape.up ℕ)).app P.cocomplex)]
+  simp only [Functor.comp_map, Iso.hom_inv_id_app_assoc]
+
+/-- If `P : InjectiveResolution X` and `F` is an additive functor, this is
+the canonical morphism from `F.obj X` to the cycles in degree `0` of
+`(F.mapHomologicalComplex _).obj P.cocomplex`. -/
+noncomputable def toRightDerivedZero' {X : C}
+    (P : InjectiveResolution X) (F : C ⥤ D) [F.Additive] :
+    F.obj X ⟶ ((F.mapHomologicalComplex _).obj P.cocomplex).cycles 0 :=
+  HomologicalComplex.liftCycles _ (F.map (P.ι.f 0)) 1 (by simp) (by
+    dsimp
+    rw [← F.map_comp, HomologicalComplex.Hom.comm, HomologicalComplex.single_obj_d,
+      zero_comp, F.map_zero])
+
+@[reassoc (attr := simp)]
+lemma toRightDerivedZero'_comp_iCycles {X : C}
+    (P : InjectiveResolution X) (F : C ⥤ D) [F.Additive] :
+    P.toRightDerivedZero' F ≫
+      HomologicalComplex.iCycles _ _ = F.map (P.ι.f 0) := by
+  simp [toRightDerivedZero']
+
+@[reassoc]
+lemma toRightDerivedZero'_naturality {X Y : C} (f : X ⟶ Y)
+    (P : InjectiveResolution X) (Q : InjectiveResolution Y)
+    (φ : P.cocomplex ⟶ Q.cocomplex) (comm : P.ι.f 0 ≫ φ.f 0 = f ≫ Q.ι.f 0)
+    (F : C ⥤ D) [F.Additive] :
+    F.map f ≫ Q.toRightDerivedZero' F =
+      P.toRightDerivedZero' F ≫
+        HomologicalComplex.cyclesMap ((F.mapHomologicalComplex _).map φ) 0 := by
+  simp only [← cancel_mono (HomologicalComplex.iCycles _ _),
+    Functor.mapHomologicalComplex_obj_X, assoc, toRightDerivedZero'_comp_iCycles,
+    CochainComplex.single₀_obj_zero, HomologicalComplex.cyclesMap_i,
+    Functor.mapHomologicalComplex_map_f, toRightDerivedZero'_comp_iCycles_assoc,
+    ← F.map_comp, comm]
+
+instance (F : C ⥤ D) [F.Additive] (X : C) [Injective X] :
+    IsIso ((InjectiveResolution.self X).toRightDerivedZero' F) := by
+  dsimp [InjectiveResolution.toRightDerivedZero']
+  rw [CochainComplex.isIso_liftCycles_iff]
+  refine' ⟨ShortComplex.Splitting.exact _, inferInstance⟩
+  exact
+    { r := 𝟙 _
+      s := 0
+      s_g := (F.map_isZero (isZero_zero _)).eq_of_src _ _ }
+
+end InjectiveResolution
+
+/-- The natural transformation `F ⟶ F.rightDerived 0`. -/
+noncomputable def Functor.toRightDerivedZero (F : C ⥤ D) [F.Additive] :
+    F ⟶ F.rightDerived 0 where
+  app X := (injectiveResolution X).toRightDerivedZero' F ≫
+    (CochainComplex.isoHomologyπ₀ _).hom ≫
+      (HomotopyCategory.homologyFunctorFactors D (ComplexShape.up ℕ) 0).inv.app _
+  naturality {X Y} f := by
+    dsimp [rightDerived]
+    rw [assoc, assoc, InjectiveResolution.toRightDerivedZero'_naturality_assoc f
+      (injectiveResolution X) (injectiveResolution Y)
+      (InjectiveResolution.desc f _ _) (by simp),
+      ← HomologicalComplex.homologyπ_naturality_assoc]
+    erw [← NatTrans.naturality]
+    rfl
+
+lemma InjectiveResolution.toRightDerivedZero_eq
+    {X : C} (I : InjectiveResolution X) (F : C ⥤ D) [F.Additive] :
+    F.toRightDerivedZero.app X = I.toRightDerivedZero' F ≫
+      (CochainComplex.isoHomologyπ₀ _).hom ≫ (I.isoRightDerivedObj F 0).inv := by
+  dsimp [Functor.toRightDerivedZero, isoRightDerivedObj]
+  have h₁ := InjectiveResolution.toRightDerivedZero'_naturality
+    (𝟙 X) (injectiveResolution X) I (desc (𝟙 X) _ _) (by simp) F
+  simp only [Functor.map_id, id_comp] at h₁
+  have h₂ : (I.isoRightDerivedToHomotopyCategoryObj F).hom =
+    (F.mapHomologicalComplex _ ⋙ HomotopyCategory.quotient _ _).map (desc (𝟙 X) _ _) :=
+    comp_id _
+  rw [← cancel_mono ((HomotopyCategory.homologyFunctor _ _ 0).map
+      (I.isoRightDerivedToHomotopyCategoryObj F).hom),
+    assoc, assoc, assoc, assoc, assoc, ← Functor.map_comp,
+    Iso.inv_hom_id, Functor.map_id, comp_id,
+    reassoc_of% h₁, h₂, ← HomologicalComplex.homologyπ_naturality_assoc]
+  erw [← NatTrans.naturality]
+  rfl
 
-end CategoryTheory
+instance (F : C ⥤ D) [F.Additive] (X : C) [Injective X] :
+    IsIso (F.toRightDerivedZero.app X) := by
+  rw [(InjectiveResolution.self X).toRightDerivedZero_eq F]
+  infer_instance
 
 section
 
-universe w v u
-
-open CategoryTheory.Limits CategoryTheory CategoryTheory.Functor
-
-variable {C : Type u} [Category.{w} C] {D : Type u} [Category.{w} D]
-
-variable (F : C ⥤ D) {X Y Z : C} {f : X ⟶ Y} {g : Y ⟶ Z}
-
-namespace CategoryTheory.Abelian.Functor
-
-open CategoryTheory.Preadditive
-
-variable [Abelian C] [Abelian D] [Additive F]
-
-/-- If `PreservesFiniteLimits F` and `Mono f`, then `Exact (F.map f) (F.map g)` if
-`Exact f g`. -/
-theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits F] [Mono f]
-    (ex : Exact f g) : Exact (F.map f) (F.map g) :=
-  Abelian.exact_of_is_kernel _ _ (by simp [← Functor.map_comp, ex.w]) <|
-    Limits.isLimitForkMapOfIsLimit' _ ex.w (Abelian.isLimitOfExactOfMono _ _ ex)
-#align category_theory.abelian.functor.preserves_exact_of_preserves_finite_limits_of_mono CategoryTheory.Abelian.Functor.preserves_exact_of_preservesFiniteLimits_of_mono
-
-theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesFiniteLimits F] :
-    Exact (F.map (P.ι.f 0))
-      (((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).dFrom 0) :=
-  Preadditive.exact_of_iso_of_exact' (F.map (P.ι.f 0)) (F.map (P.cocomplex.d 0 1)) _ _ (Iso.refl _)
-    (Iso.refl _)
-    (HomologicalComplex.xNextIso ((F.mapHomologicalComplex _).obj P.cocomplex) rfl).symm (by simp)
-    (by rw [Iso.refl_hom, Category.id_comp, Iso.symm_hom, HomologicalComplex.dFrom_eq] <;> congr)
-    (preserves_exact_of_preservesFiniteLimits_of_mono _ P.exact₀)
-#align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution
-
-/-- Given `P : InjectiveResolution X`, a morphism `(F.rightDerived 0).obj X ⟶ F.obj X` given
-`PreservesFiniteLimits F`. -/
-def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
-    (P : InjectiveResolution X) : (F.rightDerived 0).obj X ⟶ F.obj X :=
-  (rightDerivedObjIso F 0 P).hom ≫
-    (homology'IsoKernelDesc _ _ _).hom ≫
-      kernel.map _ (((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).dFrom 0)
-      (cokernel.desc _ (𝟙 _) (by simp)) (𝟙 _)
-          (by
-            -- Porting note: was ext; simp
-            ext
-            dsimp
-            simp) ≫
-        -- Porting note: isIso_kernel_lift_of_exact_of_mono is no longer allowed as an
-        -- instance for reasons I am not privy to
-        have : IsIso <| kernel.lift _ _ (exact_of_map_injectiveResolution F P).w :=
-          isIso_kernel_lift_of_exact_of_mono _ _ (exact_of_map_injectiveResolution F P)
-        (asIso (kernel.lift _ _ (exact_of_map_injectiveResolution F P).w)).inv
-#align category_theory.abelian.functor.right_derived_zero_to_self_app CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp
-
-/-- Given `P : InjectiveResolution X`, a morphism `F.obj X ⟶ (F.rightDerived 0).obj X`. -/
-def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveResolution X) :
-    F.obj X ⟶ (F.rightDerived 0).obj X :=
-  homology'.lift _ _ _ (F.map (P.ι.f 0) ≫ cokernel.π _)
-      (by
-        have : (ComplexShape.up ℕ).Rel 0 1 := rfl
-        rw [Category.assoc, cokernel.π_desc, HomologicalComplex.dFrom_eq _ this,
-          mapHomologicalComplex_obj_d, ← Category.assoc, ← Functor.map_comp]
-        simp only [InjectiveResolution.ι_f_zero_comp_complex_d, Functor.map_zero, zero_comp]) ≫
-    (rightDerivedObjIso F 0 P).inv
-#align category_theory.abelian.functor.right_derived_zero_to_self_app_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv
-
-theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
-    (P : InjectiveResolution X) :
-    rightDerivedZeroToSelfApp F P ≫ rightDerivedZeroToSelfAppInv F P = 𝟙 _ := by
-  dsimp [rightDerivedZeroToSelfApp, rightDerivedZeroToSelfAppInv]
-  rw [← Category.assoc, Iso.comp_inv_eq, Category.id_comp, Category.assoc, Category.assoc, ←
-    Iso.eq_inv_comp, Iso.inv_hom_id]
-  -- Porting note: broken ext
-  apply homology'.hom_to_ext
-  apply homology'.hom_from_ext
-  rw [Category.assoc, Category.assoc, homology'.lift_ι, Category.id_comp]
-  erw [homology'.π'_ι] -- Porting note: had to insist
-  rw [Category.assoc, ← Category.assoc _ _ (cokernel.π _),
-    Abelian.kernel.lift.inv, ← Category.assoc,
-    ← Category.assoc _ (kernel.ι _), Limits.kernel.lift_ι, Category.assoc, Category.assoc, ←
-    Category.assoc (homology'IsoKernelDesc _ _ _).hom _ _, ← homology'.ι, ← Category.assoc]
-  erw [homology'.π'_ι] -- Porting note: had to insist
-  rw [Category.assoc, ← Category.assoc (cokernel.π _)]
-  erw [cokernel.π_desc] -- Porting note: had to insist
-  rw [whisker_eq]
-  dsimp; simp -- Porting note: was convert
-  apply exact_of_map_injectiveResolution -- Porting note: Abelian.kernel.lift.inv
-  -- created an Exact goal which was no longer automatically discharged
-#align category_theory.abelian.functor.right_derived_zero_to_self_app_comp_inv CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfApp_comp_inv
-
-theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
-    (P : InjectiveResolution X) :
-    rightDerivedZeroToSelfAppInv F P ≫ rightDerivedZeroToSelfApp F P = 𝟙 _ := by
-  dsimp [rightDerivedZeroToSelfApp, rightDerivedZeroToSelfAppInv]
-  rw [← Category.assoc _ (F.rightDerivedObjIso 0 P).hom,
-    Category.assoc _ _ (F.rightDerivedObjIso 0 P).hom, Iso.inv_hom_id, Category.comp_id, ←
-    Category.assoc, ← Category.assoc]
-  -- Porting note: this IsIso instance used to be filled automatically
-  apply (@IsIso.comp_inv_eq D _ _ _ _ _ ?_ _ _).mpr
-  · rw [Category.id_comp]
-    ext
-    simp only [Limits.kernel.lift_ι_assoc,
-      Category.assoc, Limits.kernel.lift_ι, homology'.lift]
-    rw [← Category.assoc, ← Category.assoc,
-      Category.assoc _ _ (homology'IsoKernelDesc _ _ _).hom]
-    simp
-    -- Porting note: this used to be an instance in ML3
-  · apply isIso_kernel_lift_of_exact_of_mono _ _ (exact_of_map_injectiveResolution F P)
-#align category_theory.abelian.functor.right_derived_zero_to_self_app_inv_comp CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppInv_comp
-
-/-- Given `P : InjectiveResolution X`, the isomorphism `(F.rightDerived 0).obj X ≅ F.obj X` if
-`PreservesFiniteLimits F`. -/
-def rightDerivedZeroToSelfAppIso [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
-    (P : InjectiveResolution X) : (F.rightDerived 0).obj X ≅ F.obj X where
-  hom := rightDerivedZeroToSelfApp _ P
-  inv := rightDerivedZeroToSelfAppInv _ P
-  hom_inv_id := rightDerivedZeroToSelfApp_comp_inv _ P
-  inv_hom_id := rightDerivedZeroToSelfAppInv_comp _ P
-#align category_theory.abelian.functor.right_derived_zero_to_self_app_iso CategoryTheory.Abelian.Functor.rightDerivedZeroToSelfAppIso
-
-/-- Given `P : InjectiveResolution X` and `Q : InjectiveResolution Y` and a morphism `f : X ⟶ Y`,
-naturality of the square given by `rightDerivedZeroToSelf_natural`. -/
-theorem rightDerivedZeroToSelf_natural [EnoughInjectives C] {X : C} {Y : C} (f : X ⟶ Y)
-    (P : InjectiveResolution X) (Q : InjectiveResolution Y) :
-    F.map f ≫ rightDerivedZeroToSelfAppInv F Q =
-      rightDerivedZeroToSelfAppInv F P ≫ (F.rightDerived 0).map f := by
-  dsimp [rightDerivedZeroToSelfAppInv]
-  simp only [CategoryTheory.Functor.map_id, Category.id_comp, ← Category.assoc]
-  rw [Iso.comp_inv_eq, rightDerived_map_eq F 0 f (InjectiveResolution.desc f Q P) (by simp),
-    Category.assoc, Category.assoc, Category.assoc, Category.assoc, Iso.inv_hom_id,
-    Category.comp_id, ← Category.assoc (F.rightDerivedObjIso 0 P).inv, Iso.inv_hom_id,
-    Category.id_comp]
-  dsimp only [homology'Functor_map]
-  -- Porting note: broken ext
-  apply homology'.hom_to_ext
-  rw [Category.assoc, homology'.lift_ι, Category.assoc]
-  erw [homology'.map_ι] -- Porting note: need to insist
-  rw [←Category.assoc (homology'.lift _ _ _ _ _) _ _]
-  erw [homology'.lift_ι] -- Porting note: need to insist
-  rw [Category.assoc]
-  erw [cokernel.π_desc] -- Porting note: need to insist
-  rw [← Category.assoc, ← Functor.map_comp, ← Category.assoc,
-    HomologicalComplex.Hom.sqFrom_left, mapHomologicalComplex_map_f, ← Functor.map_comp,
-    InjectiveResolution.desc_commutes_zero f Q P]
-  rfl -- Porting note: extra rfl
-#align category_theory.abelian.functor.right_derived_zero_to_self_natural CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_natural
-
-/-- Given `PreservesFiniteLimits F`, the natural isomorphism `(F.rightDerived 0) ≅ F`. -/
-def rightDerivedZeroIsoSelf [EnoughInjectives C] [PreservesFiniteLimits F] : F.rightDerived 0 ≅ F :=
-  Iso.symm <|
-    NatIso.ofComponents
-      (fun X => (rightDerivedZeroToSelfAppIso _ (InjectiveResolution.of X)).symm) fun _ =>
-      rightDerivedZeroToSelf_natural _ _ _ _
-#align category_theory.abelian.functor.right_derived_zero_iso_self CategoryTheory.Abelian.Functor.rightDerivedZeroIsoSelf
-
-end CategoryTheory.Abelian.Functor
+variable (F : C ⥤ D) [F.Additive] [PreservesFiniteLimits F]
+
+instance {X : C} (P : InjectiveResolution X) :
+    IsIso (P.toRightDerivedZero' F) := by
+  dsimp [InjectiveResolution.toRightDerivedZero']
+  rw [CochainComplex.isIso_liftCycles_iff, ShortComplex.exact_and_mono_f_iff_f_is_kernel]
+  exact ⟨KernelFork.mapIsLimit _ (P.isLimitKernelFork) F⟩
+
+instance (X : C) : IsIso (F.toRightDerivedZero.app X) := by
+  dsimp [Functor.toRightDerivedZero]
+  infer_instance
+
+instance [PreservesFiniteLimits F] : IsIso F.toRightDerivedZero :=
+  NatIso.isIso_of_isIso_app _
+
+namespace Functor
+
+/-- The canonical isomorphism `F.rightDerived 0 ≅ F` when `F` is left exact
+(i.e. preserves finite limits). -/
+@[simps! inv]
+noncomputable def rightDerivedZeroIsoSelf : F.rightDerived 0 ≅ F :=
+  (asIso F.toRightDerivedZero).symm
+
+@[reassoc (attr := simp)]
+lemma rightDerivedZeroIsoSelf_hom_inv_id :
+    F.rightDerivedZeroIsoSelf.hom ≫ F.toRightDerivedZero = 𝟙 _ :=
+  F.rightDerivedZeroIsoSelf.hom_inv_id
+
+@[reassoc (attr := simp)]
+lemma rightDerivedZeroIsoSelf_inv_hom_id :
+    F.toRightDerivedZero ≫ F.rightDerivedZeroIsoSelf.hom = 𝟙 _ :=
+  F.rightDerivedZeroIsoSelf.inv_hom_id
+
+@[reassoc (attr := simp)]
+lemma rightDerivedZeroIsoSelf_hom_inv_id_app (X : C) :
+    F.rightDerivedZeroIsoSelf.hom.app X ≫ F.toRightDerivedZero.app X = 𝟙 _ :=
+  F.rightDerivedZeroIsoSelf.hom_inv_id_app X
+
+@[reassoc (attr := simp)]
+lemma rightDerivedZeroIsoSelf_inv_hom_id_app (X : C) :
+    F.toRightDerivedZero.app X ≫ F.rightDerivedZeroIsoSelf.hom.app X = 𝟙 _ :=
+  F.rightDerivedZeroIsoSelf.inv_hom_id_app X
+
+end Functor
+
+end
+
+end CategoryTheory
refactor(Algebra/Homology): remove single₀ (#8208)

This PR removes the special definitions of single₀ for chain and cochain complexes, so as to avoid duplication of code with HomologicalComplex.single which is the functor constructing the complex that is supported by a single arbitrary degree. single₀ was supposed to have better definitional properties, but it turns out that in Lean4, it is no longer true (at least for the action of this functor on objects). The computation of the homology of these single complexes is generalized for HomologicalComplex.single using the new homology API: this result is moved to a separate file Algebra.Homology.SingleHomology.

Diff
@@ -84,7 +84,8 @@ def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
 def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Injective X] :
     (F.rightDerived 0).obj X ≅ F.obj X :=
   F.rightDerivedObjIso 0 (InjectiveResolution.self X) ≪≫
-    (homology'Functor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
+    (homology'Functor _ _ _).mapIso
+      ((HomologicalComplex.singleMapHomologicalComplex F (ComplexShape.up ℕ) 0).app X) ≪≫
       (CochainComplex.homologyFunctor0Single₀ D).app (F.obj X)
 #align category_theory.functor.right_derived_obj_injective_zero CategoryTheory.Functor.rightDerivedObjInjectiveZero
 
@@ -95,7 +96,8 @@ open ZeroObject
 def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X : C) [Injective X] :
     (F.rightDerived (n + 1)).obj X ≅ 0 :=
   F.rightDerivedObjIso (n + 1) (InjectiveResolution.self X) ≪≫
-    (homology'Functor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
+    (homology'Functor _ _ _).mapIso
+      ((HomologicalComplex.singleMapHomologicalComplex F (ComplexShape.up ℕ) _).app X) ≪≫
       (CochainComplex.homology'FunctorSuccSingle₀ D n).app (F.obj X) ≪≫ (Functor.zero_obj _).isoZero
 #align category_theory.functor.right_derived_obj_injective_succ CategoryTheory.Functor.rightDerivedObjInjectiveSucc
 
@@ -314,8 +316,7 @@ theorem rightDerivedZeroToSelf_natural [EnoughInjectives C] {X : C} {Y : C} (f :
   erw [cokernel.π_desc] -- Porting note: need to insist
   rw [← Category.assoc, ← Functor.map_comp, ← Category.assoc,
     HomologicalComplex.Hom.sqFrom_left, mapHomologicalComplex_map_f, ← Functor.map_comp,
-    show f ≫ Q.ι.f 0 = P.ι.f 0 ≫ (InjectiveResolution.desc f Q P).f 0 from
-      HomologicalComplex.congr_hom (InjectiveResolution.desc_commutes f Q P).symm 0]
+    InjectiveResolution.desc_commutes_zero f Q P]
   rfl -- Porting note: extra rfl
 #align category_theory.abelian.functor.right_derived_zero_to_self_natural CategoryTheory.Abelian.Functor.rightDerivedZeroToSelf_natural
 
refactor: introduce the new homology API for homological complex and rename the old one (#7954)

This PR renames definitions of the current homology API (adding a ' to homology, cycles, QuasiIso) so as to create space for the development of the new homology API of homological complexes: this PR also contains the new definition of HomologicalComplex.homology which involves the homology theory of short complexes.

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

Diff
@@ -64,7 +64,7 @@ variable [Abelian C] [HasInjectiveResolutions C] [Abelian D]
 
 /-- The right derived functors of an additive functor. -/
 def Functor.rightDerived (F : C ⥤ D) [F.Additive] (n : ℕ) : C ⥤ D :=
-  injectiveResolutions C ⋙ F.mapHomotopyCategory _ ⋙ HomotopyCategory.homologyFunctor D _ n
+  injectiveResolutions C ⋙ F.mapHomotopyCategory _ ⋙ HomotopyCategory.homology'Functor D _ n
 #align category_theory.functor.right_derived CategoryTheory.Functor.rightDerived
 
 /-- We can compute a right derived functor using a chosen injective resolution. -/
@@ -72,11 +72,11 @@ def Functor.rightDerived (F : C ⥤ D) [F.Additive] (n : ℕ) : C ⥤ D :=
 def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
     (P : InjectiveResolution X) :
     (F.rightDerived n).obj X ≅
-      (homologyFunctor D _ n).obj ((F.mapHomologicalComplex _).obj P.cocomplex) :=
-  (HomotopyCategory.homologyFunctor D _ n).mapIso
+      (homology'Functor D _ n).obj ((F.mapHomologicalComplex _).obj P.cocomplex) :=
+  (HomotopyCategory.homology'Functor D _ n).mapIso
       (HomotopyCategory.isoOfHomotopyEquiv
         (F.mapHomotopyEquiv (InjectiveResolution.homotopyEquiv _ P))) ≪≫
-    (HomotopyCategory.homologyFactors D _ n).app _
+    (HomotopyCategory.homology'Factors D _ n).app _
 #align category_theory.functor.right_derived_obj_iso CategoryTheory.Functor.rightDerivedObjIso
 
 /-- The 0-th derived functor of `F` on an injective object `X` is just `F.obj X`. -/
@@ -84,7 +84,7 @@ def Functor.rightDerivedObjIso (F : C ⥤ D) [F.Additive] (n : ℕ) {X : C}
 def Functor.rightDerivedObjInjectiveZero (F : C ⥤ D) [F.Additive] (X : C) [Injective X] :
     (F.rightDerived 0).obj X ≅ F.obj X :=
   F.rightDerivedObjIso 0 (InjectiveResolution.self X) ≪≫
-    (homologyFunctor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
+    (homology'Functor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
       (CochainComplex.homologyFunctor0Single₀ D).app (F.obj X)
 #align category_theory.functor.right_derived_obj_injective_zero CategoryTheory.Functor.rightDerivedObjInjectiveZero
 
@@ -95,8 +95,8 @@ open ZeroObject
 def Functor.rightDerivedObjInjectiveSucc (F : C ⥤ D) [F.Additive] (n : ℕ) (X : C) [Injective X] :
     (F.rightDerived (n + 1)).obj X ≅ 0 :=
   F.rightDerivedObjIso (n + 1) (InjectiveResolution.self X) ≪≫
-    (homologyFunctor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
-      (CochainComplex.homologyFunctorSuccSingle₀ D n).app (F.obj X) ≪≫ (Functor.zero_obj _).isoZero
+    (homology'Functor _ _ _).mapIso ((CochainComplex.single₀MapHomologicalComplex F).app X) ≪≫
+      (CochainComplex.homology'FunctorSuccSingle₀ D n).app (F.obj X) ≪≫ (Functor.zero_obj _).isoZero
 #align category_theory.functor.right_derived_obj_injective_succ CategoryTheory.Functor.rightDerivedObjInjectiveSucc
 
 /-- We can compute a right derived functor on a morphism using a descent of that morphism
@@ -107,12 +107,12 @@ theorem Functor.rightDerived_map_eq (F : C ⥤ D) [F.Additive] (n : ℕ) {X Y :
     (w : Q.ι ≫ g = (CochainComplex.single₀ C).map f ≫ P.ι) :
     (F.rightDerived n).map f =
       (F.rightDerivedObjIso n Q).hom ≫
-        (homologyFunctor D _ n).map ((F.mapHomologicalComplex _).map g) ≫
+        (homology'Functor D _ n).map ((F.mapHomologicalComplex _).map g) ≫
           (F.rightDerivedObjIso n P).inv := by
   dsimp only [Functor.rightDerived, Functor.rightDerivedObjIso]
   dsimp
   simp only [Category.comp_id, Category.id_comp]
-  rw [← homologyFunctor_map, HomotopyCategory.homologyFunctor_map_factors]
+  rw [← homology'Functor_map, HomotopyCategory.homology'Functor_map_factors]
   simp only [← Functor.map_comp]
   congr 1
   apply HomotopyCategory.eq_of_homotopy
@@ -129,7 +129,7 @@ theorem Functor.rightDerived_map_eq (F : C ⥤ D) [F.Additive] (n : ℕ) {X Y :
 def NatTrans.rightDerived {F G : C ⥤ D} [F.Additive] [G.Additive] (α : F ⟶ G) (n : ℕ) :
     F.rightDerived n ⟶ G.rightDerived n :=
   whiskerLeft (injectiveResolutions C)
-    (whiskerRight (NatTrans.mapHomotopyCategory α _) (HomotopyCategory.homologyFunctor D _ n))
+    (whiskerRight (NatTrans.mapHomotopyCategory α _) (HomotopyCategory.homology'Functor D _ n))
 #align category_theory.nat_trans.right_derived CategoryTheory.NatTrans.rightDerived
 
 @[simp]
@@ -153,12 +153,12 @@ theorem NatTrans.rightDerived_eq {F G : C ⥤ D} [F.Additive] [G.Additive] (α :
     (P : InjectiveResolution X) :
     (NatTrans.rightDerived α n).app X =
       (F.rightDerivedObjIso n P).hom ≫
-        (homologyFunctor D _ n).map ((NatTrans.mapHomologicalComplex α _).app P.cocomplex) ≫
+        (homology'Functor D _ n).map ((NatTrans.mapHomologicalComplex α _).app P.cocomplex) ≫
           (G.rightDerivedObjIso n P).inv := by
   symm
   dsimp [NatTrans.rightDerived, Functor.rightDerivedObjIso]
   simp only [Category.comp_id, Category.id_comp]
-  rw [← homologyFunctor_map, HomotopyCategory.homologyFunctor_map_factors]
+  rw [← homology'Functor_map, HomotopyCategory.homology'Functor_map_factors]
   simp only [← Functor.map_comp]
   congr 1
   apply HomotopyCategory.eq_of_homotopy
@@ -210,7 +210,7 @@ theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesF
 def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X : C}
     (P : InjectiveResolution X) : (F.rightDerived 0).obj X ⟶ F.obj X :=
   (rightDerivedObjIso F 0 P).hom ≫
-    (homologyIsoKernelDesc _ _ _).hom ≫
+    (homology'IsoKernelDesc _ _ _).hom ≫
       kernel.map _ (((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).dFrom 0)
       (cokernel.desc _ (𝟙 _) (by simp)) (𝟙 _)
           (by
@@ -228,7 +228,7 @@ def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X
 /-- Given `P : InjectiveResolution X`, a morphism `F.obj X ⟶ (F.rightDerived 0).obj X`. -/
 def rightDerivedZeroToSelfAppInv [EnoughInjectives C] {X : C} (P : InjectiveResolution X) :
     F.obj X ⟶ (F.rightDerived 0).obj X :=
-  homology.lift _ _ _ (F.map (P.ι.f 0) ≫ cokernel.π _)
+  homology'.lift _ _ _ (F.map (P.ι.f 0) ≫ cokernel.π _)
       (by
         have : (ComplexShape.up ℕ).Rel 0 1 := rfl
         rw [Category.assoc, cokernel.π_desc, HomologicalComplex.dFrom_eq _ this,
@@ -244,15 +244,15 @@ theorem rightDerivedZeroToSelfApp_comp_inv [EnoughInjectives C] [PreservesFinite
   rw [← Category.assoc, Iso.comp_inv_eq, Category.id_comp, Category.assoc, Category.assoc, ←
     Iso.eq_inv_comp, Iso.inv_hom_id]
   -- Porting note: broken ext
-  apply homology.hom_to_ext
-  apply homology.hom_from_ext
-  rw [Category.assoc, Category.assoc, homology.lift_ι, Category.id_comp]
-  erw [homology.π'_ι] -- Porting note: had to insist
+  apply homology'.hom_to_ext
+  apply homology'.hom_from_ext
+  rw [Category.assoc, Category.assoc, homology'.lift_ι, Category.id_comp]
+  erw [homology'.π'_ι] -- Porting note: had to insist
   rw [Category.assoc, ← Category.assoc _ _ (cokernel.π _),
     Abelian.kernel.lift.inv, ← Category.assoc,
     ← Category.assoc _ (kernel.ι _), Limits.kernel.lift_ι, Category.assoc, Category.assoc, ←
-    Category.assoc (homologyIsoKernelDesc _ _ _).hom _ _, ← homology.ι, ← Category.assoc]
-  erw [homology.π'_ι] -- Porting note: had to insist
+    Category.assoc (homology'IsoKernelDesc _ _ _).hom _ _, ← homology'.ι, ← Category.assoc]
+  erw [homology'.π'_ι] -- Porting note: had to insist
   rw [Category.assoc, ← Category.assoc (cokernel.π _)]
   erw [cokernel.π_desc] -- Porting note: had to insist
   rw [whisker_eq]
@@ -273,9 +273,9 @@ theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteL
   · rw [Category.id_comp]
     ext
     simp only [Limits.kernel.lift_ι_assoc,
-      Category.assoc, Limits.kernel.lift_ι, homology.lift]
+      Category.assoc, Limits.kernel.lift_ι, homology'.lift]
     rw [← Category.assoc, ← Category.assoc,
-      Category.assoc _ _ (homologyIsoKernelDesc _ _ _).hom]
+      Category.assoc _ _ (homology'IsoKernelDesc _ _ _).hom]
     simp
     -- Porting note: this used to be an instance in ML3
   · apply isIso_kernel_lift_of_exact_of_mono _ _ (exact_of_map_injectiveResolution F P)
@@ -303,13 +303,13 @@ theorem rightDerivedZeroToSelf_natural [EnoughInjectives C] {X : C} {Y : C} (f :
     Category.assoc, Category.assoc, Category.assoc, Category.assoc, Iso.inv_hom_id,
     Category.comp_id, ← Category.assoc (F.rightDerivedObjIso 0 P).inv, Iso.inv_hom_id,
     Category.id_comp]
-  dsimp only [homologyFunctor_map]
+  dsimp only [homology'Functor_map]
   -- Porting note: broken ext
-  apply homology.hom_to_ext
-  rw [Category.assoc, homology.lift_ι, Category.assoc]
-  erw [homology.map_ι] -- Porting note: need to insist
-  rw [←Category.assoc (homology.lift _ _ _ _ _) _ _]
-  erw [homology.lift_ι] -- Porting note: need to insist
+  apply homology'.hom_to_ext
+  rw [Category.assoc, homology'.lift_ι, Category.assoc]
+  erw [homology'.map_ι] -- Porting note: need to insist
+  rw [←Category.assoc (homology'.lift _ _ _ _ _) _ _]
+  erw [homology'.lift_ι] -- Porting note: need to insist
   rw [Category.assoc]
   erw [cokernel.π_desc] -- Porting note: need to insist
   rw [← Category.assoc, ← Functor.map_comp, ← Category.assoc,
chore: cleanup some spaces (#7484)

Purely cosmetic PR.

Diff
@@ -201,7 +201,7 @@ theorem exact_of_map_injectiveResolution (P : InjectiveResolution X) [PreservesF
   Preadditive.exact_of_iso_of_exact' (F.map (P.ι.f 0)) (F.map (P.cocomplex.d 0 1)) _ _ (Iso.refl _)
     (Iso.refl _)
     (HomologicalComplex.xNextIso ((F.mapHomologicalComplex _).obj P.cocomplex) rfl).symm (by simp)
-    (by rw [Iso.refl_hom, Category.id_comp, Iso.symm_hom, HomologicalComplex.dFrom_eq] <;> congr )
+    (by rw [Iso.refl_hom, Category.id_comp, Iso.symm_hom, HomologicalComplex.dFrom_eq] <;> congr)
     (preserves_exact_of_preservesFiniteLimits_of_mono _ P.exact₀)
 #align category_theory.abelian.functor.exact_of_map_injective_resolution CategoryTheory.Abelian.Functor.exact_of_map_injectiveResolution
 
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -58,7 +58,7 @@ namespace CategoryTheory
 
 universe v u
 
-variable {C : Type u} [Category.{v} C] {D : Type _} [Category D]
+variable {C : Type u} [Category.{v} C] {D : Type*} [Category D]
 
 variable [Abelian C] [HasInjectiveResolutions C] [Abelian 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,11 +2,6 @@
 Copyright (c) 2022 Jujian Zhang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang, Scott Morrison
-
-! This file was ported from Lean 3 source module category_theory.abelian.right_derived
-! leanprover-community/mathlib commit 024a4231815538ac739f52d08dd20a55da0d6b23
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Abelian.InjectiveResolution
 import Mathlib.Algebra.Homology.Additive
@@ -14,6 +9,8 @@ import Mathlib.CategoryTheory.Limits.Constructions.EpiMono
 import Mathlib.CategoryTheory.Abelian.Homology
 import Mathlib.CategoryTheory.Abelian.Exact
 
+#align_import category_theory.abelian.right_derived from "leanprover-community/mathlib"@"024a4231815538ac739f52d08dd20a55da0d6b23"
+
 /-!
 # Right-derived functors
 
feat: more consistent use of ext, and updating porting notes. (#5242)

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -218,11 +218,11 @@ def rightDerivedZeroToSelfApp [EnoughInjectives C] [PreservesFiniteLimits F] {X
       (cokernel.desc _ (𝟙 _) (by simp)) (𝟙 _)
           (by
             -- Porting note: was ext; simp
-            apply coequalizer.hom_ext
+            ext
             dsimp
             simp) ≫
         -- Porting note: isIso_kernel_lift_of_exact_of_mono is no longer allowed as an
-        -- instance for reasons am I not privy to
+        -- instance for reasons I am not privy to
         have : IsIso <| kernel.lift _ _ (exact_of_map_injectiveResolution F P).w :=
           isIso_kernel_lift_of_exact_of_mono _ _ (exact_of_map_injectiveResolution F P)
         (asIso (kernel.lift _ _ (exact_of_map_injectiveResolution F P).w)).inv
@@ -274,8 +274,7 @@ theorem rightDerivedZeroToSelfAppInv_comp [EnoughInjectives C] [PreservesFiniteL
   -- Porting note: this IsIso instance used to be filled automatically
   apply (@IsIso.comp_inv_eq D _ _ _ _ _ ?_ _ _).mpr
   · rw [Category.id_comp]
-    -- Porting note: broken ext
-    apply equalizer.hom_ext
+    ext
     simp only [Limits.kernel.lift_ι_assoc,
       Category.assoc, Limits.kernel.lift_ι, homology.lift]
     rw [← Category.assoc, ← Category.assoc,
chore: tidy various files (#4757)
Diff
@@ -22,7 +22,7 @@ out of a category with injective resolutions.
 
 The definition is
 ```
-injective_resolutions C ⋙ F.mapHomotopyCategory _ ⋙ HomotopyCategory.homologyFunctor D _ n
+injectiveResolutions C ⋙ F.mapHomotopyCategory _ ⋙ HomotopyCategory.homologyFunctor D _ n
 ```
 that is, we pick an injective resolution (thought of as an object of the homotopy category),
 we apply `F` objectwise, and compute `n`-th homology.
@@ -191,7 +191,7 @@ open CategoryTheory.Preadditive
 variable [Abelian C] [Abelian D] [Additive F]
 
 /-- If `PreservesFiniteLimits F` and `Mono f`, then `Exact (F.map f) (F.map g)` if
-`exact f g`. -/
+`Exact f g`. -/
 theorem preserves_exact_of_preservesFiniteLimits_of_mono [PreservesFiniteLimits F] [Mono f]
     (ex : Exact f g) : Exact (F.map f) (F.map g) :=
   Abelian.exact_of_is_kernel _ _ (by simp [← Functor.map_comp, ex.w]) <|
@@ -332,4 +332,3 @@ def rightDerivedZeroIsoSelf [EnoughInjectives C] [PreservesFiniteLimits F] : F.r
 #align category_theory.abelian.functor.right_derived_zero_iso_self CategoryTheory.Abelian.Functor.rightDerivedZeroIsoSelf
 
 end CategoryTheory.Abelian.Functor
-
feat: port CategoryTheory.Abelian.RightDerived (#4284)

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

Dependencies 8 + 546

547 files ported (98.6%)
211520 lines ported (98.6%)
Show graph

The unported dependencies are