algebra.homology.homotopy_category
⟷
Mathlib.Algebra.Homology.HomotopyCategory
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/3365b20c2ffa7c35e47e5209b89ba9abdddf3ffe
@@ -160,42 +160,42 @@ def homotopyEquivOfIso {C D : HomologicalComplex V c}
variable (V c) [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
-#print HomotopyCategory.homologyFunctor /-
+#print HomotopyCategory.homology'Functor /-
/-- The `i`-th homology, as a functor from the homotopy category. -/
-def homologyFunctor (i : ι) : HomotopyCategory V c ⥤ V :=
- CategoryTheory.Quotient.lift _ (homologyFunctor V c i) fun C D f g ⟨h⟩ =>
- homology_map_eq_of_homotopy h i
-#align homotopy_category.homology_functor HomotopyCategory.homologyFunctor
+def homology'Functor (i : ι) : HomotopyCategory V c ⥤ V :=
+ CategoryTheory.Quotient.lift _ (homology'Functor V c i) fun C D f g ⟨h⟩ =>
+ homology'_map_eq_of_homotopy h i
+#align homotopy_category.homology_functor HomotopyCategory.homology'Functor
-/
-#print HomotopyCategory.homologyFactors /-
+#print HomotopyCategory.homology'Factors /-
/-- The homology functor on the homotopy category is just the usual homology functor. -/
-def homologyFactors (i : ι) : quotient V c ⋙ homologyFunctor V c i ≅ homologyFunctor V c i :=
+def homology'Factors (i : ι) : quotient V c ⋙ homology'Functor V c i ≅ homology'Functor V c i :=
CategoryTheory.Quotient.lift.isLift _ _ _
-#align homotopy_category.homology_factors HomotopyCategory.homologyFactors
+#align homotopy_category.homology_factors HomotopyCategory.homology'Factors
-/
-#print HomotopyCategory.homologyFactors_hom_app /-
+#print HomotopyCategory.homology'Factors_hom_app /-
@[simp]
-theorem homologyFactors_hom_app (i : ι) (C : HomologicalComplex V c) :
- (homologyFactors V c i).Hom.app C = 𝟙 _ :=
+theorem homology'Factors_hom_app (i : ι) (C : HomologicalComplex V c) :
+ (homology'Factors V c i).Hom.app C = 𝟙 _ :=
rfl
-#align homotopy_category.homology_factors_hom_app HomotopyCategory.homologyFactors_hom_app
+#align homotopy_category.homology_factors_hom_app HomotopyCategory.homology'Factors_hom_app
-/
-#print HomotopyCategory.homologyFactors_inv_app /-
+#print HomotopyCategory.homology'Factors_inv_app /-
@[simp]
-theorem homologyFactors_inv_app (i : ι) (C : HomologicalComplex V c) :
- (homologyFactors V c i).inv.app C = 𝟙 _ :=
+theorem homology'Factors_inv_app (i : ι) (C : HomologicalComplex V c) :
+ (homology'Factors V c i).inv.app C = 𝟙 _ :=
rfl
-#align homotopy_category.homology_factors_inv_app HomotopyCategory.homologyFactors_inv_app
+#align homotopy_category.homology_factors_inv_app HomotopyCategory.homology'Factors_inv_app
-/
-#print HomotopyCategory.homologyFunctor_map_factors /-
-theorem homologyFunctor_map_factors (i : ι) {C D : HomologicalComplex V c} (f : C ⟶ D) :
- (homologyFunctor V c i).map f = ((homologyFunctor V c i).map ((quotient V c).map f) : _) :=
- (CategoryTheory.Quotient.lift_map_functor_map _ (homologyFunctor V c i) _ f).symm
-#align homotopy_category.homology_functor_map_factors HomotopyCategory.homologyFunctor_map_factors
+#print HomotopyCategory.homology'Functor_map_factors /-
+theorem homology'Functor_map_factors (i : ι) {C D : HomologicalComplex V c} (f : C ⟶ D) :
+ (homology'Functor V c i).map f = ((homology'Functor V c i).map ((quotient V c).map f) : _) :=
+ (CategoryTheory.Quotient.lift_map_functor_map _ (homology'Functor V c i) _ f).symm
+#align homotopy_category.homology_functor_map_factors HomotopyCategory.homology'Functor_map_factors
-/
end HomotopyCategory
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2021 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import Mathbin.Algebra.Homology.Homotopy
-import Mathbin.CategoryTheory.Quotient
+import Algebra.Homology.Homotopy
+import CategoryTheory.Quotient
#align_import algebra.homology.homotopy_category from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2021 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebra.homology.homotopy_category
-! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Homology.Homotopy
import Mathbin.CategoryTheory.Quotient
+#align_import algebra.homology.homotopy_category from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
+
/-!
# The homotopy category
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -82,27 +82,36 @@ instance [HasZeroObject V] : Inhabited (HomotopyCategory V c) :=
variable {V c}
+#print HomotopyCategory.quotient_obj_as /-
@[simp]
theorem quotient_obj_as (C : HomologicalComplex V c) : ((quotient V c).obj C).as = C :=
rfl
#align homotopy_category.quotient_obj_as HomotopyCategory.quotient_obj_as
+-/
+#print HomotopyCategory.quotient_map_out /-
@[simp]
theorem quotient_map_out {C D : HomotopyCategory V c} (f : C ⟶ D) : (quotient V c).map f.out = f :=
Quot.out_eq _
#align homotopy_category.quotient_map_out HomotopyCategory.quotient_map_out
+-/
+#print HomotopyCategory.eq_of_homotopy /-
theorem eq_of_homotopy {C D : HomologicalComplex V c} (f g : C ⟶ D) (h : Homotopy f g) :
(quotient V c).map f = (quotient V c).map g :=
CategoryTheory.Quotient.sound _ ⟨h⟩
#align homotopy_category.eq_of_homotopy HomotopyCategory.eq_of_homotopy
+-/
+#print HomotopyCategory.homotopyOfEq /-
/-- If two chain maps become equal in the homotopy category, then they are homotopic. -/
def homotopyOfEq {C D : HomologicalComplex V c} (f g : C ⟶ D)
(w : (quotient V c).map f = (quotient V c).map g) : Homotopy f g :=
((Quotient.functor_map_eq_iff _ _ _).mp w).some
#align homotopy_category.homotopy_of_eq HomotopyCategory.homotopyOfEq
+-/
+#print HomotopyCategory.homotopyOutMap /-
/-- An arbitrarily chosen representation of the image of a chain map in the homotopy category
is homotopic to the original chain map.
-/
@@ -112,13 +121,17 @@ def homotopyOutMap {C D : HomologicalComplex V c} (f : C ⟶ D) :
apply homotopy_of_eq
simp
#align homotopy_category.homotopy_out_map HomotopyCategory.homotopyOutMap
+-/
+#print HomotopyCategory.quotient_map_out_comp_out /-
@[simp]
theorem quotient_map_out_comp_out {C D E : HomotopyCategory V c} (f : C ⟶ D) (g : D ⟶ E) :
(quotient V c).map (Quot.out f ≫ Quot.out g) = f ≫ g := by
conv_rhs => erw [← quotient_map_out f, ← quotient_map_out g, ← (Quotient V c).map_comp]
#align homotopy_category.quotient_map_out_comp_out HomotopyCategory.quotient_map_out_comp_out
+-/
+#print HomotopyCategory.isoOfHomotopyEquiv /-
/-- Homotopy equivalent complexes become isomorphic in the homotopy category. -/
@[simps]
def isoOfHomotopyEquiv {C D : HomologicalComplex V c} (f : HomotopyEquiv C D) :
@@ -133,7 +146,9 @@ def isoOfHomotopyEquiv {C D : HomologicalComplex V c} (f : HomotopyEquiv C D) :
rw [← (Quotient V c).map_comp, ← (Quotient V c).map_id]
exact eq_of_homotopy _ _ f.homotopy_inv_hom_id
#align homotopy_category.iso_of_homotopy_equiv HomotopyCategory.isoOfHomotopyEquiv
+-/
+#print HomotopyCategory.homotopyEquivOfIso /-
/-- If two complexes become isomorphic in the homotopy category,
then they were homotopy equivalent. -/
def homotopyEquivOfIso {C D : HomologicalComplex V c}
@@ -144,6 +159,7 @@ def homotopyEquivOfIso {C D : HomologicalComplex V c}
homotopyHomInvId := homotopyOfEq _ _ (by simp; rfl)
homotopyInvHomId := homotopyOfEq _ _ (by simp; rfl)
#align homotopy_category.homotopy_equiv_of_iso HomotopyCategory.homotopyEquivOfIso
+-/
variable (V c) [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
@@ -162,22 +178,28 @@ def homologyFactors (i : ι) : quotient V c ⋙ homologyFunctor V c i ≅ homolo
#align homotopy_category.homology_factors HomotopyCategory.homologyFactors
-/
+#print HomotopyCategory.homologyFactors_hom_app /-
@[simp]
theorem homologyFactors_hom_app (i : ι) (C : HomologicalComplex V c) :
(homologyFactors V c i).Hom.app C = 𝟙 _ :=
rfl
#align homotopy_category.homology_factors_hom_app HomotopyCategory.homologyFactors_hom_app
+-/
+#print HomotopyCategory.homologyFactors_inv_app /-
@[simp]
theorem homologyFactors_inv_app (i : ι) (C : HomologicalComplex V c) :
(homologyFactors V c i).inv.app C = 𝟙 _ :=
rfl
#align homotopy_category.homology_factors_inv_app HomotopyCategory.homologyFactors_inv_app
+-/
+#print HomotopyCategory.homologyFunctor_map_factors /-
theorem homologyFunctor_map_factors (i : ι) {C D : HomologicalComplex V c} (f : C ⟶ D) :
(homologyFunctor V c i).map f = ((homologyFunctor V c i).map ((quotient V c).map f) : _) :=
(CategoryTheory.Quotient.lift_map_functor_map _ (homologyFunctor V c i) _ f).symm
#align homotopy_category.homology_functor_map_factors HomotopyCategory.homologyFunctor_map_factors
+-/
end HomotopyCategory
@@ -185,6 +207,7 @@ namespace CategoryTheory
variable {V} {W : Type _} [Category W] [Preadditive W]
+#print CategoryTheory.Functor.mapHomotopyCategory /-
/-- An additive functor induces a functor between homotopy categories. -/
@[simps]
def Functor.mapHomotopyCategory (c : ComplexShape ι) (F : V ⥤ W) [F.Additive] :
@@ -208,7 +231,9 @@ def Functor.mapHomotopyCategory (c : ComplexShape ι) (F : V ⥤ W) [F.Additive]
convert Quot.out_eq _
exact HomotopyCategory.quotient_map_out_comp_out _ _
#align category_theory.functor.map_homotopy_category CategoryTheory.Functor.mapHomotopyCategory
+-/
+#print CategoryTheory.NatTrans.mapHomotopyCategory /-
-- TODO `F.map_homotopy_category c` is additive (and linear when `F` is linear).
/-- A natural transformation induces a natural transformation between
the induced functors on the homotopy category. -/
@@ -225,12 +250,16 @@ def NatTrans.mapHomotopyCategory {F G : V ⥤ W} [F.Additive] [G.Additive] (α :
dsimp
simp
#align category_theory.nat_trans.map_homotopy_category CategoryTheory.NatTrans.mapHomotopyCategory
+-/
+#print CategoryTheory.NatTrans.mapHomotopyCategory_id /-
@[simp]
theorem NatTrans.mapHomotopyCategory_id (c : ComplexShape ι) (F : V ⥤ W) [F.Additive] :
NatTrans.mapHomotopyCategory (𝟙 F) c = 𝟙 (F.mapHomotopyCategory c) := by tidy
#align category_theory.nat_trans.map_homotopy_category_id CategoryTheory.NatTrans.mapHomotopyCategory_id
+-/
+#print CategoryTheory.NatTrans.mapHomotopyCategory_comp /-
@[simp]
theorem NatTrans.mapHomotopyCategory_comp (c : ComplexShape ι) {F G H : V ⥤ W} [F.Additive]
[G.Additive] [H.Additive] (α : F ⟶ G) (β : G ⟶ H) :
@@ -238,6 +267,7 @@ theorem NatTrans.mapHomotopyCategory_comp (c : ComplexShape ι) {F G H : V ⥤ W
NatTrans.mapHomotopyCategory α c ≫ NatTrans.mapHomotopyCategory β c :=
by tidy
#align category_theory.nat_trans.map_homotopy_category_comp CategoryTheory.NatTrans.mapHomotopyCategory_comp
+-/
end CategoryTheory
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -59,7 +59,8 @@ instance homotopy_congruence : Congruence (homotopic V c)
/-- `homotopy_category V c` is the category of chain complexes of shape `c` in `V`,
with chain maps identified when they are homotopic. -/
def HomotopyCategory :=
- CategoryTheory.Quotient (homotopic V c)deriving Category
+ CategoryTheory.Quotient (homotopic V c)
+deriving Category
#align homotopy_category HomotopyCategory
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -24,7 +24,7 @@ with chain maps identified when they are homotopic.
universe v u
-open Classical
+open scoped Classical
noncomputable section
@@ -73,7 +73,7 @@ def quotient : HomologicalComplex V c ⥤ HomotopyCategory V c :=
#align homotopy_category.quotient HomotopyCategory.quotient
-/
-open ZeroObject
+open scoped ZeroObject
-- TODO upgrade this to `has_zero_object`, presumably for any `quotient`.
instance [HasZeroObject V] : Inhabited (HomotopyCategory V c) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -81,45 +81,27 @@ instance [HasZeroObject V] : Inhabited (HomotopyCategory V c) :=
variable {V c}
-/- warning: homotopy_category.quotient_obj_as -> HomotopyCategory.quotient_obj_as is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} (C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c), Eq.{max (succ u2) (succ u3) (succ u1)} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) C
-but is expected to have type
- forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] {c : ComplexShape.{u1} ι} (C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C)) C
-Case conversion may be inaccurate. Consider using '#align homotopy_category.quotient_obj_as HomotopyCategory.quotient_obj_asₓ'. -/
@[simp]
theorem quotient_obj_as (C : HomologicalComplex V c) : ((quotient V c).obj C).as = C :=
rfl
#align homotopy_category.quotient_obj_as HomotopyCategory.quotient_obj_as
-/- warning: homotopy_category.quotient_map_out -> HomotopyCategory.quotient_map_out is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homotopy_category.quotient_map_out HomotopyCategory.quotient_map_outₓ'. -/
@[simp]
theorem quotient_map_out {C D : HomotopyCategory V c} (f : C ⟶ D) : (quotient V c).map f.out = f :=
Quot.out_eq _
#align homotopy_category.quotient_map_out HomotopyCategory.quotient_map_out
-/- warning: homotopy_category.eq_of_homotopy -> HomotopyCategory.eq_of_homotopy is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homotopy_category.eq_of_homotopy HomotopyCategory.eq_of_homotopyₓ'. -/
theorem eq_of_homotopy {C D : HomologicalComplex V c} (f g : C ⟶ D) (h : Homotopy f g) :
(quotient V c).map f = (quotient V c).map g :=
CategoryTheory.Quotient.sound _ ⟨h⟩
#align homotopy_category.eq_of_homotopy HomotopyCategory.eq_of_homotopy
-/- warning: homotopy_category.homotopy_of_eq -> HomotopyCategory.homotopyOfEq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homotopy_category.homotopy_of_eq HomotopyCategory.homotopyOfEqₓ'. -/
/-- If two chain maps become equal in the homotopy category, then they are homotopic. -/
def homotopyOfEq {C D : HomologicalComplex V c} (f g : C ⟶ D)
(w : (quotient V c).map f = (quotient V c).map g) : Homotopy f g :=
((Quotient.functor_map_eq_iff _ _ _).mp w).some
#align homotopy_category.homotopy_of_eq HomotopyCategory.homotopyOfEq
-/- warning: homotopy_category.homotopy_out_map -> HomotopyCategory.homotopyOutMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homotopy_category.homotopy_out_map HomotopyCategory.homotopyOutMapₓ'. -/
/-- An arbitrarily chosen representation of the image of a chain map in the homotopy category
is homotopic to the original chain map.
-/
@@ -130,21 +112,12 @@ def homotopyOutMap {C D : HomologicalComplex V c} (f : C ⟶ D) :
simp
#align homotopy_category.homotopy_out_map HomotopyCategory.homotopyOutMap
-/- warning: homotopy_category.quotient_map_out_comp_out -> HomotopyCategory.quotient_map_out_comp_out is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homotopy_category.quotient_map_out_comp_out HomotopyCategory.quotient_map_out_comp_outₓ'. -/
@[simp]
theorem quotient_map_out_comp_out {C D E : HomotopyCategory V c} (f : C ⟶ D) (g : D ⟶ E) :
(quotient V c).map (Quot.out f ≫ Quot.out g) = f ≫ g := by
conv_rhs => erw [← quotient_map_out f, ← quotient_map_out g, ← (Quotient V c).map_comp]
#align homotopy_category.quotient_map_out_comp_out HomotopyCategory.quotient_map_out_comp_out
-/- warning: homotopy_category.iso_of_homotopy_equiv -> HomotopyCategory.isoOfHomotopyEquiv is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c}, (HomotopyEquiv.{u1, u2, u3} ι V _inst_1 _inst_2 c C D) -> (CategoryTheory.Iso.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D))
-but is expected to have type
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c}, (HomotopyEquiv.{u1, u2, u3} ι V _inst_1 _inst_2 c C D) -> (CategoryTheory.Iso.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D))
-Case conversion may be inaccurate. Consider using '#align homotopy_category.iso_of_homotopy_equiv HomotopyCategory.isoOfHomotopyEquivₓ'. -/
/-- Homotopy equivalent complexes become isomorphic in the homotopy category. -/
@[simps]
def isoOfHomotopyEquiv {C D : HomologicalComplex V c} (f : HomotopyEquiv C D) :
@@ -160,12 +133,6 @@ def isoOfHomotopyEquiv {C D : HomologicalComplex V c} (f : HomotopyEquiv C D) :
exact eq_of_homotopy _ _ f.homotopy_inv_hom_id
#align homotopy_category.iso_of_homotopy_equiv HomotopyCategory.isoOfHomotopyEquiv
-/- warning: homotopy_category.homotopy_equiv_of_iso -> HomotopyCategory.homotopyEquivOfIso is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c}, (CategoryTheory.Iso.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) -> (HomotopyEquiv.{u1, u2, u3} ι V _inst_1 _inst_2 c C D)
-but is expected to have type
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c}, (CategoryTheory.Iso.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D)) -> (HomotopyEquiv.{u1, u2, u3} ι V _inst_1 _inst_2 c C D)
-Case conversion may be inaccurate. Consider using '#align homotopy_category.homotopy_equiv_of_iso HomotopyCategory.homotopyEquivOfIsoₓ'. -/
/-- If two complexes become isomorphic in the homotopy category,
then they were homotopy equivalent. -/
def homotopyEquivOfIso {C D : HomologicalComplex V c}
@@ -194,27 +161,18 @@ def homologyFactors (i : ι) : quotient V c ⋙ homologyFunctor V c i ≅ homolo
#align homotopy_category.homology_factors HomotopyCategory.homologyFactors
-/
-/- warning: homotopy_category.homology_factors_hom_app -> HomotopyCategory.homologyFactors_hom_app is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homotopy_category.homology_factors_hom_app HomotopyCategory.homologyFactors_hom_appₓ'. -/
@[simp]
theorem homologyFactors_hom_app (i : ι) (C : HomologicalComplex V c) :
(homologyFactors V c i).Hom.app C = 𝟙 _ :=
rfl
#align homotopy_category.homology_factors_hom_app HomotopyCategory.homologyFactors_hom_app
-/- warning: homotopy_category.homology_factors_inv_app -> HomotopyCategory.homologyFactors_inv_app is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homotopy_category.homology_factors_inv_app HomotopyCategory.homologyFactors_inv_appₓ'. -/
@[simp]
theorem homologyFactors_inv_app (i : ι) (C : HomologicalComplex V c) :
(homologyFactors V c i).inv.app C = 𝟙 _ :=
rfl
#align homotopy_category.homology_factors_inv_app HomotopyCategory.homologyFactors_inv_app
-/- warning: homotopy_category.homology_functor_map_factors -> HomotopyCategory.homologyFunctor_map_factors is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homotopy_category.homology_functor_map_factors HomotopyCategory.homologyFunctor_map_factorsₓ'. -/
theorem homologyFunctor_map_factors (i : ι) {C D : HomologicalComplex V c} (f : C ⟶ D) :
(homologyFunctor V c i).map f = ((homologyFunctor V c i).map ((quotient V c).map f) : _) :=
(CategoryTheory.Quotient.lift_map_functor_map _ (homologyFunctor V c i) _ f).symm
@@ -226,12 +184,6 @@ namespace CategoryTheory
variable {V} {W : Type _} [Category W] [Preadditive W]
-/- warning: category_theory.functor.map_homotopy_category -> CategoryTheory.Functor.mapHomotopyCategory is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] (c : ComplexShape.{u3} ι) (F : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 F], CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)
-but is expected to have type
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] (c : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) [F : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 c] (_inst_5 : ComplexShape.{u3} ι), CategoryTheory.Functor.{max u1 u3, max u3 u5, max (max u3 u2) u1, max (max u3 u4) u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_5) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι _inst_5) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 _inst_5) (instCategoryHomotopyCategory.{u5, u4, u3} W _inst_3 _inst_4 ι _inst_5)
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_homotopy_category CategoryTheory.Functor.mapHomotopyCategoryₓ'. -/
/-- An additive functor induces a functor between homotopy categories. -/
@[simps]
def Functor.mapHomotopyCategory (c : ComplexShape ι) (F : V ⥤ W) [F.Additive] :
@@ -256,12 +208,6 @@ def Functor.mapHomotopyCategory (c : ComplexShape ι) (F : V ⥤ W) [F.Additive]
exact HomotopyCategory.quotient_map_out_comp_out _ _
#align category_theory.functor.map_homotopy_category CategoryTheory.Functor.mapHomotopyCategory
-/- warning: category_theory.nat_trans.map_homotopy_category -> CategoryTheory.NatTrans.mapHomotopyCategory is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] {F : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} {G : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} [_inst_5 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 F] [_inst_6 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 G], (Quiver.Hom.{succ (max u2 u5), max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3))) F G) -> (forall (c : ComplexShape.{u3} ι), Quiver.Hom.{succ (max (max u2 u3 u1) u3 u5), max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Functor.category.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c G _inst_6))
-but is expected to have type
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] {F : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} {G : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} [_inst_5 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 F] [_inst_6 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 G], (Quiver.Hom.{max (succ u2) (succ u5), max (max (max u2 u1) u4) u5} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max (max (max u2 u1) u4) u5} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max (max (max u2 u1) u4) u5} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3))) F G) -> (forall (c : ComplexShape.{u3} ι), Quiver.Hom.{max (max (max (succ u2) (succ u1)) (succ u3)) (succ u5), max (max (max (max u2 u1) u3) u4) u5} (CategoryTheory.Functor.{max u1 u3, max u3 u5, max (max u3 u2) u1, max (max u3 u4) u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u5, u4, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u2 u1) u3) u5, max (max (max (max u2 u1) u3) u4) u5} (CategoryTheory.Functor.{max u1 u3, max u3 u5, max (max u3 u2) u1, max (max u3 u4) u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u5, u4, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u2 u1) u3) u5, max (max (max (max u2 u1) u3) u4) u5} (CategoryTheory.Functor.{max u1 u3, max u3 u5, max (max u3 u2) u1, max (max u3 u4) u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u5, u4, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Functor.category.{max u1 u3, max u3 u5, max (max u2 u1) u3, max (max u3 u4) u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u5, u4, u3} W _inst_3 _inst_4 ι c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 G _inst_6 c))
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.map_homotopy_category CategoryTheory.NatTrans.mapHomotopyCategoryₓ'. -/
-- TODO `F.map_homotopy_category c` is additive (and linear when `F` is linear).
/-- A natural transformation induces a natural transformation between
the induced functors on the homotopy category. -/
@@ -279,20 +225,11 @@ def NatTrans.mapHomotopyCategory {F G : V ⥤ W} [F.Additive] [G.Additive] (α :
simp
#align category_theory.nat_trans.map_homotopy_category CategoryTheory.NatTrans.mapHomotopyCategory
-/- warning: category_theory.nat_trans.map_homotopy_category_id -> CategoryTheory.NatTrans.mapHomotopyCategory_id is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] (c : ComplexShape.{u3} ι) (F : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 F], Eq.{succ (max (max u2 u3 u1) u3 u5)} (Quiver.Hom.{succ (max (max u2 u3 u1) u3 u5), max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Functor.category.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5)) (CategoryTheory.NatTrans.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F F _inst_5 _inst_5 (CategoryTheory.CategoryStruct.id.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3)) F) c) (CategoryTheory.CategoryStruct.id.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Functor.category.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5))
-but is expected to have type
- forall {ι : Type.{u3}} {V : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u4, u5} V] [_inst_2 : CategoryTheory.Preadditive.{u4, u5} V _inst_1] {W : Type.{u1}} [_inst_3 : CategoryTheory.Category.{u2, u1} W] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} W _inst_3] (c : ComplexShape.{u3} ι) (F : CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) [_inst_5 : CategoryTheory.Functor.Additive.{u5, u1, u4, u2} V W _inst_1 _inst_3 _inst_2 _inst_4 F], Eq.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)} (Quiver.Hom.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2), max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Functor.category.{max u4 u3, max u3 u2, max (max u5 u4) u3, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c)) (CategoryTheory.NatTrans.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F F _inst_5 _inst_5 (CategoryTheory.CategoryStruct.id.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u4, u2, u5, u1} V _inst_1 W _inst_3)) F) c) (CategoryTheory.CategoryStruct.id.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Functor.category.{max u4 u3, max u3 u2, max (max u5 u4) u3, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c))) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c))
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.map_homotopy_category_id CategoryTheory.NatTrans.mapHomotopyCategory_idₓ'. -/
@[simp]
theorem NatTrans.mapHomotopyCategory_id (c : ComplexShape ι) (F : V ⥤ W) [F.Additive] :
NatTrans.mapHomotopyCategory (𝟙 F) c = 𝟙 (F.mapHomotopyCategory c) := by tidy
#align category_theory.nat_trans.map_homotopy_category_id CategoryTheory.NatTrans.mapHomotopyCategory_id
-/- warning: category_theory.nat_trans.map_homotopy_category_comp -> CategoryTheory.NatTrans.mapHomotopyCategory_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.map_homotopy_category_comp CategoryTheory.NatTrans.mapHomotopyCategory_compₓ'. -/
@[simp]
theorem NatTrans.mapHomotopyCategory_comp (c : ComplexShape ι) {F G H : V ⥤ W} [F.Additive]
[G.Additive] [H.Additive] (α : F ⟶ G) (β : G ⟶ H) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -173,16 +173,8 @@ def homotopyEquivOfIso {C D : HomologicalComplex V c}
where
Hom := Quot.out i.Hom
inv := Quot.out i.inv
- homotopyHomInvId :=
- homotopyOfEq _ _
- (by
- simp
- rfl)
- homotopyInvHomId :=
- homotopyOfEq _ _
- (by
- simp
- rfl)
+ homotopyHomInvId := homotopyOfEq _ _ (by simp; rfl)
+ homotopyInvHomId := homotopyOfEq _ _ (by simp; rfl)
#align homotopy_category.homotopy_equiv_of_iso HomotopyCategory.homotopyEquivOfIso
variable (V c) [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -93,10 +93,7 @@ theorem quotient_obj_as (C : HomologicalComplex V c) : ((quotient V c).obj C).as
#align homotopy_category.quotient_obj_as HomotopyCategory.quotient_obj_as
/- warning: homotopy_category.quotient_map_out -> HomotopyCategory.quotient_map_out is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) C D), Eq.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D))) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D) (Quot.out.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Quotient.CompClosure.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) f)) f
-but is expected to have type
- forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] {c : ComplexShape.{u1} ι} {C : HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c} {D : HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) C D), Eq.{max (succ u2) (succ u1)} (Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C)) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D))) (Prefunctor.map.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D) (Quot.out.{max (succ u2) (succ u1)} (Quiver.Hom.{succ (max u2 u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Quotient.CompClosure.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D)) f)) f
+<too large>
Case conversion may be inaccurate. Consider using '#align homotopy_category.quotient_map_out HomotopyCategory.quotient_map_outₓ'. -/
@[simp]
theorem quotient_map_out {C D : HomotopyCategory V c} (f : C ⟶ D) : (quotient V c).map f.out = f :=
@@ -104,10 +101,7 @@ theorem quotient_map_out {C D : HomotopyCategory V c} (f : C ⟶ D) : (quotient
#align homotopy_category.quotient_map_out HomotopyCategory.quotient_map_out
/- warning: homotopy_category.eq_of_homotopy -> HomotopyCategory.eq_of_homotopy is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D) (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), (Homotopy.{u1, u2, u3} ι V _inst_1 _inst_2 c C D f g) -> (Eq.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D f) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D g))
-but is expected to have type
- forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] {c : ComplexShape.{u1} ι} {C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c} (f : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) C D) (g : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) C D), (Homotopy.{u2, u3, u1} ι V _inst_1 _inst_2 c C D f g) -> (Eq.{max (succ u2) (succ u1)} (Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) D)) (Prefunctor.map.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C D f) (Prefunctor.map.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C D g))
+<too large>
Case conversion may be inaccurate. Consider using '#align homotopy_category.eq_of_homotopy HomotopyCategory.eq_of_homotopyₓ'. -/
theorem eq_of_homotopy {C D : HomologicalComplex V c} (f g : C ⟶ D) (h : Homotopy f g) :
(quotient V c).map f = (quotient V c).map g :=
@@ -115,10 +109,7 @@ theorem eq_of_homotopy {C D : HomologicalComplex V c} (f g : C ⟶ D) (h : Homot
#align homotopy_category.eq_of_homotopy HomotopyCategory.eq_of_homotopy
/- warning: homotopy_category.homotopy_of_eq -> HomotopyCategory.homotopyOfEq is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D) (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), (Eq.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D f) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D g)) -> (Homotopy.{u1, u2, u3} ι V _inst_1 _inst_2 c C D f g)
-but is expected to have type
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D) (g : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), (Eq.{max (succ u1) (succ u3)} (Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D)) (Prefunctor.map.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D f) (Prefunctor.map.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D g)) -> (Homotopy.{u1, u2, u3} ι V _inst_1 _inst_2 c C D f g)
+<too large>
Case conversion may be inaccurate. Consider using '#align homotopy_category.homotopy_of_eq HomotopyCategory.homotopyOfEqₓ'. -/
/-- If two chain maps become equal in the homotopy category, then they are homotopic. -/
def homotopyOfEq {C D : HomologicalComplex V c} (f g : C ⟶ D)
@@ -127,10 +118,7 @@ def homotopyOfEq {C D : HomologicalComplex V c} (f g : C ⟶ D)
#align homotopy_category.homotopy_of_eq HomotopyCategory.homotopyOfEq
/- warning: homotopy_category.homotopy_out_map -> HomotopyCategory.homotopyOutMap is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), Homotopy.{u1, u2, u3} ι V _inst_1 _inst_2 c (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) (Quot.out.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D))) (CategoryTheory.Quotient.CompClosure.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D))) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D f)) f
-but is expected to have type
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), Homotopy.{u1, u2, u3} ι V _inst_1 _inst_2 c (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C)) (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D)) (Quot.out.{max (succ u1) (succ u3)} (Quiver.Hom.{succ (max u1 u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C)) (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D))) (CategoryTheory.Quotient.CompClosure.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C)) (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D))) (Prefunctor.map.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D f)) f
+<too large>
Case conversion may be inaccurate. Consider using '#align homotopy_category.homotopy_out_map HomotopyCategory.homotopyOutMapₓ'. -/
/-- An arbitrarily chosen representation of the image of a chain map in the homotopy category
is homotopic to the original chain map.
@@ -143,10 +131,7 @@ def homotopyOutMap {C D : HomologicalComplex V c} (f : C ⟶ D) :
#align homotopy_category.homotopy_out_map HomotopyCategory.homotopyOutMap
/- warning: homotopy_category.quotient_map_out_comp_out -> HomotopyCategory.quotient_map_out_comp_out is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c} {E : HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) C D) (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) D E), Eq.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E))) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E) (CategoryTheory.CategoryStruct.comp.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c)) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E) (Quot.out.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Quotient.CompClosure.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) f) (Quot.out.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E)) (CategoryTheory.Quotient.CompClosure.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E)) g))) (CategoryTheory.CategoryStruct.comp.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c)) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) D (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E)) f g)
-but is expected to have type
- forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] {c : ComplexShape.{u1} ι} {C : HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c} {D : HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c} {E : HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) C D) (g : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) D E), Eq.{max (succ u2) (succ u1)} (Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C)) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) E))) (Prefunctor.map.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) E) (CategoryTheory.CategoryStruct.comp.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) E) (Quot.out.{max (succ u2) (succ u1)} (Quiver.Hom.{succ (max u2 u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Quotient.CompClosure.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D)) f) (Quot.out.{max (succ u2) (succ u1)} (Quiver.Hom.{succ (max u2 u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) E)) (CategoryTheory.Quotient.CompClosure.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) E)) g))) (CategoryTheory.CategoryStruct.comp.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c)) C D E f g)
+<too large>
Case conversion may be inaccurate. Consider using '#align homotopy_category.quotient_map_out_comp_out HomotopyCategory.quotient_map_out_comp_outₓ'. -/
@[simp]
theorem quotient_map_out_comp_out {C D E : HomotopyCategory V c} (f : C ⟶ D) (g : D ⟶ E) :
@@ -218,10 +203,7 @@ def homologyFactors (i : ι) : quotient V c ⋙ homologyFunctor V c i ≅ homolo
-/
/- warning: homotopy_category.homology_factors_hom_app -> HomotopyCategory.homologyFactors_hom_app is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} (V : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] (c : ComplexShape.{u3} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2)] (i : ι) (C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} V (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} V (CategoryTheory.Category.toCategoryStruct.{u1, u2} V _inst_1)) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) C)) (CategoryTheory.NatTrans.app.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (CategoryTheory.Iso.hom.{max (max u2 u3 u1) u1, max (max u3 u1) u1 u2 u3 u1} (CategoryTheory.Functor.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.category.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (HomotopyCategory.homologyFactors.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (CategoryTheory.CategoryStruct.id.{u1, u2} V (CategoryTheory.Category.toCategoryStruct.{u1, u2} V _inst_1) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C))
-but is expected to have type
- forall {ι : Type.{u1}} (V : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] (c : ComplexShape.{u1} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u2, u3} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u2, u3} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u2, u3} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u2, u3} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2)] (i : ι) (C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c), Eq.{succ u2} (Quiver.Hom.{succ u2, u3} V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i))) C) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) C)) (CategoryTheory.NatTrans.app.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (CategoryTheory.Iso.hom.{max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Functor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.category.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (HomotopyCategory.homologyFactors.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (CategoryTheory.CategoryStruct.id.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i))) C))
+<too large>
Case conversion may be inaccurate. Consider using '#align homotopy_category.homology_factors_hom_app HomotopyCategory.homologyFactors_hom_appₓ'. -/
@[simp]
theorem homologyFactors_hom_app (i : ι) (C : HomologicalComplex V c) :
@@ -230,10 +212,7 @@ theorem homologyFactors_hom_app (i : ι) (C : HomologicalComplex V c) :
#align homotopy_category.homology_factors_hom_app HomotopyCategory.homologyFactors_hom_app
/- warning: homotopy_category.homology_factors_inv_app -> HomotopyCategory.homologyFactors_inv_app is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} (V : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] (c : ComplexShape.{u3} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2)] (i : ι) (C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} V (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} V (CategoryTheory.Category.toCategoryStruct.{u1, u2} V _inst_1)) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) C) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C)) (CategoryTheory.NatTrans.app.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (CategoryTheory.Iso.inv.{max (max u2 u3 u1) u1, max (max u3 u1) u1 u2 u3 u1} (CategoryTheory.Functor.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.category.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (HomotopyCategory.homologyFactors.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (CategoryTheory.CategoryStruct.id.{u1, u2} V (CategoryTheory.Category.toCategoryStruct.{u1, u2} V _inst_1) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) C))
-but is expected to have type
- forall {ι : Type.{u1}} (V : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] (c : ComplexShape.{u1} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u2, u3} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u2, u3} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u2, u3} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u2, u3} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2)] (i : ι) (C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c), Eq.{succ u2} (Quiver.Hom.{succ u2, u3} V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i))) C)) (CategoryTheory.NatTrans.app.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (CategoryTheory.Iso.inv.{max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Functor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.category.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (HomotopyCategory.homologyFactors.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (CategoryTheory.CategoryStruct.id.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) C))
+<too large>
Case conversion may be inaccurate. Consider using '#align homotopy_category.homology_factors_inv_app HomotopyCategory.homologyFactors_inv_appₓ'. -/
@[simp]
theorem homologyFactors_inv_app (i : ι) (C : HomologicalComplex V c) :
@@ -242,10 +221,7 @@ theorem homologyFactors_inv_app (i : ι) (C : HomologicalComplex V c) :
#align homotopy_category.homology_factors_inv_app HomotopyCategory.homologyFactors_inv_app
/- warning: homotopy_category.homology_functor_map_factors -> HomotopyCategory.homologyFunctor_map_factors is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} (V : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] (c : ComplexShape.{u3} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2)] (i : ι) {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} V (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} V (CategoryTheory.Category.toCategoryStruct.{u1, u2} V _inst_1)) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) C) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) D)) (CategoryTheory.Functor.map.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) C D f) (CategoryTheory.Functor.map.{max u3 u1, u1, max u2 u3 u1, u2} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D f))
-but is expected to have type
- forall {ι : Type.{u1}} (V : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] (c : ComplexShape.{u1} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u2, u3} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u2, u3} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u2, u3} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u2, u3} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2)] (i : ι) {C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c} (f : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) C D), Eq.{succ u2} (Quiver.Hom.{succ u2, u3} V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (Prefunctor.obj.{max (succ u2) (succ u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) D)) (Prefunctor.map.{max (succ u2) (succ u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) C D f) (Prefunctor.map.{max (succ u2) (succ u1), succ u2, max (max u3 u2) u1, u3} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) D) (Prefunctor.map.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C D f))
+<too large>
Case conversion may be inaccurate. Consider using '#align homotopy_category.homology_functor_map_factors HomotopyCategory.homologyFunctor_map_factorsₓ'. -/
theorem homologyFunctor_map_factors (i : ι) {C D : HomologicalComplex V c} (f : C ⟶ D) :
(homologyFunctor V c i).map f = ((homologyFunctor V c i).map ((quotient V c).map f) : _) :=
@@ -323,10 +299,7 @@ theorem NatTrans.mapHomotopyCategory_id (c : ComplexShape ι) (F : V ⥤ W) [F.A
#align category_theory.nat_trans.map_homotopy_category_id CategoryTheory.NatTrans.mapHomotopyCategory_id
/- warning: category_theory.nat_trans.map_homotopy_category_comp -> CategoryTheory.NatTrans.mapHomotopyCategory_comp is a dubious translation:
-lean 3 declaration is
- forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] (c : ComplexShape.{u3} ι) {F : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} {G : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} {H : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} [_inst_5 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 F] [_inst_6 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 G] [_inst_7 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 H] (α : Quiver.Hom.{succ (max u2 u5), max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3))) F G) (β : Quiver.Hom.{succ (max u2 u5), max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3))) G H), Eq.{succ (max (max u2 u3 u1) u3 u5)} (Quiver.Hom.{succ (max (max u2 u3 u1) u3 u5), max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Functor.category.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c H _inst_7)) (CategoryTheory.NatTrans.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F H _inst_5 _inst_7 (CategoryTheory.CategoryStruct.comp.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3)) F G H α β) c) (CategoryTheory.CategoryStruct.comp.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Functor.category.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c G _inst_6) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c H _inst_7) (CategoryTheory.NatTrans.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F G _inst_5 _inst_6 α c) (CategoryTheory.NatTrans.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 G H _inst_6 _inst_7 β c))
-but is expected to have type
- forall {ι : Type.{u3}} {V : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u4, u5} V] [_inst_2 : CategoryTheory.Preadditive.{u4, u5} V _inst_1] {W : Type.{u1}} [_inst_3 : CategoryTheory.Category.{u2, u1} W] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} W _inst_3] (c : ComplexShape.{u3} ι) {F : CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3} {G : CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3} {H : CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3} [_inst_5 : CategoryTheory.Functor.Additive.{u5, u1, u4, u2} V W _inst_1 _inst_3 _inst_2 _inst_4 F] [_inst_6 : CategoryTheory.Functor.Additive.{u5, u1, u4, u2} V W _inst_1 _inst_3 _inst_2 _inst_4 G] [_inst_7 : CategoryTheory.Functor.Additive.{u5, u1, u4, u2} V W _inst_1 _inst_3 _inst_2 _inst_4 H] (α : Quiver.Hom.{max (succ u5) (succ u2), max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u4, u2, u5, u1} V _inst_1 W _inst_3))) F G) (β : Quiver.Hom.{max (succ u5) (succ u2), max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u4, u2, u5, u1} V _inst_1 W _inst_3))) G H), Eq.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)} (Quiver.Hom.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2), max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Functor.category.{max u4 u3, max u3 u2, max (max u5 u4) u3, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 H _inst_7 c)) (CategoryTheory.NatTrans.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F H _inst_5 _inst_7 (CategoryTheory.CategoryStruct.comp.{max u2 u5, max (max (max u2 u1) u5) u4} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max (max (max u2 u1) u5) u4} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u4, u2, u5, u1} V _inst_1 W _inst_3)) F G H α β) c) (CategoryTheory.CategoryStruct.comp.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Functor.category.{max u4 u3, max u3 u2, max (max u5 u4) u3, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c))) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 G _inst_6 c) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 H _inst_7 c) (CategoryTheory.NatTrans.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F G _inst_5 _inst_6 α c) (CategoryTheory.NatTrans.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 G H _inst_6 _inst_7 β c))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.map_homotopy_category_comp CategoryTheory.NatTrans.mapHomotopyCategory_compₓ'. -/
@[simp]
theorem NatTrans.mapHomotopyCategory_comp (c : ComplexShape ι) {F G H : V ⥤ W} [F.Additive]
mathlib commit https://github.com/leanprover-community/mathlib/commit/fa78268d4d77cb2b2fbc89f0527e2e7807763780
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
! This file was ported from Lean 3 source module algebra.homology.homotopy_category
-! leanprover-community/mathlib commit 13ff898b0eee75d3cc75d1c06a491720eaaf911d
+! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -14,6 +14,9 @@ import Mathbin.CategoryTheory.Quotient
/-!
# The homotopy category
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
`homotopy_category V c` gives the category of chain complexes of shape `c` in `V`,
with chain maps identified when they are homotopic.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/09079525fd01b3dda35e96adaa08d2f943e1648c
@@ -33,11 +33,14 @@ variable (V : Type u) [Category.{v} V] [Preadditive V]
variable (c : ComplexShape ι)
+#print homotopic /-
/-- The congruence on `homological_complex V c` given by the existence of a homotopy.
-/
def homotopic : HomRel (HomologicalComplex V c) := fun C D f g => Nonempty (Homotopy f g)
#align homotopic homotopic
+-/
+#print homotopy_congruence /-
instance homotopy_congruence : Congruence (homotopic V c)
where
IsEquiv C D :=
@@ -47,20 +50,25 @@ instance homotopy_congruence : Congruence (homotopic V c)
compLeft := fun E F G m₁ m₂ g ⟨i⟩ => ⟨i.compLeft _⟩
compRight := fun E F G f m₁ m₂ ⟨i⟩ => ⟨i.compRight _⟩
#align homotopy_congruence homotopy_congruence
+-/
+#print HomotopyCategory /-
/-- `homotopy_category V c` is the category of chain complexes of shape `c` in `V`,
with chain maps identified when they are homotopic. -/
def HomotopyCategory :=
CategoryTheory.Quotient (homotopic V c)deriving Category
#align homotopy_category HomotopyCategory
+-/
-- TODO the homotopy_category is preadditive
namespace HomotopyCategory
+#print HomotopyCategory.quotient /-
/-- The quotient functor from complexes to the homotopy category. -/
def quotient : HomologicalComplex V c ⥤ HomotopyCategory V c :=
CategoryTheory.Quotient.functor _
#align homotopy_category.quotient HomotopyCategory.quotient
+-/
open ZeroObject
@@ -70,27 +78,57 @@ instance [HasZeroObject V] : Inhabited (HomotopyCategory V c) :=
variable {V c}
+/- warning: homotopy_category.quotient_obj_as -> HomotopyCategory.quotient_obj_as is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} (C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c), Eq.{max (succ u2) (succ u3) (succ u1)} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) C
+but is expected to have type
+ forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] {c : ComplexShape.{u1} ι} (C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C)) C
+Case conversion may be inaccurate. Consider using '#align homotopy_category.quotient_obj_as HomotopyCategory.quotient_obj_asₓ'. -/
@[simp]
theorem quotient_obj_as (C : HomologicalComplex V c) : ((quotient V c).obj C).as = C :=
rfl
#align homotopy_category.quotient_obj_as HomotopyCategory.quotient_obj_as
+/- warning: homotopy_category.quotient_map_out -> HomotopyCategory.quotient_map_out is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) C D), Eq.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D))) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D) (Quot.out.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Quotient.CompClosure.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) f)) f
+but is expected to have type
+ forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] {c : ComplexShape.{u1} ι} {C : HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c} {D : HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) C D), Eq.{max (succ u2) (succ u1)} (Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C)) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D))) (Prefunctor.map.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D) (Quot.out.{max (succ u2) (succ u1)} (Quiver.Hom.{succ (max u2 u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Quotient.CompClosure.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D)) f)) f
+Case conversion may be inaccurate. Consider using '#align homotopy_category.quotient_map_out HomotopyCategory.quotient_map_outₓ'. -/
@[simp]
theorem quotient_map_out {C D : HomotopyCategory V c} (f : C ⟶ D) : (quotient V c).map f.out = f :=
Quot.out_eq _
#align homotopy_category.quotient_map_out HomotopyCategory.quotient_map_out
+/- warning: homotopy_category.eq_of_homotopy -> HomotopyCategory.eq_of_homotopy is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D) (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), (Homotopy.{u1, u2, u3} ι V _inst_1 _inst_2 c C D f g) -> (Eq.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D f) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D g))
+but is expected to have type
+ forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] {c : ComplexShape.{u1} ι} {C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c} (f : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) C D) (g : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) C D), (Homotopy.{u2, u3, u1} ι V _inst_1 _inst_2 c C D f g) -> (Eq.{max (succ u2) (succ u1)} (Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) D)) (Prefunctor.map.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C D f) (Prefunctor.map.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C D g))
+Case conversion may be inaccurate. Consider using '#align homotopy_category.eq_of_homotopy HomotopyCategory.eq_of_homotopyₓ'. -/
theorem eq_of_homotopy {C D : HomologicalComplex V c} (f g : C ⟶ D) (h : Homotopy f g) :
(quotient V c).map f = (quotient V c).map g :=
CategoryTheory.Quotient.sound _ ⟨h⟩
#align homotopy_category.eq_of_homotopy HomotopyCategory.eq_of_homotopy
+/- warning: homotopy_category.homotopy_of_eq -> HomotopyCategory.homotopyOfEq is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D) (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), (Eq.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D f) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D g)) -> (Homotopy.{u1, u2, u3} ι V _inst_1 _inst_2 c C D f g)
+but is expected to have type
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D) (g : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), (Eq.{max (succ u1) (succ u3)} (Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D)) (Prefunctor.map.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D f) (Prefunctor.map.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D g)) -> (Homotopy.{u1, u2, u3} ι V _inst_1 _inst_2 c C D f g)
+Case conversion may be inaccurate. Consider using '#align homotopy_category.homotopy_of_eq HomotopyCategory.homotopyOfEqₓ'. -/
/-- If two chain maps become equal in the homotopy category, then they are homotopic. -/
def homotopyOfEq {C D : HomologicalComplex V c} (f g : C ⟶ D)
(w : (quotient V c).map f = (quotient V c).map g) : Homotopy f g :=
((Quotient.functor_map_eq_iff _ _ _).mp w).some
#align homotopy_category.homotopy_of_eq HomotopyCategory.homotopyOfEq
+/- warning: homotopy_category.homotopy_out_map -> HomotopyCategory.homotopyOutMap is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), Homotopy.{u1, u2, u3} ι V _inst_1 _inst_2 c (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) (Quot.out.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D))) (CategoryTheory.Quotient.CompClosure.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D))) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D f)) f
+but is expected to have type
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), Homotopy.{u1, u2, u3} ι V _inst_1 _inst_2 c (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C)) (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D)) (Quot.out.{max (succ u1) (succ u3)} (Quiver.Hom.{succ (max u1 u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C)) (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D))) (CategoryTheory.Quotient.CompClosure.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C)) (CategoryTheory.Quotient.as.{max (max u2 u1) u3, max u1 u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D))) (Prefunctor.map.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D f)) f
+Case conversion may be inaccurate. Consider using '#align homotopy_category.homotopy_out_map HomotopyCategory.homotopyOutMapₓ'. -/
/-- An arbitrarily chosen representation of the image of a chain map in the homotopy category
is homotopic to the original chain map.
-/
@@ -101,12 +139,24 @@ def homotopyOutMap {C D : HomologicalComplex V c} (f : C ⟶ D) :
simp
#align homotopy_category.homotopy_out_map HomotopyCategory.homotopyOutMap
+/- warning: homotopy_category.quotient_map_out_comp_out -> HomotopyCategory.quotient_map_out_comp_out is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c} {E : HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) C D) (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) D E), Eq.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c))) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E))) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E) (CategoryTheory.CategoryStruct.comp.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c)) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E) (Quot.out.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Quotient.CompClosure.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) f) (Quot.out.{succ (max u3 u1)} (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E)) (CategoryTheory.Quotient.CompClosure.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E)) g))) (CategoryTheory.CategoryStruct.comp.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c)) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) C)) D (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max u2 u3 u1, max u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (homotopic.{u1, u2, u3} ι V _inst_1 _inst_2 c) E)) f g)
+but is expected to have type
+ forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] {c : ComplexShape.{u1} ι} {C : HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c} {D : HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c} {E : HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) C D) (g : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) D E), Eq.{max (succ u2) (succ u1)} (Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C)) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) E))) (Prefunctor.map.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) E) (CategoryTheory.CategoryStruct.comp.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c)) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) E) (Quot.out.{max (succ u2) (succ u1)} (Quiver.Hom.{succ (max u2 u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D)) (CategoryTheory.Quotient.CompClosure.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D)) f) (Quot.out.{max (succ u2) (succ u1)} (Quiver.Hom.{succ (max u2 u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) E)) (CategoryTheory.Quotient.CompClosure.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Quotient.as.{max (max u3 u2) u1, max u2 u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (homotopic.{u2, u3, u1} ι V _inst_1 _inst_2 c) E)) g))) (CategoryTheory.CategoryStruct.comp.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c)) C D E f g)
+Case conversion may be inaccurate. Consider using '#align homotopy_category.quotient_map_out_comp_out HomotopyCategory.quotient_map_out_comp_outₓ'. -/
@[simp]
theorem quotient_map_out_comp_out {C D E : HomotopyCategory V c} (f : C ⟶ D) (g : D ⟶ E) :
(quotient V c).map (Quot.out f ≫ Quot.out g) = f ≫ g := by
conv_rhs => erw [← quotient_map_out f, ← quotient_map_out g, ← (Quotient V c).map_comp]
#align homotopy_category.quotient_map_out_comp_out HomotopyCategory.quotient_map_out_comp_out
+/- warning: homotopy_category.iso_of_homotopy_equiv -> HomotopyCategory.isoOfHomotopyEquiv is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c}, (HomotopyEquiv.{u1, u2, u3} ι V _inst_1 _inst_2 c C D) -> (CategoryTheory.Iso.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D))
+but is expected to have type
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c}, (HomotopyEquiv.{u1, u2, u3} ι V _inst_1 _inst_2 c C D) -> (CategoryTheory.Iso.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D))
+Case conversion may be inaccurate. Consider using '#align homotopy_category.iso_of_homotopy_equiv HomotopyCategory.isoOfHomotopyEquivₓ'. -/
/-- Homotopy equivalent complexes become isomorphic in the homotopy category. -/
@[simps]
def isoOfHomotopyEquiv {C D : HomologicalComplex V c} (f : HomotopyEquiv C D) :
@@ -122,6 +172,12 @@ def isoOfHomotopyEquiv {C D : HomologicalComplex V c} (f : HomotopyEquiv C D) :
exact eq_of_homotopy _ _ f.homotopy_inv_hom_id
#align homotopy_category.iso_of_homotopy_equiv HomotopyCategory.isoOfHomotopyEquiv
+/- warning: homotopy_category.homotopy_equiv_of_iso -> HomotopyCategory.homotopyEquivOfIso is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c}, (CategoryTheory.Iso.{max u3 u1, max u2 u3 u1} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D)) -> (HomotopyEquiv.{u1, u2, u3} ι V _inst_1 _inst_2 c C D)
+but is expected to have type
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c}, (CategoryTheory.Iso.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C) (Prefunctor.obj.{max (succ u1) (succ u3), max (succ u1) (succ u3), max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max u1 u3, max (max u2 u1) u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c)) D)) -> (HomotopyEquiv.{u1, u2, u3} ι V _inst_1 _inst_2 c C D)
+Case conversion may be inaccurate. Consider using '#align homotopy_category.homotopy_equiv_of_iso HomotopyCategory.homotopyEquivOfIsoₓ'. -/
/-- If two complexes become isomorphic in the homotopy category,
then they were homotopy equivalent. -/
def homotopyEquivOfIso {C D : HomologicalComplex V c}
@@ -143,29 +199,51 @@ def homotopyEquivOfIso {C D : HomologicalComplex V c}
variable (V c) [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
+#print HomotopyCategory.homologyFunctor /-
/-- The `i`-th homology, as a functor from the homotopy category. -/
def homologyFunctor (i : ι) : HomotopyCategory V c ⥤ V :=
CategoryTheory.Quotient.lift _ (homologyFunctor V c i) fun C D f g ⟨h⟩ =>
homology_map_eq_of_homotopy h i
#align homotopy_category.homology_functor HomotopyCategory.homologyFunctor
+-/
+#print HomotopyCategory.homologyFactors /-
/-- The homology functor on the homotopy category is just the usual homology functor. -/
def homologyFactors (i : ι) : quotient V c ⋙ homologyFunctor V c i ≅ homologyFunctor V c i :=
CategoryTheory.Quotient.lift.isLift _ _ _
#align homotopy_category.homology_factors HomotopyCategory.homologyFactors
+-/
+/- warning: homotopy_category.homology_factors_hom_app -> HomotopyCategory.homologyFactors_hom_app is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} (V : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] (c : ComplexShape.{u3} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2)] (i : ι) (C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} V (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} V (CategoryTheory.Category.toCategoryStruct.{u1, u2} V _inst_1)) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) C)) (CategoryTheory.NatTrans.app.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (CategoryTheory.Iso.hom.{max (max u2 u3 u1) u1, max (max u3 u1) u1 u2 u3 u1} (CategoryTheory.Functor.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.category.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (HomotopyCategory.homologyFactors.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (CategoryTheory.CategoryStruct.id.{u1, u2} V (CategoryTheory.Category.toCategoryStruct.{u1, u2} V _inst_1) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C))
+but is expected to have type
+ forall {ι : Type.{u1}} (V : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] (c : ComplexShape.{u1} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u2, u3} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u2, u3} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u2, u3} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u2, u3} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2)] (i : ι) (C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c), Eq.{succ u2} (Quiver.Hom.{succ u2, u3} V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i))) C) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) C)) (CategoryTheory.NatTrans.app.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (CategoryTheory.Iso.hom.{max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Functor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.category.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (HomotopyCategory.homologyFactors.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (CategoryTheory.CategoryStruct.id.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i))) C))
+Case conversion may be inaccurate. Consider using '#align homotopy_category.homology_factors_hom_app HomotopyCategory.homologyFactors_hom_appₓ'. -/
@[simp]
theorem homologyFactors_hom_app (i : ι) (C : HomologicalComplex V c) :
(homologyFactors V c i).Hom.app C = 𝟙 _ :=
rfl
#align homotopy_category.homology_factors_hom_app HomotopyCategory.homologyFactors_hom_app
+/- warning: homotopy_category.homology_factors_inv_app -> HomotopyCategory.homologyFactors_inv_app is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} (V : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] (c : ComplexShape.{u3} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2)] (i : ι) (C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} V (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} V (CategoryTheory.Category.toCategoryStruct.{u1, u2} V _inst_1)) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) C) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C)) (CategoryTheory.NatTrans.app.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (CategoryTheory.Iso.inv.{max (max u2 u3 u1) u1, max (max u3 u1) u1 u2 u3 u1} (CategoryTheory.Functor.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.category.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.comp.{max u3 u1, max u3 u1, u1, max u2 u3 u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (HomotopyCategory.homologyFactors.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (CategoryTheory.CategoryStruct.id.{u1, u2} V (CategoryTheory.Category.toCategoryStruct.{u1, u2} V _inst_1) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) C))
+but is expected to have type
+ forall {ι : Type.{u1}} (V : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] (c : ComplexShape.{u1} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u2, u3} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u2, u3} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u2, u3} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u2, u3} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2)] (i : ι) (C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c), Eq.{succ u2} (Quiver.Hom.{succ u2, u3} V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i))) C)) (CategoryTheory.NatTrans.app.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (CategoryTheory.Iso.inv.{max (max u3 u2) u1, max (max u3 u2) u1} (CategoryTheory.Functor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.category.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1) (CategoryTheory.Functor.comp.{max u2 u1, max u2 u1, u2, max (max u3 u2) u1, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c) (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) (HomotopyCategory.homologyFactors.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (CategoryTheory.CategoryStruct.id.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1) (Prefunctor.obj.{succ (max u2 u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) C))
+Case conversion may be inaccurate. Consider using '#align homotopy_category.homology_factors_inv_app HomotopyCategory.homologyFactors_inv_appₓ'. -/
@[simp]
theorem homologyFactors_inv_app (i : ι) (C : HomologicalComplex V c) :
(homologyFactors V c i).inv.app C = 𝟙 _ :=
rfl
#align homotopy_category.homology_factors_inv_app HomotopyCategory.homologyFactors_inv_app
+/- warning: homotopy_category.homology_functor_map_factors -> HomotopyCategory.homologyFunctor_map_factors is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} (V : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] (c : ComplexShape.{u3} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2)] (i : ι) {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c))) C D), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} V (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} V (CategoryTheory.Category.toCategoryStruct.{u1, u2} V _inst_1)) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) C) (CategoryTheory.Functor.obj.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) D)) (CategoryTheory.Functor.map.{max u3 u1, u1, max u2 u3 u1, u2} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i) C D f) (CategoryTheory.Functor.map.{max u3 u1, u1, max u2 u3 u1, u2} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) V _inst_1 (HomotopyCategory.homologyFunctor.{u1, u2, u3} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C) (CategoryTheory.Functor.obj.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) D) (CategoryTheory.Functor.map.{max u3 u1, max u3 u1, max u2 u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} V _inst_1 _inst_2) c) (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.quotient.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D f))
+but is expected to have type
+ forall {ι : Type.{u1}} (V : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} V _inst_1] (c : ComplexShape.{u1} ι) [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u2, u3} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u2, u3} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u2, u3} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u2, u3} V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2)] (i : ι) {C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c} {D : HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c} (f : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) C D), Eq.{succ u2} (Quiver.Hom.{succ u2, u3} V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) C) (Prefunctor.obj.{max (succ u2) (succ u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) D)) (Prefunctor.map.{max (succ u2) (succ u1), succ u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) V _inst_1 (homologyFunctor.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c _inst_3 _inst_4 _inst_5 _inst_6 i)) C D f) (Prefunctor.map.{max (succ u2) (succ u1), succ u2, max (max u3 u2) u1, u3} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) V (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} V (CategoryTheory.Category.toCategoryStruct.{u2, u3} V _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u2, max (max u3 u2) u1, u3} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) V _inst_1 (HomotopyCategory.homologyFunctor.{u2, u3, u1} ι V _inst_1 _inst_2 c _inst_3 _inst_4 _inst_5 _inst_6 i)) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C) (Prefunctor.obj.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) D) (Prefunctor.map.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c))) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, max u2 u1, max (max u3 u2) u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u3} V _inst_1 _inst_2) c) (HomotopyCategory.{u2, u3, u1} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u2, u3, u1} V _inst_1 _inst_2 ι c) (HomotopyCategory.quotient.{u2, u3, u1} ι V _inst_1 _inst_2 c)) C D f))
+Case conversion may be inaccurate. Consider using '#align homotopy_category.homology_functor_map_factors HomotopyCategory.homologyFunctor_map_factorsₓ'. -/
theorem homologyFunctor_map_factors (i : ι) {C D : HomologicalComplex V c} (f : C ⟶ D) :
(homologyFunctor V c i).map f = ((homologyFunctor V c i).map ((quotient V c).map f) : _) :=
(CategoryTheory.Quotient.lift_map_functor_map _ (homologyFunctor V c i) _ f).symm
@@ -177,6 +255,12 @@ namespace CategoryTheory
variable {V} {W : Type _} [Category W] [Preadditive W]
+/- warning: category_theory.functor.map_homotopy_category -> CategoryTheory.Functor.mapHomotopyCategory is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] (c : ComplexShape.{u3} ι) (F : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 F], CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)
+but is expected to have type
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] (c : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) [F : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 c] (_inst_5 : ComplexShape.{u3} ι), CategoryTheory.Functor.{max u1 u3, max u3 u5, max (max u3 u2) u1, max (max u3 u4) u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_5) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι _inst_5) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 _inst_5) (instCategoryHomotopyCategory.{u5, u4, u3} W _inst_3 _inst_4 ι _inst_5)
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_homotopy_category CategoryTheory.Functor.mapHomotopyCategoryₓ'. -/
/-- An additive functor induces a functor between homotopy categories. -/
@[simps]
def Functor.mapHomotopyCategory (c : ComplexShape ι) (F : V ⥤ W) [F.Additive] :
@@ -201,6 +285,12 @@ def Functor.mapHomotopyCategory (c : ComplexShape ι) (F : V ⥤ W) [F.Additive]
exact HomotopyCategory.quotient_map_out_comp_out _ _
#align category_theory.functor.map_homotopy_category CategoryTheory.Functor.mapHomotopyCategory
+/- warning: category_theory.nat_trans.map_homotopy_category -> CategoryTheory.NatTrans.mapHomotopyCategory is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] {F : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} {G : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} [_inst_5 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 F] [_inst_6 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 G], (Quiver.Hom.{succ (max u2 u5), max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3))) F G) -> (forall (c : ComplexShape.{u3} ι), Quiver.Hom.{succ (max (max u2 u3 u1) u3 u5), max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Functor.category.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c G _inst_6))
+but is expected to have type
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] {F : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} {G : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} [_inst_5 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 F] [_inst_6 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 G], (Quiver.Hom.{max (succ u2) (succ u5), max (max (max u2 u1) u4) u5} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max (max (max u2 u1) u4) u5} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max (max (max u2 u1) u4) u5} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3))) F G) -> (forall (c : ComplexShape.{u3} ι), Quiver.Hom.{max (max (max (succ u2) (succ u1)) (succ u3)) (succ u5), max (max (max (max u2 u1) u3) u4) u5} (CategoryTheory.Functor.{max u1 u3, max u3 u5, max (max u3 u2) u1, max (max u3 u4) u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u5, u4, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u2 u1) u3) u5, max (max (max (max u2 u1) u3) u4) u5} (CategoryTheory.Functor.{max u1 u3, max u3 u5, max (max u3 u2) u1, max (max u3 u4) u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u5, u4, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u2 u1) u3) u5, max (max (max (max u2 u1) u3) u4) u5} (CategoryTheory.Functor.{max u1 u3, max u3 u5, max (max u3 u2) u1, max (max u3 u4) u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u5, u4, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Functor.category.{max u1 u3, max u3 u5, max (max u2 u1) u3, max (max u3 u4) u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u1, u2, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u5, u4, u3} W _inst_3 _inst_4 ι c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 G _inst_6 c))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.map_homotopy_category CategoryTheory.NatTrans.mapHomotopyCategoryₓ'. -/
-- TODO `F.map_homotopy_category c` is additive (and linear when `F` is linear).
/-- A natural transformation induces a natural transformation between
the induced functors on the homotopy category. -/
@@ -218,11 +308,23 @@ def NatTrans.mapHomotopyCategory {F G : V ⥤ W} [F.Additive] [G.Additive] (α :
simp
#align category_theory.nat_trans.map_homotopy_category CategoryTheory.NatTrans.mapHomotopyCategory
+/- warning: category_theory.nat_trans.map_homotopy_category_id -> CategoryTheory.NatTrans.mapHomotopyCategory_id is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] (c : ComplexShape.{u3} ι) (F : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 F], Eq.{succ (max (max u2 u3 u1) u3 u5)} (Quiver.Hom.{succ (max (max u2 u3 u1) u3 u5), max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Functor.category.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5)) (CategoryTheory.NatTrans.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F F _inst_5 _inst_5 (CategoryTheory.CategoryStruct.id.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3)) F) c) (CategoryTheory.CategoryStruct.id.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Functor.category.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5))
+but is expected to have type
+ forall {ι : Type.{u3}} {V : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u4, u5} V] [_inst_2 : CategoryTheory.Preadditive.{u4, u5} V _inst_1] {W : Type.{u1}} [_inst_3 : CategoryTheory.Category.{u2, u1} W] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} W _inst_3] (c : ComplexShape.{u3} ι) (F : CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) [_inst_5 : CategoryTheory.Functor.Additive.{u5, u1, u4, u2} V W _inst_1 _inst_3 _inst_2 _inst_4 F], Eq.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)} (Quiver.Hom.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2), max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Functor.category.{max u4 u3, max u3 u2, max (max u5 u4) u3, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c)) (CategoryTheory.NatTrans.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F F _inst_5 _inst_5 (CategoryTheory.CategoryStruct.id.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u4, u2, u5, u1} V _inst_1 W _inst_3)) F) c) (CategoryTheory.CategoryStruct.id.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Functor.category.{max u4 u3, max u3 u2, max (max u5 u4) u3, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c))) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.map_homotopy_category_id CategoryTheory.NatTrans.mapHomotopyCategory_idₓ'. -/
@[simp]
theorem NatTrans.mapHomotopyCategory_id (c : ComplexShape ι) (F : V ⥤ W) [F.Additive] :
NatTrans.mapHomotopyCategory (𝟙 F) c = 𝟙 (F.mapHomotopyCategory c) := by tidy
#align category_theory.nat_trans.map_homotopy_category_id CategoryTheory.NatTrans.mapHomotopyCategory_id
+/- warning: category_theory.nat_trans.map_homotopy_category_comp -> CategoryTheory.NatTrans.mapHomotopyCategory_comp is a dubious translation:
+lean 3 declaration is
+ forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} V _inst_1] {W : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u5, u4} W] [_inst_4 : CategoryTheory.Preadditive.{u5, u4} W _inst_3] (c : ComplexShape.{u3} ι) {F : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} {G : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} {H : CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3} [_inst_5 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 F] [_inst_6 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 G] [_inst_7 : CategoryTheory.Functor.Additive.{u2, u4, u1, u5} V W _inst_1 _inst_3 _inst_2 _inst_4 H] (α : Quiver.Hom.{succ (max u2 u5), max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3))) F G) (β : Quiver.Hom.{succ (max u2 u5), max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3))) G H), Eq.{succ (max (max u2 u3 u1) u3 u5)} (Quiver.Hom.{succ (max (max u2 u3 u1) u3 u5), max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Functor.category.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c H _inst_7)) (CategoryTheory.NatTrans.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F H _inst_5 _inst_7 (CategoryTheory.CategoryStruct.comp.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u4} (CategoryTheory.Functor.{u1, u5, u2, u4} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u4} V _inst_1 W _inst_3)) F G H α β) c) (CategoryTheory.CategoryStruct.comp.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3 u1) u3 u5, max (max u3 u1) (max u3 u5) (max u2 u3 u1) u4 u3 u5} (CategoryTheory.Functor.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c)) (CategoryTheory.Functor.category.{max u3 u1, max u3 u5, max u2 u3 u1, max u4 u3 u5} (HomotopyCategory.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomotopyCategory.category.{u1, u3, u2} ι V _inst_1 _inst_2 c) (HomotopyCategory.{u5, u4, u3} ι W _inst_3 _inst_4 c) (HomotopyCategory.category.{u5, u3, u4} ι W _inst_3 _inst_4 c))) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c F _inst_5) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c G _inst_6) (CategoryTheory.Functor.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 c H _inst_7) (CategoryTheory.NatTrans.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F G _inst_5 _inst_6 α c) (CategoryTheory.NatTrans.mapHomotopyCategory.{u1, u2, u3, u4, u5} ι V _inst_1 _inst_2 W _inst_3 _inst_4 G H _inst_6 _inst_7 β c))
+but is expected to have type
+ forall {ι : Type.{u3}} {V : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u4, u5} V] [_inst_2 : CategoryTheory.Preadditive.{u4, u5} V _inst_1] {W : Type.{u1}} [_inst_3 : CategoryTheory.Category.{u2, u1} W] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} W _inst_3] (c : ComplexShape.{u3} ι) {F : CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3} {G : CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3} {H : CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3} [_inst_5 : CategoryTheory.Functor.Additive.{u5, u1, u4, u2} V W _inst_1 _inst_3 _inst_2 _inst_4 F] [_inst_6 : CategoryTheory.Functor.Additive.{u5, u1, u4, u2} V W _inst_1 _inst_3 _inst_2 _inst_4 G] [_inst_7 : CategoryTheory.Functor.Additive.{u5, u1, u4, u2} V W _inst_1 _inst_3 _inst_2 _inst_4 H] (α : Quiver.Hom.{max (succ u5) (succ u2), max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u4, u2, u5, u1} V _inst_1 W _inst_3))) F G) (β : Quiver.Hom.{max (succ u5) (succ u2), max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u5 u4) u1) u2} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u4, u2, u5, u1} V _inst_1 W _inst_3))) G H), Eq.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)} (Quiver.Hom.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2), max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Functor.category.{max u4 u3, max u3 u2, max (max u5 u4) u3, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)))) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 H _inst_7 c)) (CategoryTheory.NatTrans.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F H _inst_5 _inst_7 (CategoryTheory.CategoryStruct.comp.{max u2 u5, max (max (max u2 u1) u5) u4} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max (max (max u2 u1) u5) u4} (CategoryTheory.Functor.{u4, u2, u5, u1} V _inst_1 W _inst_3) (CategoryTheory.Functor.category.{u4, u2, u5, u1} V _inst_1 W _inst_3)) F G H α β) c) (CategoryTheory.CategoryStruct.comp.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u5 u4) u3) u2, max (max (max (max u5 u4) u3) u1) u2} (CategoryTheory.Functor.{max u4 u3, max u3 u2, max (max u3 u5) u4, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c)) (CategoryTheory.Functor.category.{max u4 u3, max u3 u2, max (max u5 u4) u3, max (max u3 u1) u2} (HomotopyCategory.{u4, u5, u3} ι V _inst_1 _inst_2 c) (instCategoryHomotopyCategory.{u4, u5, u3} V _inst_1 _inst_2 ι c) (HomotopyCategory.{u2, u1, u3} ι W _inst_3 _inst_4 c) (instCategoryHomotopyCategory.{u2, u1, u3} W _inst_3 _inst_4 ι c))) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F _inst_5 c) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 G _inst_6 c) (CategoryTheory.Functor.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 H _inst_7 c) (CategoryTheory.NatTrans.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 F G _inst_5 _inst_6 α c) (CategoryTheory.NatTrans.mapHomotopyCategory.{u4, u5, u3, u1, u2} ι V _inst_1 _inst_2 W _inst_3 _inst_4 G H _inst_6 _inst_7 β c))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.map_homotopy_category_comp CategoryTheory.NatTrans.mapHomotopyCategory_compₓ'. -/
@[simp]
theorem NatTrans.mapHomotopyCategory_comp (c : ComplexShape ι) {F G H : V ⥤ W} [F.Additive]
[G.Additive] [H.Additive] (α : F ⟶ G) (β : G ⟶ H) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Functor.Full
a Prop (#12449)
Before this PR, Functor.Full
contained the data of the preimage of maps by a full functor F
. This PR makes Functor.Full
a proposition. This is to prevent any diamond to appear.
The lemma Functor.image_preimage
is also renamed Functor.map_preimage
.
Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@@ -65,7 +65,7 @@ def quotient : HomologicalComplex V c ⥤ HomotopyCategory V c :=
CategoryTheory.Quotient.functor _
#align homotopy_category.quotient HomotopyCategory.quotient
-instance : (quotient V c).Full := Quotient.fullFunctor _
+instance : (quotient V c).Full := Quotient.full_functor _
instance : (quotient V c).EssSurj := Quotient.essSurj_functor _
@@ -91,6 +91,12 @@ instance [HasZeroObject V] : HasZeroObject (HomotopyCategory V c) :=
⟨(quotient V c).obj 0, by
rw [IsZero.iff_id_eq_zero, ← (quotient V c).map_id, id_zero, Functor.map_zero]⟩
+instance {D : Type*} [Category D] : ((whiskeringLeft _ _ D).obj (quotient V c)).Full :=
+ Quotient.full_whiskeringLeft_functor _ _
+
+instance {D : Type*} [Category D] : ((whiskeringLeft _ _ D).obj (quotient V c)).Faithful :=
+ Quotient.faithful_whiskeringLeft_functor _ _
+
variable {V c}
-- Porting note: removed @[simp] attribute because it hinders the automatic application of the
The file CategoryTheory.MorphismProperty
is split into five files Basic
, Composition
, Limits
, Concrete
, IsInvertedBy
.
@@ -5,6 +5,7 @@ Authors: Scott Morrison
-/
import Mathlib.Algebra.Homology.Homotopy
import Mathlib.Algebra.Homology.Linear
+import Mathlib.CategoryTheory.MorphismProperty.IsInvertedBy
import Mathlib.CategoryTheory.Quotient.Linear
import Mathlib.CategoryTheory.Quotient.Preadditive
Fixes a typo in the name of a variable.
@@ -48,7 +48,7 @@ def HomotopyCategory :=
CategoryTheory.Quotient (homotopic V c)
#align homotopy_category HomotopyCategory
-instance {v : ComplexShape ι} : Category (HomotopyCategory V v) := by
+instance : Category (HomotopyCategory V c) := by
dsimp only [HomotopyCategory]
infer_instance
@@ -17,9 +17,6 @@ import Mathlib.CategoryTheory.Quotient.Preadditive
with chain maps identified when they are homotopic.
-/
-set_option autoImplicit true
-
-
universe v u
open scoped Classical
@@ -51,7 +48,7 @@ def HomotopyCategory :=
CategoryTheory.Quotient (homotopic V c)
#align homotopy_category HomotopyCategory
-instance : Category (HomotopyCategory V v) := by
+instance {v : ComplexShape ι} : Category (HomotopyCategory V v) := by
dsimp only [HomotopyCategory]
infer_instance
These notions on functors are now Functor.Full
, Functor.Faithful
, Functor.EssSurj
, Functor.IsEquivalence
, Functor.ReflectsIsomorphisms
. Deprecated aliases are introduced for the previous names.
@@ -67,9 +67,9 @@ def quotient : HomologicalComplex V c ⥤ HomotopyCategory V c :=
CategoryTheory.Quotient.functor _
#align homotopy_category.quotient HomotopyCategory.quotient
-instance : Full (quotient V c) := Quotient.fullFunctor _
+instance : (quotient V c).Full := Quotient.fullFunctor _
-instance : EssSurj (quotient V c) := Quotient.essSurj_functor _
+instance : (quotient V c).EssSurj := Quotient.essSurj_functor _
instance : (quotient V c).Additive where
open Classical
(#11199)
We remove all but one open Classical
s, instead preferring to use open scoped Classical
. The only real side-effect this led to is moving a couple declarations to use Exists.choose
instead of Classical.choose
.
The first few commits are explicitly labelled regex replaces for ease of review.
@@ -22,7 +22,7 @@ set_option autoImplicit true
universe v u
-open Classical
+open scoped Classical
noncomputable section
In this PR, it is shown that if C
is a R
-linear category, then the category of homological complexes in C
is R
-linear. (This is also obtained for the homotopy category.)
Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@@ -4,7 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
import Mathlib.Algebra.Homology.Homotopy
-import Mathlib.Algebra.Homology.Additive
+import Mathlib.Algebra.Homology.Linear
+import Mathlib.CategoryTheory.Quotient.Linear
import Mathlib.CategoryTheory.Quotient.Preadditive
#align_import algebra.homology.homotopy_category from "leanprover-community/mathlib"@"13ff898b0eee75d3cc75d1c06a491720eaaf911d"
@@ -27,11 +28,8 @@ noncomputable section
open CategoryTheory CategoryTheory.Limits HomologicalComplex
-variable {ι : Type*}
-
-variable (V : Type u) [Category.{v} V] [Preadditive V]
-
-variable (c : ComplexShape ι)
+variable {R : Type*} [Semiring R]
+ {ι : Type*} (V : Type u) [Category.{v} V] [Preadditive V] (c : ComplexShape ι)
/-- The congruence on `HomologicalComplex V c` given by the existence of a homotopy.
-/
@@ -75,6 +73,17 @@ instance : EssSurj (quotient V c) := Quotient.essSurj_functor _
instance : (quotient V c).Additive where
+instance : Preadditive (CategoryTheory.Quotient (homotopic V c)) :=
+ (inferInstance : Preadditive (HomotopyCategory V c))
+
+instance : Functor.Additive (Quotient.functor (homotopic V c)) where
+
+instance [Linear R V] : Linear R (HomotopyCategory V c) :=
+ Quotient.linear R (homotopic V c) (fun _ _ _ _ _ h => ⟨h.some.smul _⟩)
+
+instance [Linear R V] : Functor.Linear R (HomotopyCategory.quotient V c) :=
+ Quotient.linear_functor _ _ _
+
open ZeroObject
instance [HasZeroObject V] : Inhabited (HomotopyCategory V c) :=
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -86,7 +86,7 @@ instance [HasZeroObject V] : HasZeroObject (HomotopyCategory V c) :=
variable {V c}
--- porting note: removed @[simp] attribute because it hinders the automatic application of the
+-- Porting note: removed @[simp] attribute because it hinders the automatic application of the
-- more useful `quotient_map_out`
theorem quotient_obj_as (C : HomologicalComplex V c) : ((quotient V c).obj C).as = C :=
rfl
@@ -97,7 +97,7 @@ theorem quotient_map_out {C D : HomotopyCategory V c} (f : C ⟶ D) : (quotient
Quot.out_eq _
#align homotopy_category.quotient_map_out HomotopyCategory.quotient_map_out
--- porting note: added to ease the port
+-- Porting note: added to ease the port
theorem quot_mk_eq_quotient_map {C D : HomologicalComplex V c} (f : C ⟶ D) :
Quot.mk _ f = (quotient V c).map f := rfl
@@ -240,7 +240,7 @@ namespace CategoryTheory
variable {V} {W : Type*} [Category W] [Preadditive W]
--- porting note: given a simpler definition of this functor
+-- Porting note: given a simpler definition of this functor
/-- An additive functor induces a functor between homotopy categories. -/
@[simps! obj]
def Functor.mapHomotopyCategory (F : V ⥤ W) [F.Additive] (c : ComplexShape ι) :
@@ -249,7 +249,7 @@ def Functor.mapHomotopyCategory (F : V ⥤ W) [F.Additive] (c : ComplexShape ι)
(fun _ _ _ _ ⟨h⟩ => HomotopyCategory.eq_of_homotopy _ _ (F.mapHomotopy h))
#align category_theory.functor.map_homotopy_category CategoryTheory.Functor.mapHomotopyCategory
--- porting note: added this lemma because of the new definition of `Functor.mapHomotopyCategory`
+-- Porting note (#10756): added lemma because of new definition of `Functor.mapHomotopyCategory`
@[simp]
lemma Functor.mapHomotopyCategory_map (F : V ⥤ W) [F.Additive] {c : ComplexShape ι}
{K L : HomologicalComplex V c} (f : K ⟶ L) :
This PR introduces the class of quasi-isomorphisms in the homotopy category of homological complexes.
@@ -154,6 +154,13 @@ def homotopyEquivOfIso {C D : HomologicalComplex V c}
(by rw [quotient_map_out_comp_out, i.inv_hom_id, (quotient V c).map_id])
#align homotopy_category.homotopy_equiv_of_iso HomotopyCategory.homotopyEquivOfIso
+variable (V c) in
+lemma quotient_inverts_homotopyEquivalences :
+ (HomologicalComplex.homotopyEquivalences V c).IsInvertedBy (quotient V c) := by
+ rintro K L _ ⟨e, rfl⟩
+ change IsIso (isoOfHomotopyEquiv e).hom
+ infer_instance
+
lemma isZero_quotient_obj_iff (C : HomologicalComplex V c) :
IsZero ((quotient _ _).obj C) ↔ Nonempty (Homotopy (𝟙 C) 0) := by
rw [IsZero.iff_id_eq_zero]
This PR adds various small prerequisites for the construction of the triangulated structure on the homotopy category of cochain complexes.
@@ -77,10 +77,13 @@ instance : (quotient V c).Additive where
open ZeroObject
--- TODO upgrade this to `HasZeroObject`, presumably for any `quotient`.
instance [HasZeroObject V] : Inhabited (HomotopyCategory V c) :=
⟨(quotient V c).obj 0⟩
+instance [HasZeroObject V] : HasZeroObject (HomotopyCategory V c) :=
+ ⟨(quotient V c).obj 0, by
+ rw [IsZero.iff_id_eq_zero, ← (quotient V c).map_id, id_zero, Functor.map_zero]⟩
+
variable {V c}
-- porting note: removed @[simp] attribute because it hinders the automatic application of the
@@ -151,6 +154,15 @@ def homotopyEquivOfIso {C D : HomologicalComplex V c}
(by rw [quotient_map_out_comp_out, i.inv_hom_id, (quotient V c).map_id])
#align homotopy_category.homotopy_equiv_of_iso HomotopyCategory.homotopyEquivOfIso
+lemma isZero_quotient_obj_iff (C : HomologicalComplex V c) :
+ IsZero ((quotient _ _).obj C) ↔ Nonempty (Homotopy (𝟙 C) 0) := by
+ rw [IsZero.iff_id_eq_zero]
+ constructor
+ · intro h
+ exact ⟨(homotopyOfEq _ _ (by simp [h]))⟩
+ · rintro ⟨h⟩
+ simpa using (eq_of_homotopy _ _ h)
+
variable (V c)
section
@@ -238,6 +238,15 @@ lemma Functor.mapHomotopyCategory_map (F : V ⥤ W) [F.Additive] {c : ComplexSha
(HomotopyCategory.quotient W c).map ((F.mapHomologicalComplex c).map f) :=
rfl
+/-- The obvious isomorphism between
+`HomotopyCategory.quotient V c ⋙ F.mapHomotopyCategory c` and
+`F.mapHomologicalComplex c ⋙ HomotopyCategory.quotient W c` when `F : V ⥤ W` is
+an additive functor. -/
+def Functor.mapHomotopyCategoryFactors (F : V ⥤ W) [F.Additive] (c : ComplexShape ι) :
+ HomotopyCategory.quotient V c ⋙ F.mapHomotopyCategory c ≅
+ F.mapHomologicalComplex c ⋙ HomotopyCategory.quotient W c :=
+ CategoryTheory.Quotient.lift.isLift _ _ _
+
-- TODO `F.mapHomotopyCategory c` is additive (and linear when `F` is linear).
-- TODO develop lifting of natural transformations for general quotient categories so that
-- `NatTrans.mapHomotopyCategory` become a particular case of it
@@ -4,7 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
import Mathlib.Algebra.Homology.Homotopy
-import Mathlib.CategoryTheory.Quotient
+import Mathlib.Algebra.Homology.Additive
+import Mathlib.CategoryTheory.Quotient.Preadditive
#align_import algebra.homology.homotopy_category from "leanprover-community/mathlib"@"13ff898b0eee75d3cc75d1c06a491720eaaf911d"
@@ -59,11 +60,21 @@ instance : Category (HomotopyCategory V v) := by
-- TODO the homotopy_category is preadditive
namespace HomotopyCategory
+instance : Preadditive (HomotopyCategory V c) := Quotient.preadditive _ (by
+ rintro _ _ _ _ _ _ ⟨h⟩ ⟨h'⟩
+ exact ⟨Homotopy.add h h'⟩)
+
/-- The quotient functor from complexes to the homotopy category. -/
def quotient : HomologicalComplex V c ⥤ HomotopyCategory V c :=
CategoryTheory.Quotient.functor _
#align homotopy_category.quotient HomotopyCategory.quotient
+instance : Full (quotient V c) := Quotient.fullFunctor _
+
+instance : EssSurj (quotient V c) := Quotient.essSurj_functor _
+
+instance : (quotient V c).Additive where
+
open ZeroObject
-- TODO upgrade this to `HasZeroObject`, presumably for any `quotient`.
@@ -141,6 +152,9 @@ def homotopyEquivOfIso {C D : HomologicalComplex V c}
#align homotopy_category.homotopy_equiv_of_iso HomotopyCategory.homotopyEquivOfIso
variable (V c)
+
+section
+
variable [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
/-- The `i`-th homology, as a functor from the homotopy category. -/
@@ -173,6 +187,34 @@ theorem homology'Functor_map_factors (i : ι) {C D : HomologicalComplex V c} (f
(CategoryTheory.Quotient.lift_map_functor_map _ (_root_.homology'Functor V c i) _ f).symm
#align homotopy_category.homology_functor_map_factors HomotopyCategory.homology'Functor_map_factors
+end
+
+section
+
+variable [CategoryWithHomology V]
+
+/-- The `i`-th homology, as a functor from the homotopy category. -/
+noncomputable def homologyFunctor (i : ι) : HomotopyCategory V c ⥤ V :=
+ CategoryTheory.Quotient.lift _ (HomologicalComplex.homologyFunctor V c i) (by
+ rintro K L f g ⟨h⟩
+ exact h.homologyMap_eq i)
+
+/-- The homology functor on the homotopy category is induced by
+the homology functor on homological complexes. -/
+noncomputable def homologyFunctorFactors (i : ι) :
+ quotient V c ⋙ homologyFunctor V c i ≅
+ HomologicalComplex.homologyFunctor V c i :=
+ Quotient.lift.isLift _ _ _
+
+-- this is to prevent any abuse of defeq
+attribute [irreducible] homologyFunctor homologyFunctorFactors
+
+instance (i : ι) : (homologyFunctor V c i).Additive := by
+ have := Functor.additive_of_iso (homologyFunctorFactors V c i).symm
+ exact Functor.additive_of_full_essSurj_comp (quotient V c) _
+
+end
+
end HomotopyCategory
namespace CategoryTheory
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>
@@ -144,34 +144,34 @@ variable (V c)
variable [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
/-- The `i`-th homology, as a functor from the homotopy category. -/
-def homologyFunctor (i : ι) : HomotopyCategory V c ⥤ V :=
- CategoryTheory.Quotient.lift _ (_root_.homologyFunctor V c i) fun _ _ _ _ ⟨h⟩ =>
- homology_map_eq_of_homotopy h i
-#align homotopy_category.homology_functor HomotopyCategory.homologyFunctor
+def homology'Functor (i : ι) : HomotopyCategory V c ⥤ V :=
+ CategoryTheory.Quotient.lift _ (_root_.homology'Functor V c i) fun _ _ _ _ ⟨h⟩ =>
+ homology'_map_eq_of_homotopy h i
+#align homotopy_category.homology_functor HomotopyCategory.homology'Functor
/-- The homology functor on the homotopy category is just the usual homology functor. -/
-def homologyFactors (i : ι) :
- quotient V c ⋙ homologyFunctor V c i ≅ _root_.homologyFunctor V c i :=
+def homology'Factors (i : ι) :
+ quotient V c ⋙ homology'Functor V c i ≅ _root_.homology'Functor V c i :=
CategoryTheory.Quotient.lift.isLift _ _ _
-#align homotopy_category.homology_factors HomotopyCategory.homologyFactors
+#align homotopy_category.homology_factors HomotopyCategory.homology'Factors
@[simp]
-theorem homologyFactors_hom_app (i : ι) (C : HomologicalComplex V c) :
- (homologyFactors V c i).hom.app C = 𝟙 _ :=
+theorem homology'Factors_hom_app (i : ι) (C : HomologicalComplex V c) :
+ (homology'Factors V c i).hom.app C = 𝟙 _ :=
rfl
-#align homotopy_category.homology_factors_hom_app HomotopyCategory.homologyFactors_hom_app
+#align homotopy_category.homology_factors_hom_app HomotopyCategory.homology'Factors_hom_app
@[simp]
-theorem homologyFactors_inv_app (i : ι) (C : HomologicalComplex V c) :
- (homologyFactors V c i).inv.app C = 𝟙 _ :=
+theorem homology'Factors_inv_app (i : ι) (C : HomologicalComplex V c) :
+ (homology'Factors V c i).inv.app C = 𝟙 _ :=
rfl
-#align homotopy_category.homology_factors_inv_app HomotopyCategory.homologyFactors_inv_app
+#align homotopy_category.homology_factors_inv_app HomotopyCategory.homology'Factors_inv_app
-theorem homologyFunctor_map_factors (i : ι) {C D : HomologicalComplex V c} (f : C ⟶ D) :
- (_root_.homologyFunctor V c i).map f =
- ((homologyFunctor V c i).map ((quotient V c).map f) : _) :=
- (CategoryTheory.Quotient.lift_map_functor_map _ (_root_.homologyFunctor V c i) _ f).symm
-#align homotopy_category.homology_functor_map_factors HomotopyCategory.homologyFunctor_map_factors
+theorem homology'Functor_map_factors (i : ι) {C D : HomologicalComplex V c} (f : C ⟶ D) :
+ (_root_.homology'Functor V c i).map f =
+ ((homology'Functor V c i).map ((quotient V c).map f) : _) :=
+ (CategoryTheory.Quotient.lift_map_functor_map _ (_root_.homology'Functor V c i) _ f).symm
+#align homotopy_category.homology_functor_map_factors HomotopyCategory.homology'Functor_map_factors
end HomotopyCategory
@@ -85,7 +85,7 @@ theorem quotient_map_out {C D : HomotopyCategory V c} (f : C ⟶ D) : (quotient
-- porting note: added to ease the port
theorem quot_mk_eq_quotient_map {C D : HomologicalComplex V c} (f : C ⟶ D) :
- Quot.mk _ f = (quotient V c).map f := rfl
+ Quot.mk _ f = (quotient V c).map f := rfl
theorem eq_of_homotopy {C D : HomologicalComplex V c} (f g : C ⟶ D) (h : Homotopy f g) :
(quotient V c).map f = (quotient V c).map g :=
It is shown in this PR that when an equivalence relation on morphisms in a preadditive category is compatible with the addition, then the quotient category is preadditive.
@@ -38,10 +38,10 @@ def homotopic : HomRel (HomologicalComplex V c) := fun _ _ f g => Nonempty (Homo
#align homotopic homotopic
instance homotopy_congruence : Congruence (homotopic V c) where
- isEquiv :=
+ equivalence :=
{ refl := fun C => ⟨Homotopy.refl C⟩
- symm := fun _ _ ⟨w⟩ => ⟨w.symm⟩
- trans := fun _ _ _ ⟨w₁⟩ ⟨w₂⟩ => ⟨w₁.trans w₂⟩ }
+ symm := fun ⟨w⟩ => ⟨w.symm⟩
+ trans := fun ⟨w₁⟩ ⟨w₂⟩ => ⟨w₁.trans w₂⟩ }
compLeft := fun _ _ _ ⟨i⟩ => ⟨i.compLeft _⟩
compRight := fun _ ⟨i⟩ => ⟨i.compRight _⟩
#align homotopy_congruence homotopy_congruence
Autoimplicits are highly controversial and also defeat the performance-improving work in #6474.
The intent of this PR is to make autoImplicit
opt-in on a per-file basis, by disabling it in the lakefile and enabling it again with set_option autoImplicit true
in the few files that rely on it.
That also keeps this PR small, as opposed to attempting to "fix" files to not need it any more.
I claim that many of the uses of autoImplicit
in these files are accidental; situations such as:
variables
are in scope, but pasting the lemma in the wrong sectionHaving set_option autoImplicit false
as the default prevents these types of mistake being made in the 90% of files where autoImplicit
s are not used at all, and causes them to be caught by CI during review.
I think there were various points during the port where we encouraged porters to delete the universes u v
lines; I think having autoparams for universe variables only would cover a lot of the cases we actually use them, while avoiding any real shortcomings.
A Zulip poll (after combining overlapping votes accordingly) was in favor of this change with 5:5:18
as the no:dontcare:yes
vote ratio.
While this PR was being reviewed, a handful of files gained some more likely-accidental autoImplicits. In these places, set_option autoImplicit true
has been placed locally within a section, rather than at the top of the file.
@@ -15,6 +15,8 @@ import Mathlib.CategoryTheory.Quotient
with chain maps identified when they are homotopic.
-/
+set_option autoImplicit true
+
universe v u
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -24,7 +24,7 @@ noncomputable section
open CategoryTheory CategoryTheory.Limits HomologicalComplex
-variable {ι : Type _}
+variable {ι : Type*}
variable (V : Type u) [Category.{v} V] [Preadditive V]
@@ -175,7 +175,7 @@ end HomotopyCategory
namespace CategoryTheory
-variable {V} {W : Type _} [Category W] [Preadditive W]
+variable {V} {W : Type*} [Category W] [Preadditive W]
-- porting note: given a simpler definition of this functor
/-- An additive functor induces a functor between homotopy categories. -/
@@ -2,15 +2,12 @@
Copyright (c) 2021 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebra.homology.homotopy_category
-! leanprover-community/mathlib commit 13ff898b0eee75d3cc75d1c06a491720eaaf911d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.Homology.Homotopy
import Mathlib.CategoryTheory.Quotient
+#align_import algebra.homology.homotopy_category from "leanprover-community/mathlib"@"13ff898b0eee75d3cc75d1c06a491720eaaf911d"
+
/-!
# The homotopy category
@@ -194,7 +194,7 @@ def Functor.mapHomotopyCategory (F : V ⥤ W) [F.Additive] (c : ComplexShape ι)
lemma Functor.mapHomotopyCategory_map (F : V ⥤ W) [F.Additive] {c : ComplexShape ι}
{K L : HomologicalComplex V c} (f : K ⟶ L) :
(F.mapHomotopyCategory c).map ((HomotopyCategory.quotient V c).map f) =
- (HomotopyCategory.quotient W c).map ((F.mapHomologicalComplex c).map f):=
+ (HomotopyCategory.quotient W c).map ((F.mapHomologicalComplex c).map f) :=
rfl
-- TODO `F.mapHomotopyCategory c` is additive (and linear when `F` is linear).
The unported dependencies are