category_theory.triangulated.triangulated
⟷
Mathlib.CategoryTheory.Triangulated.Triangulated
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2022 Joël Riou. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joël Riou
-/
-import Mathbin.CategoryTheory.Triangulated.Pretriangulated
+import CategoryTheory.Triangulated.Pretriangulated
#align_import category_theory.triangulated.triangulated from "leanprover-community/mathlib"@"25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2022 Joël Riou. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joël Riou
-
-! This file was ported from Lean 3 source module category_theory.triangulated.triangulated
-! leanprover-community/mathlib commit 25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.CategoryTheory.Triangulated.Pretriangulated
+#align_import category_theory.triangulated.triangulated from "leanprover-community/mathlib"@"25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e"
+
/-!
# Triangulated Categories
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -41,8 +41,7 @@ variable {X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ : C} {u₁₂ : X₁ ⟶ X₂}
namespace Triangulated
-include comm h₁₂ h₂₃ h₁₃
-
+#print CategoryTheory.Triangulated.Octahedron /-
/-- An octahedron is a type of datum whose existence is asserted by
the octahedron axiom (TR 4), see https://stacks.math.columbia.edu/tag/05QK -/
structure Octahedron where
@@ -54,8 +53,7 @@ structure Octahedron where
comm₄ : w₁₃ ≫ u₁₂⟦1⟧' = m₃ ≫ w₂₃
Mem : Triangle.mk m₁ m₃ (w₂₃ ≫ v₁₂⟦1⟧') ∈ (dist_triang C)
#align category_theory.triangulated.octahedron CategoryTheory.Triangulated.Octahedron
-
-omit comm h₁₂ h₂₃ h₁₃
+-/
instance (X : C) :
Nonempty
@@ -71,12 +69,15 @@ attribute [reassoc] comm₁ comm₂ comm₃ comm₄
variable {comm h₁₂ h₂₃ h₁₃} (h : Octahedron comm h₁₂ h₂₃ h₁₃)
+#print CategoryTheory.Triangulated.Octahedron.triangle /-
/-- The triangle `Z₁₂ ⟶ Z₁₃ ⟶ Z₂₃ ⟶ Z₁₂⟦1⟧` given by an octahedron. -/
@[simps]
def triangle : Triangle C :=
Triangle.mk h.m₁ h.m₃ (w₂₃ ≫ v₁₂⟦1⟧')
#align category_theory.triangulated.octahedron.triangle CategoryTheory.Triangulated.Octahedron.triangle
+-/
+#print CategoryTheory.Triangulated.Octahedron.triangleMorphism₁ /-
/-- The first morphism of triangles given by an octahedron. -/
@[simps]
def triangleMorphism₁ : Triangle.mk u₁₂ v₁₂ w₁₂ ⟶ Triangle.mk u₁₃ v₁₃ w₁₃
@@ -88,7 +89,9 @@ def triangleMorphism₁ : Triangle.mk u₁₂ v₁₂ w₁₂ ⟶ Triangle.mk u
comm₂' := h.comm₁
comm₃' := by dsimp; simpa only [Functor.map_id, comp_id] using h.comm₂.symm
#align category_theory.triangulated.octahedron.triangle_morphism₁ CategoryTheory.Triangulated.Octahedron.triangleMorphism₁
+-/
+#print CategoryTheory.Triangulated.Octahedron.triangleMorphism₂ /-
/-- The second morphism of triangles given an octahedron. -/
@[simps]
def triangleMorphism₂ : Triangle.mk u₁₃ v₁₃ w₁₃ ⟶ Triangle.mk u₂₃ v₂₃ w₂₃
@@ -100,6 +103,7 @@ def triangleMorphism₂ : Triangle.mk u₁₃ v₁₃ w₁₃ ⟶ Triangle.mk u
comm₂' := by dsimp; rw [id_comp, h.comm₃]
comm₃' := h.comm₄
#align category_theory.triangulated.octahedron.triangle_morphism₂ CategoryTheory.Triangulated.Octahedron.triangleMorphism₂
+-/
/- TODO (@joelriou): show that in order to verify the existence of an octahedron, one may
replace the composable maps `u₁₂` and `u₂₃` by any isomorphic composable maps
@@ -112,6 +116,7 @@ open Triangulated
variable (C)
+#print CategoryTheory.IsTriangulated /-
/-- A triangulated category is a pretriangulated category which satisfies
the octahedron axiom (TR 4), see https://stacks.math.columbia.edu/tag/05QK -/
class IsTriangulated where
@@ -122,15 +127,18 @@ class IsTriangulated where
(h₂₃ : Triangle.mk u₂₃ v₂₃ w₂₃ ∈ (dist_triang C)) ⦃v₁₃ : X₃ ⟶ Z₁₃⦄ ⦃w₁₃ : Z₁₃ ⟶ X₁⟦1⟧⦄
(h₁₃ : Triangle.mk u₁₃ v₁₃ w₁₃ ∈ (dist_triang C)), Nonempty (Octahedron comm h₁₂ h₂₃ h₁₃)
#align category_theory.is_triangulated CategoryTheory.IsTriangulated
+-/
namespace Triangulated
variable {C}
+#print CategoryTheory.Triangulated.someOctahedron /-
/-- A choice of octahedron given by the octahedron axiom. -/
def someOctahedron [IsTriangulated C] : Octahedron comm h₁₂ h₂₃ h₁₃ :=
(IsTriangulated.octahedron_axiom comm h₁₂ h₂₃ h₁₃).some
#align category_theory.triangulated.some_octahedron CategoryTheory.Triangulated.someOctahedron
+-/
end Triangulated
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -28,7 +28,7 @@ namespace CategoryTheory
open Limits Category Preadditive Pretriangulated
-open ZeroObject
+open scoped ZeroObject
variable {C : Type _} [Category C] [Preadditive C] [HasZeroObject C] [HasShift C ℤ]
[∀ n : ℤ, Functor.Additive (shiftFunctor C n)] [Pretriangulated C]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -43,9 +43,6 @@ namespace Triangulated
include comm h₁₂ h₂₃ h₁₃
-/- warning: category_theory.triangulated.octahedron -> CategoryTheory.Triangulated.Octahedron is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron CategoryTheory.Triangulated.Octahedronₓ'. -/
/-- An octahedron is a type of datum whose existence is asserted by
the octahedron axiom (TR 4), see https://stacks.math.columbia.edu/tag/05QK -/
structure Octahedron where
@@ -74,18 +71,12 @@ attribute [reassoc] comm₁ comm₂ comm₃ comm₄
variable {comm h₁₂ h₂₃ h₁₃} (h : Octahedron comm h₁₂ h₂₃ h₁₃)
-/- warning: category_theory.triangulated.octahedron.triangle -> CategoryTheory.Triangulated.Octahedron.triangle is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron.triangle CategoryTheory.Triangulated.Octahedron.triangleₓ'. -/
/-- The triangle `Z₁₂ ⟶ Z₁₃ ⟶ Z₂₃ ⟶ Z₁₂⟦1⟧` given by an octahedron. -/
@[simps]
def triangle : Triangle C :=
Triangle.mk h.m₁ h.m₃ (w₂₃ ≫ v₁₂⟦1⟧')
#align category_theory.triangulated.octahedron.triangle CategoryTheory.Triangulated.Octahedron.triangle
-/- warning: category_theory.triangulated.octahedron.triangle_morphism₁ -> CategoryTheory.Triangulated.Octahedron.triangleMorphism₁ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron.triangle_morphism₁ CategoryTheory.Triangulated.Octahedron.triangleMorphism₁ₓ'. -/
/-- The first morphism of triangles given by an octahedron. -/
@[simps]
def triangleMorphism₁ : Triangle.mk u₁₂ v₁₂ w₁₂ ⟶ Triangle.mk u₁₃ v₁₃ w₁₃
@@ -98,9 +89,6 @@ def triangleMorphism₁ : Triangle.mk u₁₂ v₁₂ w₁₂ ⟶ Triangle.mk u
comm₃' := by dsimp; simpa only [Functor.map_id, comp_id] using h.comm₂.symm
#align category_theory.triangulated.octahedron.triangle_morphism₁ CategoryTheory.Triangulated.Octahedron.triangleMorphism₁
-/- warning: category_theory.triangulated.octahedron.triangle_morphism₂ -> CategoryTheory.Triangulated.Octahedron.triangleMorphism₂ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron.triangle_morphism₂ CategoryTheory.Triangulated.Octahedron.triangleMorphism₂ₓ'. -/
/-- The second morphism of triangles given an octahedron. -/
@[simps]
def triangleMorphism₂ : Triangle.mk u₁₃ v₁₃ w₁₃ ⟶ Triangle.mk u₂₃ v₂₃ w₂₃
@@ -124,12 +112,6 @@ open Triangulated
variable (C)
-/- warning: category_theory.is_triangulated -> CategoryTheory.IsTriangulated is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (fun (n : Int) => _inst_5 n)], Type
-but is expected to have type
- forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2], Type
-Case conversion may be inaccurate. Consider using '#align category_theory.is_triangulated CategoryTheory.IsTriangulatedₓ'. -/
/-- A triangulated category is a pretriangulated category which satisfies
the octahedron axiom (TR 4), see https://stacks.math.columbia.edu/tag/05QK -/
class IsTriangulated where
@@ -145,9 +127,6 @@ namespace Triangulated
variable {C}
-/- warning: category_theory.triangulated.some_octahedron -> CategoryTheory.Triangulated.someOctahedron is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.some_octahedron CategoryTheory.Triangulated.someOctahedronₓ'. -/
/-- A choice of octahedron given by the octahedron axiom. -/
def someOctahedron [IsTriangulated C] : Octahedron comm h₁₂ h₂₃ h₁₃ :=
(IsTriangulated.octahedron_axiom comm h₁₂ h₂₃ h₁₃).some
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -93,13 +93,9 @@ def triangleMorphism₁ : Triangle.mk u₁₂ v₁₂ w₁₂ ⟶ Triangle.mk u
hom₁ := 𝟙 X₁
hom₂ := u₂₃
hom₃ := h.m₁
- comm₁' := by
- dsimp
- rw [id_comp, comm]
+ comm₁' := by dsimp; rw [id_comp, comm]
comm₂' := h.comm₁
- comm₃' := by
- dsimp
- simpa only [Functor.map_id, comp_id] using h.comm₂.symm
+ comm₃' := by dsimp; simpa only [Functor.map_id, comp_id] using h.comm₂.symm
#align category_theory.triangulated.octahedron.triangle_morphism₁ CategoryTheory.Triangulated.Octahedron.triangleMorphism₁
/- warning: category_theory.triangulated.octahedron.triangle_morphism₂ -> CategoryTheory.Triangulated.Octahedron.triangleMorphism₂ is a dubious translation:
@@ -112,12 +108,8 @@ def triangleMorphism₂ : Triangle.mk u₁₃ v₁₃ w₁₃ ⟶ Triangle.mk u
hom₁ := u₁₂
hom₂ := 𝟙 X₃
hom₃ := h.m₃
- comm₁' := by
- dsimp
- rw [comp_id, comm]
- comm₂' := by
- dsimp
- rw [id_comp, h.comm₃]
+ comm₁' := by dsimp; rw [comp_id, comm]
+ comm₂' := by dsimp; rw [id_comp, h.comm₃]
comm₃' := h.comm₄
#align category_theory.triangulated.octahedron.triangle_morphism₂ CategoryTheory.Triangulated.Octahedron.triangleMorphism₂
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -44,10 +44,7 @@ namespace Triangulated
include comm h₁₂ h₂₃ h₁₃
/- warning: category_theory.triangulated.octahedron -> CategoryTheory.Triangulated.Octahedron is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (fun (n : Int) => _inst_5 n)] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃}, (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃) -> (forall {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)}, (Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (fun (n : Int) => _inst_5 n) _inst_6)) -> (forall {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₂)}, (Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (fun (n : Int) => _inst_5 n) _inst_6)) -> (forall {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)}, (Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (fun (n : Int) => _inst_5 n) _inst_6)) -> Type.{u2})))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2] {_inst_6 : C} {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₁} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂}, (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) _inst_6 X₁ X₂ Z₁₃ u₁₂) u₂₃) -> (forall {comm : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)}, (Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₁ X₃ Z₁₃ comm v₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)) -> (forall {h₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)}, (Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ h₁₂ v₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)) -> (forall {h₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₂₃} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)}, (Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)) -> Type.{u2})))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron CategoryTheory.Triangulated.Octahedronₓ'. -/
/-- An octahedron is a type of datum whose existence is asserted by
the octahedron axiom (TR 4), see https://stacks.math.columbia.edu/tag/05QK -/
@@ -78,10 +75,7 @@ attribute [reassoc] comm₁ comm₂ comm₃ comm₄
variable {comm h₁₂ h₂₃ h₁₃} (h : Octahedron comm h₁₂ h₂₃ h₁₃)
/- warning: category_theory.triangulated.octahedron.triangle -> CategoryTheory.Triangulated.Octahedron.triangle is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangle._proof_1.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5)] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {comm : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₂ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangle._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₂)} {h₂₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangle._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangle._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Triangulated.Octahedron.triangle._proof_3.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃ h₁₃) -> (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2] {_inst_6 : C} {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₁} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂} (u₁₃ : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) _inst_6 X₁ X₂ Z₁₃ u₁₂) u₂₃) {comm : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₂ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₁ X₃ Z₁₃ comm v₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)} {w₂₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ h₁₂ v₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₂₃} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃) -> (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron.triangle CategoryTheory.Triangulated.Octahedron.triangleₓ'. -/
/-- The triangle `Z₁₂ ⟶ Z₁₃ ⟶ Z₂₃ ⟶ Z₁₂⟦1⟧` given by an octahedron. -/
@[simps]
@@ -90,10 +84,7 @@ def triangle : Triangle C :=
#align category_theory.triangulated.octahedron.triangle CategoryTheory.Triangulated.Octahedron.triangle
/- warning: category_theory.triangulated.octahedron.triangle_morphism₁ -> CategoryTheory.Triangulated.Octahedron.triangleMorphism₁ is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₁._proof_1.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5)] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {comm : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₂ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₁._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₂)} {h₂₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₁._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₁._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₁._proof_3.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃ h₁₃) -> (Quiver.Hom.{succ u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Pretriangulated.triangleCategory.{u2, u1} C _inst_1 _inst_4))) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2] {_inst_6 : C} {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₁} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂} (u₁₃ : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) _inst_6 X₁ X₂ Z₁₃ u₁₂) u₂₃) {comm : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₂ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₁ X₃ Z₁₃ comm v₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)} {w₂₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ h₁₂ v₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₂₃} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃) -> (Quiver.Hom.{succ u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Pretriangulated.triangleCategory.{u2, u1} C _inst_1 _inst_4))) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₁ X₃ Z₁₃ comm v₁₂) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron.triangle_morphism₁ CategoryTheory.Triangulated.Octahedron.triangleMorphism₁ₓ'. -/
/-- The first morphism of triangles given by an octahedron. -/
@[simps]
@@ -112,10 +103,7 @@ def triangleMorphism₁ : Triangle.mk u₁₂ v₁₂ w₁₂ ⟶ Triangle.mk u
#align category_theory.triangulated.octahedron.triangle_morphism₁ CategoryTheory.Triangulated.Octahedron.triangleMorphism₁
/- warning: category_theory.triangulated.octahedron.triangle_morphism₂ -> CategoryTheory.Triangulated.Octahedron.triangleMorphism₂ is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₂._proof_1.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5)] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {comm : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₂ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₂._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₂)} {h₂₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₂._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₂._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₂._proof_3.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃ h₁₃) -> (Quiver.Hom.{succ u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Pretriangulated.triangleCategory.{u2, u1} C _inst_1 _inst_4))) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2] {_inst_6 : C} {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₁} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂} (u₁₃ : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) _inst_6 X₁ X₂ Z₁₃ u₁₂) u₂₃) {comm : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₂ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₁ X₃ Z₁₃ comm v₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)} {w₂₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ h₁₂ v₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₂₃} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃) -> (Quiver.Hom.{succ u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Pretriangulated.triangleCategory.{u2, u1} C _inst_1 _inst_4))) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ h₁₂ v₂₃))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron.triangle_morphism₂ CategoryTheory.Triangulated.Octahedron.triangleMorphism₂ₓ'. -/
/-- The second morphism of triangles given an octahedron. -/
@[simps]
@@ -166,10 +154,7 @@ namespace Triangulated
variable {C}
/- warning: category_theory.triangulated.some_octahedron -> CategoryTheory.Triangulated.someOctahedron is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.someOctahedron._proof_1.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5)] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} (comm : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃) {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} (h₁₂ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.someOctahedron._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)) {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₂)} (h₂₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.someOctahedron._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)) {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} (h₁₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.someOctahedron._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)) [_inst_7 : CategoryTheory.IsTriangulated.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Triangulated.someOctahedron._proof_3.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6], CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Triangulated.someOctahedron._proof_4.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃ h₁₃
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2] [_inst_6 : CategoryTheory.IsTriangulated.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} (comm : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃) {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)} (h₁₂ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)) {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₂)} (h₂₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)) {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)} (h₁₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)), CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃ h₁₃
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.some_octahedron CategoryTheory.Triangulated.someOctahedronₓ'. -/
/-- A choice of octahedron given by the octahedron axiom. -/
def someOctahedron [IsTriangulated C] : Octahedron comm h₁₂ h₂₃ h₁₃ :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -73,7 +73,7 @@ instance (X : C) :
namespace Octahedron
-attribute [reassoc.1] comm₁ comm₂ comm₃ comm₄
+attribute [reassoc] comm₁ comm₂ comm₃ comm₄
variable {comm h₁₂ h₂₃ h₁₃} (h : Octahedron comm h₁₂ h₂₃ h₁₃)
mathlib commit https://github.com/leanprover-community/mathlib/commit/039ef89bef6e58b32b62898dd48e9d1a4312bb65
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joël Riou
! This file was ported from Lean 3 source module category_theory.triangulated.triangulated
-! leanprover-community/mathlib commit 19786714ebe478f40b503acb4705fb058ba47303
+! leanprover-community/mathlib commit 25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -13,6 +13,9 @@ import Mathbin.CategoryTheory.Triangulated.Pretriangulated
/-!
# Triangulated Categories
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file contains the definition of triangulated categories, which are
pretriangulated categories which satisfy the octahedron axiom.
mathlib commit https://github.com/leanprover-community/mathlib/commit/e05ead7993520a432bec94ac504842d90707ad63
@@ -40,6 +40,12 @@ namespace Triangulated
include comm h₁₂ h₂₃ h₁₃
+/- warning: category_theory.triangulated.octahedron -> CategoryTheory.Triangulated.Octahedron is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (fun (n : Int) => _inst_5 n)] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃}, (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃) -> (forall {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)}, (Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (fun (n : Int) => _inst_5 n) _inst_6)) -> (forall {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₂)}, (Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (fun (n : Int) => _inst_5 n) _inst_6)) -> (forall {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)}, (Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (fun (n : Int) => _inst_5 n) _inst_6)) -> Type.{u2})))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2] {_inst_6 : C} {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₁} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂}, (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) _inst_6 X₁ X₂ Z₁₃ u₁₂) u₂₃) -> (forall {comm : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)}, (Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₁ X₃ Z₁₃ comm v₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)) -> (forall {h₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)}, (Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ h₁₂ v₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)) -> (forall {h₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₂₃} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)}, (Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)) -> Type.{u2})))
+Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron CategoryTheory.Triangulated.Octahedronₓ'. -/
/-- An octahedron is a type of datum whose existence is asserted by
the octahedron axiom (TR 4), see https://stacks.math.columbia.edu/tag/05QK -/
structure Octahedron where
@@ -68,12 +74,24 @@ attribute [reassoc.1] comm₁ comm₂ comm₃ comm₄
variable {comm h₁₂ h₂₃ h₁₃} (h : Octahedron comm h₁₂ h₂₃ h₁₃)
+/- warning: category_theory.triangulated.octahedron.triangle -> CategoryTheory.Triangulated.Octahedron.triangle is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangle._proof_1.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5)] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {comm : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₂ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangle._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₂)} {h₂₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangle._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangle._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Triangulated.Octahedron.triangle._proof_3.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃ h₁₃) -> (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2] {_inst_6 : C} {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₁} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂} (u₁₃ : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) _inst_6 X₁ X₂ Z₁₃ u₁₂) u₂₃) {comm : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₂ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₁ X₃ Z₁₃ comm v₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)} {w₂₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ h₁₂ v₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₂₃} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃) -> (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)
+Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron.triangle CategoryTheory.Triangulated.Octahedron.triangleₓ'. -/
/-- The triangle `Z₁₂ ⟶ Z₁₃ ⟶ Z₂₃ ⟶ Z₁₂⟦1⟧` given by an octahedron. -/
@[simps]
def triangle : Triangle C :=
Triangle.mk h.m₁ h.m₃ (w₂₃ ≫ v₁₂⟦1⟧')
#align category_theory.triangulated.octahedron.triangle CategoryTheory.Triangulated.Octahedron.triangle
+/- warning: category_theory.triangulated.octahedron.triangle_morphism₁ -> CategoryTheory.Triangulated.Octahedron.triangleMorphism₁ is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₁._proof_1.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5)] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {comm : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₂ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₁._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₂)} {h₂₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₁._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₁._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₁._proof_3.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃ h₁₃) -> (Quiver.Hom.{succ u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Pretriangulated.triangleCategory.{u2, u1} C _inst_1 _inst_4))) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2] {_inst_6 : C} {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₁} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂} (u₁₃ : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) _inst_6 X₁ X₂ Z₁₃ u₁₂) u₂₃) {comm : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₂ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₁ X₃ Z₁₃ comm v₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)} {w₂₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ h₁₂ v₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₂₃} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃) -> (Quiver.Hom.{succ u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Pretriangulated.triangleCategory.{u2, u1} C _inst_1 _inst_4))) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₁ X₃ Z₁₃ comm v₁₂) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃))
+Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron.triangle_morphism₁ CategoryTheory.Triangulated.Octahedron.triangleMorphism₁ₓ'. -/
/-- The first morphism of triangles given by an octahedron. -/
@[simps]
def triangleMorphism₁ : Triangle.mk u₁₂ v₁₂ w₁₂ ⟶ Triangle.mk u₁₃ v₁₃ w₁₃
@@ -90,6 +108,12 @@ def triangleMorphism₁ : Triangle.mk u₁₂ v₁₂ w₁₂ ⟶ Triangle.mk u
simpa only [Functor.map_id, comp_id] using h.comm₂.symm
#align category_theory.triangulated.octahedron.triangle_morphism₁ CategoryTheory.Triangulated.Octahedron.triangleMorphism₁
+/- warning: category_theory.triangulated.octahedron.triangle_morphism₂ -> CategoryTheory.Triangulated.Octahedron.triangleMorphism₂ is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₂._proof_1.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5)] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {comm : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₂ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₂._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₂)} {h₂₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₂._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} {h₁₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₂._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Triangulated.Octahedron.triangleMorphism₂._proof_3.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃ h₁₃) -> (Quiver.Hom.{succ u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Pretriangulated.triangleCategory.{u2, u1} C _inst_1 _inst_4))) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2] {_inst_6 : C} {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₁} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂} (u₁₃ : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) _inst_6 X₂) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) _inst_6 X₁ X₂ Z₁₃ u₁₂) u₂₃) {comm : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₂ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₁ X₃ Z₁₃ comm v₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)} {w₂₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ h₁₂ v₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)} {h₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₂₃} {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) _inst_6)} {w₁₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)}, (CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃) -> (Quiver.Hom.{succ u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (CategoryTheory.Pretriangulated.triangleCategory.{u2, u1} C _inst_1 _inst_4))) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 _inst_6 X₂ Z₂₃ u₂₃ h₂₃ v₁₃) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ h₁₂ v₂₃))
+Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.octahedron.triangle_morphism₂ CategoryTheory.Triangulated.Octahedron.triangleMorphism₂ₓ'. -/
/-- The second morphism of triangles given an octahedron. -/
@[simps]
def triangleMorphism₂ : Triangle.mk u₁₃ v₁₃ w₁₃ ⟶ Triangle.mk u₂₃ v₂₃ w₂₃
@@ -117,6 +141,12 @@ open Triangulated
variable (C)
+/- warning: category_theory.is_triangulated -> CategoryTheory.IsTriangulated is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (fun (n : Int) => _inst_5 n)], Type
+but is expected to have type
+ forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2], Type
+Case conversion may be inaccurate. Consider using '#align category_theory.is_triangulated CategoryTheory.IsTriangulatedₓ'. -/
/-- A triangulated category is a pretriangulated category which satisfies
the octahedron axiom (TR 4), see https://stacks.math.columbia.edu/tag/05QK -/
class IsTriangulated where
@@ -132,6 +162,12 @@ namespace Triangulated
variable {C}
+/- warning: category_theory.triangulated.some_octahedron -> CategoryTheory.Triangulated.someOctahedron is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.addMonoid] [_inst_5 : forall (n : Int), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} C C _inst_1 _inst_1 _inst_2 _inst_2 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 n)] [_inst_6 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.someOctahedron._proof_1.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5)] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} (comm : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃) {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} (h₁₂ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.someOctahedron._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)) {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₂)} (h₂₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.someOctahedron._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)) {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (CategoryTheory.Functor.obj.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.addMonoid _inst_4 (OfNat.ofNat.{0} Int 1 (OfNat.mk.{0} Int 1 (One.one.{0} Int Int.hasOne)))) X₁)} (h₁₃ : Membership.Mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.hasMem.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 (CategoryTheory.Triangulated.someOctahedron._proof_2.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6)) [_inst_7 : CategoryTheory.IsTriangulated.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Triangulated.someOctahedron._proof_3.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6], CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Triangulated.someOctahedron._proof_4.{u1, u2} C _inst_1 _inst_2 _inst_4 _inst_5) _inst_6 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃ h₁₃
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u2, u1} C _inst_1] [_inst_4 : CategoryTheory.HasShift.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt] [_inst_5 : CategoryTheory.Pretriangulated.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2] [_inst_6 : CategoryTheory.IsTriangulated.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5] {X₁ : C} {X₂ : C} {X₃ : C} {Z₁₂ : C} {Z₂₃ : C} {Z₁₃ : C} {u₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₂} {u₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ X₃} {u₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃} (comm : Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₁ X₃) (CategoryTheory.CategoryStruct.comp.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1) X₁ X₂ X₃ u₁₂ u₂₃) u₁₃) {v₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₂ Z₁₂} {w₁₂ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₂ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)} (h₁₂ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₂ Z₁₂ u₁₂ v₁₂ w₁₂) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)) {v₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₂₃} {w₂₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₂₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₂)} (h₂₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₂ X₃ Z₂₃ u₂₃ v₂₃ w₂₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)) {v₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) X₃ Z₁₃} {w₁₃ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) Z₁₃ (Prefunctor.obj.{succ u2, succ u2, u1, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, u1} C _inst_1 C _inst_1 (CategoryTheory.shiftFunctor.{u2, u1, 0} C Int _inst_1 Int.instAddMonoidInt _inst_4 (OfNat.ofNat.{0} Int 1 (instOfNatInt 1)))) X₁)} (h₁₃ : Membership.mem.{max u1 u2, max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4) (Set.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (Set.instMembershipSet.{max u1 u2} (CategoryTheory.Pretriangulated.Triangle.{u2, u1} C _inst_1 _inst_4)) (CategoryTheory.Pretriangulated.Triangle.mk.{u2, u1} C _inst_1 _inst_4 X₁ X₃ Z₁₃ u₁₃ v₁₃ w₁₃) (CategoryTheory.Pretriangulated.distinguishedTriangles.{u2, u1} C _inst_1 _inst_3 _inst_4 _inst_2 _inst_5)), CategoryTheory.Triangulated.Octahedron.{u1, u2} C _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ u₁₂ u₂₃ u₁₃ comm v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃ h₁₃
+Case conversion may be inaccurate. Consider using '#align category_theory.triangulated.some_octahedron CategoryTheory.Triangulated.someOctahedronₓ'. -/
/-- A choice of octahedron given by the octahedron axiom. -/
def someOctahedron [IsTriangulated C] : Octahedron comm h₁₂ h₂₃ h₁₃ :=
(IsTriangulated.octahedron_axiom comm h₁₂ h₂₃ h₁₃).some
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -182,7 +182,6 @@ class IsTriangulated : Prop where
namespace Triangulated
variable {C}
-
variable {X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ : C}
{u₁₂ : X₁ ⟶ X₂} {u₂₃ : X₂ ⟶ X₃} {u₁₃ : X₁ ⟶ X₃} (comm : u₁₂ ≫ u₂₃ = u₁₃)
{v₁₂ : X₂ ⟶ Z₁₂} {w₁₂ : Z₁₂ ⟶ X₁⟦(1 : ℤ)⟧} {h₁₂ : Triangle.mk u₁₂ v₁₂ w₁₂ ∈ distTriang C}
@@ -136,7 +136,7 @@ def ofIso {X₁' X₂' X₃' Z₁₂' Z₂₃' Z₁₃' : C} (u₁₂' : X₁'
have rel₁₃ := H.triangleMorphism₁.comm₃
have rel₂₂ := H.triangleMorphism₂.comm₂
have rel₂₃ := H.triangleMorphism₂.comm₃
- dsimp at eq₁₂ eq₁₂' eq₁₃ eq₁₃' eq₂₃ eq₂₃' rel₁₂ rel₁₃ rel₂₂ rel₂₃
+ dsimp [iso₁₂, iso₂₃, iso₁₃] at eq₁₂ eq₁₂' eq₁₃ eq₁₃' eq₂₃ eq₂₃' rel₁₂ rel₁₃ rel₂₂ rel₂₃
rw [Functor.map_id, comp_id] at rel₁₃
rw [id_comp] at rel₂₂
refine' ⟨iso₁₂.hom.hom₃ ≫ H.m₁ ≫ iso₁₃.inv.hom₃,
In this PR, it is shown that in order to show that a pretriangulated category is triangulated category, i.e. in order to check the octahedron axiom, it is possible to replace a given diagram by an isomorphic diagram. This shall be used in #9550 in order to show that the homotopy category of cochain complexes in an additive category is triangulated.
@@ -64,7 +64,7 @@ namespace Octahedron
attribute [reassoc] comm₁ comm₂ comm₃ comm₄
variable {X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ : C}
- {u₁₂ : X₁ ⟶ X₂} {u₂₃ : X₂ ⟶ X₃} {u₁₃ : X₁ ⟶ X₃} (comm : u₁₂ ≫ u₂₃ = u₁₃)
+ {u₁₂ : X₁ ⟶ X₂} {u₂₃ : X₂ ⟶ X₃} {u₁₃ : X₁ ⟶ X₃} {comm : u₁₂ ≫ u₂₃ = u₁₃}
{v₁₂ : X₂ ⟶ Z₁₂} {w₁₂ : Z₁₂ ⟶ X₁⟦(1 : ℤ)⟧} {h₁₂ : Triangle.mk u₁₂ v₁₂ w₁₂ ∈ distTriang C}
{v₂₃ : X₃ ⟶ Z₂₃} {w₂₃ : Z₂₃ ⟶ X₂⟦(1 : ℤ)⟧} {h₂₃ : Triangle.mk u₂₃ v₂₃ w₂₃ ∈ distTriang C}
{v₁₃ : X₃ ⟶ Z₁₃} {w₁₃ : Z₁₃ ⟶ X₁⟦(1 : ℤ)⟧} {h₁₃ : Triangle.mk u₁₃ v₁₃ w₁₃ ∈ distTriang C}
@@ -108,9 +108,58 @@ def triangleMorphism₂ : Triangle.mk u₁₃ v₁₃ w₁₃ ⟶ Triangle.mk u
comm₃ := h.comm₄
#align category_theory.triangulated.octahedron.triangle_morphism₂ CategoryTheory.Triangulated.Octahedron.triangleMorphism₂
-/- TODO (@joelriou): show that in order to verify the existence of an octahedron, one may
-replace the composable maps `u₁₂` and `u₂₃` by any isomorphic composable maps
-and the given "cones" of `u₁₂`, `u₂₃`, `u₁₃` by any choice of cones. -/
+
+variable (u₁₂ u₁₃ u₂₃ comm h₁₂ h₁₃ h₂₃)
+
+/-- When two diagrams are isomorphic, an octahedron for one gives an octahedron for the other. -/
+def ofIso {X₁' X₂' X₃' Z₁₂' Z₂₃' Z₁₃' : C} (u₁₂' : X₁' ⟶ X₂') (u₂₃' : X₂' ⟶ X₃')
+ (e₁ : X₁ ≅ X₁') (e₂ : X₂ ≅ X₂')(e₃ : X₃ ≅ X₃')
+ (comm₁₂ : u₁₂ ≫ e₂.hom = e₁.hom ≫ u₁₂') (comm₂₃ : u₂₃ ≫ e₃.hom = e₂.hom ≫ u₂₃')
+ (v₁₂' : X₂' ⟶ Z₁₂') (w₁₂' : Z₁₂' ⟶ X₁'⟦(1 : ℤ)⟧)
+ (h₁₂' : Triangle.mk u₁₂' v₁₂' w₁₂' ∈ distTriang C)
+ (v₂₃' : X₃' ⟶ Z₂₃') (w₂₃' : Z₂₃' ⟶ X₂'⟦(1 : ℤ)⟧)
+ (h₂₃' : Triangle.mk u₂₃' v₂₃' w₂₃' ∈ distTriang C)
+ (v₁₃' : X₃' ⟶ Z₁₃') (w₁₃' : Z₁₃' ⟶ X₁'⟦(1 : ℤ)⟧)
+ (h₁₃' : Triangle.mk (u₁₂' ≫ u₂₃') v₁₃' w₁₃' ∈ distTriang C)
+ (H : Octahedron rfl h₁₂' h₂₃' h₁₃') : Octahedron comm h₁₂ h₂₃ h₁₃ := by
+ let iso₁₂ := isoTriangleOfIso₁₂ _ _ h₁₂ h₁₂' e₁ e₂ comm₁₂
+ let iso₂₃ := isoTriangleOfIso₁₂ _ _ h₂₃ h₂₃' e₂ e₃ comm₂₃
+ let iso₁₃ := isoTriangleOfIso₁₂ _ _ h₁₃ h₁₃' e₁ e₃ (by
+ dsimp; rw [← comm, assoc, ← reassoc_of% comm₁₂, comm₂₃])
+ have eq₁₂ := iso₁₂.hom.comm₂
+ have eq₁₂' := iso₁₂.hom.comm₃
+ have eq₁₃ := iso₁₃.hom.comm₂
+ have eq₁₃' := iso₁₃.hom.comm₃
+ have eq₂₃ := iso₂₃.hom.comm₂
+ have eq₂₃' := iso₂₃.hom.comm₃
+ have rel₁₂ := H.triangleMorphism₁.comm₂
+ have rel₁₃ := H.triangleMorphism₁.comm₃
+ have rel₂₂ := H.triangleMorphism₂.comm₂
+ have rel₂₃ := H.triangleMorphism₂.comm₃
+ dsimp at eq₁₂ eq₁₂' eq₁₃ eq₁₃' eq₂₃ eq₂₃' rel₁₂ rel₁₃ rel₂₂ rel₂₃
+ rw [Functor.map_id, comp_id] at rel₁₃
+ rw [id_comp] at rel₂₂
+ refine' ⟨iso₁₂.hom.hom₃ ≫ H.m₁ ≫ iso₁₃.inv.hom₃,
+ iso₁₃.hom.hom₃ ≫ H.m₃ ≫ iso₂₃.inv.hom₃, _, _, _, _, _⟩
+ · rw [reassoc_of% eq₁₂, ← cancel_mono iso₁₃.hom.hom₃, assoc, assoc, assoc, assoc,
+ iso₁₃.inv_hom_id_triangle_hom₃, eq₁₃, reassoc_of% comm₂₃, ← rel₁₂]
+ dsimp
+ rw [comp_id]
+ · rw [← cancel_mono (e₁.hom⟦(1 : ℤ)⟧'), eq₁₂', assoc, assoc, assoc, eq₁₃',
+ iso₁₃.inv_hom_id_triangle_hom₃_assoc, ← rel₁₃]
+ · rw [reassoc_of% eq₁₃, reassoc_of% rel₂₂, ← cancel_mono iso₂₃.hom.hom₃, assoc, assoc,
+ iso₂₃.inv_hom_id_triangle_hom₃, eq₂₃]
+ dsimp
+ rw [comp_id]
+ · rw [← cancel_mono (e₂.hom⟦(1 : ℤ)⟧'), assoc, assoc, assoc,assoc, eq₂₃',
+ iso₂₃.inv_hom_id_triangle_hom₃_assoc, ← rel₂₃, ← Functor.map_comp, comm₁₂,
+ Functor.map_comp, reassoc_of% eq₁₃']
+ · refine' isomorphic_distinguished _ H.mem _ _
+ refine' Triangle.isoMk _ _ (Triangle.π₃.mapIso iso₁₂) (Triangle.π₃.mapIso iso₁₃)
+ (Triangle.π₃.mapIso iso₂₃) (by simp) (by simp) _
+ · dsimp
+ rw [assoc, ← Functor.map_comp, eq₁₂, Functor.map_comp, reassoc_of% eq₂₃']
+
end Octahedron
end Triangulated
@@ -158,4 +207,25 @@ def someOctahedron [IsTriangulated C]
end Triangulated
+variable {C}
+
+/-- Constructor for `IsTriangulated C` which shows that it suffices to obtain an octahedron
+for a suitable isomorphic diagram instead of the given diagram. -/
+lemma IsTriangulated.mk' (h : ∀ ⦃X₁' X₂' X₃' : C⦄ (u₁₂' : X₁' ⟶ X₂') (u₂₃' : X₂' ⟶ X₃'),
+ ∃ (X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ : C) (u₁₂ : X₁ ⟶ X₂) (u₂₃ : X₂ ⟶ X₃) (e₁ : X₁' ≅ X₁) (e₂ : X₂' ≅ X₂)
+ (e₃ : X₃' ≅ X₃) (_ : u₁₂' ≫ e₂.hom = e₁.hom ≫ u₁₂)
+ (_ : u₂₃' ≫ e₃.hom = e₂.hom ≫ u₂₃)
+ (v₁₂ : X₂ ⟶ Z₁₂) (w₁₂ : Z₁₂ ⟶ X₁⟦1⟧) (h₁₂ : Triangle.mk u₁₂ v₁₂ w₁₂ ∈ distTriang C)
+ (v₂₃ : X₃ ⟶ Z₂₃) (w₂₃ : Z₂₃ ⟶ X₂⟦1⟧) (h₂₃ : Triangle.mk u₂₃ v₂₃ w₂₃ ∈ distTriang C)
+ (v₁₃ : X₃ ⟶ Z₁₃) (w₁₃ : Z₁₃ ⟶ X₁⟦1⟧)
+ (h₁₃ : Triangle.mk (u₁₂ ≫ u₂₃) v₁₃ w₁₃ ∈ distTriang C),
+ Nonempty (Octahedron rfl h₁₂ h₂₃ h₁₃)) :
+ IsTriangulated C where
+ octahedron_axiom {X₁' X₂' X₃' Z₁₂' Z₂₃' Z₁₃' u₁₂' u₂₃' u₁₃'} comm'
+ {v₁₂' w₁₂'} h₁₂' {v₂₃' w₂₃'} h₂₃' {v₁₃' w₁₃'} h₁₃' := by
+ obtain ⟨X₁, X₂, X₃, Z₁₂, Z₂₃, Z₁₃, u₁₂, u₂₃, e₁, e₂, e₃, comm₁₂, comm₂₃,
+ v₁₂, w₁₂, h₁₂, v₂₃, w₂₃, h₂₃, v₁₃, w₁₃, h₁₃, H⟩ := h u₁₂' u₂₃'
+ exact ⟨Octahedron.ofIso u₁₂' u₂₃' u₁₃' comm' h₁₂' h₂₃' h₁₃'
+ u₁₂ u₂₃ e₁ e₂ e₃ comm₁₂ comm₂₃ v₁₂ w₁₂ h₁₂ v₂₃ w₂₃ h₂₃ v₁₃ w₁₃ h₁₃ H.some⟩
+
end CategoryTheory
@@ -147,11 +147,11 @@ def someOctahedron' [IsTriangulated C] : Octahedron comm h₁₂ h₂₃ h₁₃
/-- A choice of octahedron given by the octahedron axiom. -/
def someOctahedron [IsTriangulated C]
- {X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ : C}
- {u₁₂ : X₁ ⟶ X₂} {u₂₃ : X₂ ⟶ X₃} {u₁₃ : X₁ ⟶ X₃} (comm : u₁₂ ≫ u₂₃ = u₁₃)
- {v₁₂ : X₂ ⟶ Z₁₂} {w₁₂ : Z₁₂ ⟶ X₁⟦(1 : ℤ)⟧} (h₁₂ : Triangle.mk u₁₂ v₁₂ w₁₂ ∈ distTriang C)
- {v₂₃ : X₃ ⟶ Z₂₃} {w₂₃ : Z₂₃ ⟶ X₂⟦(1 : ℤ)⟧} (h₂₃ : Triangle.mk u₂₃ v₂₃ w₂₃ ∈ distTriang C)
- {v₁₃ : X₃ ⟶ Z₁₃} {w₁₃ : Z₁₃ ⟶ X₁⟦(1 : ℤ)⟧} (h₁₃ : Triangle.mk u₁₃ v₁₃ w₁₃ ∈ distTriang C) :
+ {X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ : C}
+ {u₁₂ : X₁ ⟶ X₂} {u₂₃ : X₂ ⟶ X₃} {u₁₃ : X₁ ⟶ X₃} (comm : u₁₂ ≫ u₂₃ = u₁₃)
+ {v₁₂ : X₂ ⟶ Z₁₂} {w₁₂ : Z₁₂ ⟶ X₁⟦(1 : ℤ)⟧} (h₁₂ : Triangle.mk u₁₂ v₁₂ w₁₂ ∈ distTriang C)
+ {v₂₃ : X₃ ⟶ Z₂₃} {w₂₃ : Z₂₃ ⟶ X₂⟦(1 : ℤ)⟧} (h₂₃ : Triangle.mk u₂₃ v₂₃ w₂₃ ∈ distTriang C)
+ {v₁₃ : X₃ ⟶ Z₁₃} {w₁₃ : Z₁₃ ⟶ X₁⟦(1 : ℤ)⟧} (h₁₃ : Triangle.mk u₁₃ v₁₃ w₁₃ ∈ distTriang C) :
Octahedron comm h₁₂ h₂₃ h₁₃ :=
someOctahedron' _
#align category_theory.triangulated.some_octahedron CategoryTheory.Triangulated.someOctahedron
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 @@ open Limits Category Preadditive Pretriangulated
open ZeroObject
-variable (C : Type _) [Category C] [Preadditive C] [HasZeroObject C] [HasShift C ℤ]
+variable (C : Type*) [Category C] [Preadditive C] [HasZeroObject C] [HasShift C ℤ]
[∀ n : ℤ, Functor.Additive (shiftFunctor C n)] [Pretriangulated C]
namespace Triangulated
@@ -119,7 +119,7 @@ open Triangulated
/-- A triangulated category is a pretriangulated category which satisfies
the octahedron axiom (TR 4), see https://stacks.math.columbia.edu/tag/05QK -/
-class IsTriangulated where
+class IsTriangulated : Prop where
/-- the octahedron axiom (TR 4) -/
octahedron_axiom :
∀ {X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ : C}
@@ -2,14 +2,11 @@
Copyright (c) 2022 Joël Riou. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joël Riou
-
-! This file was ported from Lean 3 source module category_theory.triangulated.triangulated
-! leanprover-community/mathlib commit 19786714ebe478f40b503acb4705fb058ba47303
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.CategoryTheory.Triangulated.Pretriangulated
+#align_import category_theory.triangulated.triangulated from "leanprover-community/mathlib"@"19786714ebe478f40b503acb4705fb058ba47303"
+
/-!
# Triangulated Categories
@@ -59,7 +59,7 @@ instance (X : C) :
Nonempty (Octahedron (comp_id (𝟙 X)) (contractible_distinguished X)
(contractible_distinguished X) (contractible_distinguished X)) := by
refine' ⟨⟨0, 0, _, _, _, _, isomorphic_distinguished _ (contractible_distinguished (0 : C)) _
- (Triangle.isoMk _ _ (by rfl) (by rfl) (by rfl) (by simp) (by simp) (by simp))⟩⟩
+ (Triangle.isoMk _ _ (by rfl) (by rfl) (by rfl))⟩⟩
all_goals apply Subsingleton.elim
namespace Octahedron
Also actually corrects the SHA that was incorrectly corrected in #3346; the stupid example was in CategoryTheory.Triangulated.Rotate
and not CategoryTheory.Triangulated.Basic
.
Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Chris Hughes <chrishughes24@gmail.com> Co-authored-by: Jon Eugster <eugster.jon@gmail.com> Co-authored-by: Jason Yuen <jason_yuen2007@hotmail.com> Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> Co-authored-by: qawbecrdtey <qawbecrdtey@kaist.ac.kr> Co-authored-by: Jeremy Tan Jie Rui <e0191785@u.nus.edu> Co-authored-by: Sebastian Zivota <loewenheim@mailbox.org> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Yaël Dillies <yael.dillies@gmail.com> Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>
The unported dependencies are