algebra.homology.quasi_isoMathlib.Algebra.Homology.QuasiIso

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -250,7 +250,8 @@ end ToSingle₀
 end HomologicalComplex.Hom
 
 variable {A : Type _} [Category A] [Abelian A] {B : Type _} [Category B] [Abelian B] (F : A ⥤ B)
-  [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F] [Faithful F]
+  [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F]
+  [CategoryTheory.Functor.Faithful F]
 
 #print CategoryTheory.Functor.quasiIso'_of_map_quasiIso' /-
 theorem CategoryTheory.Functor.quasiIso'_of_map_quasiIso' {C D : HomologicalComplex A c} (f : C ⟶ D)
Diff
@@ -148,7 +148,7 @@ theorem to_single₀_epi_at_zero [hf : QuasiIso' f] : Epi (f.f 0) :=
   constructor
   intro Z g h Hgh
   rw [← cokernel.π_desc (X.d 1 0) (f.f 0) (by rw [← f.2 1 0 rfl] <;> exact comp_zero), ←
-    to_single₀_cokernel_at_zero_iso_hom_eq] at Hgh 
+    to_single₀_cokernel_at_zero_iso_hom_eq] at Hgh
   rw [(@cancel_epi _ _ _ _ _ _ (epi_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zero
 -/
@@ -215,7 +215,7 @@ theorem from_single₀_mono_at_zero [hf : QuasiIso' f] : Mono (f.f 0) :=
   constructor
   intro Z g h Hgh
   rw [← kernel.lift_ι (X.d 0 1) (f.f 0) (by rw [f.2 0 1 rfl] <;> exact zero_comp), ←
-    from_single₀_kernel_at_zero_iso_inv_eq] at Hgh 
+    from_single₀_kernel_at_zero_iso_inv_eq] at Hgh
   rw [(@cancel_mono _ _ _ _ _ _ (mono_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zero
 -/
Diff
@@ -158,7 +158,7 @@ theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso' f] : Exact (X.d 1 0) (f.f
   by
   rw [preadditive.exact_iff_homology_zero]
   have h : X.d 1 0 ≫ f.f 0 = 0 := by
-    simp only [← f.2 1 0 rfl, ChainComplex.single₀_obj_X_d, comp_zero]
+    simp only [← f.2 1 0 rfl, ChainComplex.single₀_obj_x_d, comp_zero]
   refine' ⟨h, Nonempty.intro (homology'IsoKernelDesc _ _ _ ≪≫ _)⟩
   · suffices is_iso (cokernel.desc _ _ h) by haveI := this; apply kernel.of_mono
     rw [← to_single₀_cokernel_at_zero_iso_hom_eq]
@@ -225,7 +225,7 @@ theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso' f] : Exact (f.f 0) (X.d
   by
   rw [preadditive.exact_iff_homology_zero]
   have h : f.f 0 ≫ X.d 0 1 = 0 := by
-    simp only [HomologicalComplex.Hom.comm, CochainComplex.single₀_obj_X_d, zero_comp]
+    simp only [HomologicalComplex.Hom.comm, CochainComplex.single₀_obj_x_d, zero_comp]
   refine' ⟨h, Nonempty.intro (homology'IsoCokernelLift _ _ _ ≪≫ _)⟩
   · suffices is_iso (kernel.lift (X.d 0 1) (f.f 0) h) by haveI := this; apply cokernel.of_epi
     rw [← from_single₀_kernel_at_zero_iso_inv_eq f]
Diff
@@ -36,45 +36,45 @@ variable [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
 
 variable {c : ComplexShape ι} {C D E : HomologicalComplex V c}
 
-#print QuasiIso /-
+#print QuasiIso' /-
 /-- A chain map is a quasi-isomorphism if it induces isomorphisms on homology.
 -/
-class QuasiIso (f : C ⟶ D) : Prop where
-  IsIso : ∀ i, IsIso ((homologyFunctor V c i).map f)
-#align quasi_iso QuasiIso
+class QuasiIso' (f : C ⟶ D) : Prop where
+  IsIso : ∀ i, IsIso ((homology'Functor V c i).map f)
+#align quasi_iso QuasiIso'
 -/
 
-attribute [instance] QuasiIso.isIso
+attribute [instance] QuasiIso'.isIso
 
-#print quasiIso_of_iso /-
-instance (priority := 100) quasiIso_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso f
+#print quasiIso'_of_iso /-
+instance (priority := 100) quasiIso'_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso' f
     where IsIso i :=
     by
-    change is_iso ((homologyFunctor V c i).mapIso (as_iso f)).Hom
+    change is_iso ((homology'Functor V c i).mapIso (as_iso f)).Hom
     infer_instance
-#align quasi_iso_of_iso quasiIso_of_iso
+#align quasi_iso_of_iso quasiIso'_of_iso
 -/
 
-#print quasiIso_comp /-
-instance quasiIso_comp (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso g] : QuasiIso (f ≫ g)
+#print quasiIso'_comp /-
+instance quasiIso'_comp (f : C ⟶ D) [QuasiIso' f] (g : D ⟶ E) [QuasiIso' g] : QuasiIso' (f ≫ g)
     where IsIso i := by
     rw [functor.map_comp]
     infer_instance
-#align quasi_iso_comp quasiIso_comp
+#align quasi_iso_comp quasiIso'_comp
 -/
 
-#print quasiIso_of_comp_left /-
-theorem quasiIso_of_comp_left (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso (f ≫ g)] :
-    QuasiIso g :=
-  { IsIso := fun i => IsIso.of_isIso_fac_left ((homologyFunctor V c i).map_comp f g).symm }
-#align quasi_iso_of_comp_left quasiIso_of_comp_left
+#print quasiIso'_of_comp_left /-
+theorem quasiIso'_of_comp_left (f : C ⟶ D) [QuasiIso' f] (g : D ⟶ E) [QuasiIso' (f ≫ g)] :
+    QuasiIso' g :=
+  { IsIso := fun i => IsIso.of_isIso_fac_left ((homology'Functor V c i).map_comp f g).symm }
+#align quasi_iso_of_comp_left quasiIso'_of_comp_left
 -/
 
-#print quasiIso_of_comp_right /-
-theorem quasiIso_of_comp_right (f : C ⟶ D) (g : D ⟶ E) [QuasiIso g] [QuasiIso (f ≫ g)] :
-    QuasiIso f :=
-  { IsIso := fun i => IsIso.of_isIso_fac_right ((homologyFunctor V c i).map_comp f g).symm }
-#align quasi_iso_of_comp_right quasiIso_of_comp_right
+#print quasiIso'_of_comp_right /-
+theorem quasiIso'_of_comp_right (f : C ⟶ D) (g : D ⟶ E) [QuasiIso' g] [QuasiIso' (f ≫ g)] :
+    QuasiIso' f :=
+  { IsIso := fun i => IsIso.of_isIso_fac_right ((homology'Functor V c i).map_comp f g).symm }
+#align quasi_iso_of_comp_right quasiIso'_of_comp_right
 -/
 
 namespace HomotopyEquiv
@@ -84,25 +84,25 @@ section
 variable {W : Type _} [Category W] [Preadditive W] [HasCokernels W] [HasImages W] [HasEqualizers W]
   [HasZeroObject W] [HasImageMaps W]
 
-#print HomotopyEquiv.toQuasiIso /-
+#print HomotopyEquiv.toQuasiIso' /-
 /-- An homotopy equivalence is a quasi-isomorphism. -/
-theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : QuasiIso e.Hom :=
+theorem toQuasiIso' {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : QuasiIso' e.Hom :=
   ⟨fun i => by
-    refine' ⟨⟨(homologyFunctor W c i).map e.inv, _⟩⟩
-    simp only [← functor.map_comp, ← (homologyFunctor W c i).map_id]
-    constructor <;> apply homology_map_eq_of_homotopy
+    refine' ⟨⟨(homology'Functor W c i).map e.inv, _⟩⟩
+    simp only [← functor.map_comp, ← (homology'Functor W c i).map_id]
+    constructor <;> apply homology'_map_eq_of_homotopy
     exacts [e.homotopy_hom_inv_id, e.homotopy_inv_hom_id]⟩
-#align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso
+#align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso'
 -/
 
-#print HomotopyEquiv.toQuasiIso_inv /-
-theorem toQuasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
-    (@asIso _ _ _ _ _ (e.toQuasiIso.1 i)).inv = (homologyFunctor W c i).map e.inv :=
+#print HomotopyEquiv.toQuasiIso'_inv /-
+theorem toQuasiIso'_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
+    (@asIso _ _ _ _ _ (e.toQuasiIso'.1 i)).inv = (homology'Functor W c i).map e.inv :=
   by
   symm
-  simp only [← iso.hom_comp_eq_id, as_iso_hom, ← functor.map_comp, ← (homologyFunctor W c i).map_id,
-    homology_map_eq_of_homotopy e.homotopy_hom_inv_id _]
-#align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.toQuasiIso_inv
+  simp only [← iso.hom_comp_eq_id, as_iso_hom, ← functor.map_comp, ←
+    (homology'Functor W c i).map_id, homology'_map_eq_of_homotopy e.homotopy_hom_inv_id _]
+#align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.toQuasiIso'_inv
 -/
 
 end
@@ -117,33 +117,33 @@ variable {W : Type _} [Category W] [Abelian W]
 
 section
 
-variable {X : ChainComplex W ℕ} {Y : W} (f : X ⟶ (ChainComplex.single₀ _).obj Y) [hf : QuasiIso f]
+variable {X : ChainComplex W ℕ} {Y : W} (f : X ⟶ (ChainComplex.single₀ _).obj Y) [hf : QuasiIso' f]
 
 #print HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso /-
 /-- If a chain map `f : X ⟶ Y[0]` is a quasi-isomorphism, then the cokernel of the differential
 `d : X₁ → X₀` is isomorphic to `Y.` -/
 noncomputable def toSingle₀CokernelAtZeroIso : cokernel (X.d 1 0) ≅ Y :=
-  X.homologyZeroIso.symm.trans
-    ((@asIso _ _ _ _ _ (hf.1 0)).trans ((ChainComplex.homologyFunctor0Single₀ W).app Y))
+  X.homology'ZeroIso.symm.trans
+    ((@asIso _ _ _ _ _ (hf.1 0)).trans ((ChainComplex.homology'Functor0Single₀ W).app Y))
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso
 -/
 
 #print HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eq /-
-theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso f] :
+theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso' f] :
     f.toSingle₀CokernelAtZeroIso.Hom =
       cokernel.desc (X.d 1 0) (f.f 0) (by rw [← f.2 1 0 rfl] <;> exact comp_zero) :=
   by
   ext
-  dsimp only [to_single₀_cokernel_at_zero_iso, ChainComplex.homologyZeroIso, homologyOfZeroRight,
-    homology.mapIso, ChainComplex.homologyFunctor0Single₀, cokernel.map]
+  dsimp only [to_single₀_cokernel_at_zero_iso, ChainComplex.homology'ZeroIso, homology'OfZeroRight,
+    homology'.mapIso, ChainComplex.homology'Functor0Single₀, cokernel.map]
   dsimp
-  simp only [cokernel.π_desc, category.assoc, homology.map_desc, cokernel.π_desc_assoc]
-  simp [homology.desc, iso.refl_inv (X.X 0)]
+  simp only [cokernel.π_desc, category.assoc, homology'.map_desc, cokernel.π_desc_assoc]
+  simp [homology'.desc, iso.refl_inv (X.X 0)]
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eq
 -/
 
 #print HomologicalComplex.Hom.to_single₀_epi_at_zero /-
-theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
+theorem to_single₀_epi_at_zero [hf : QuasiIso' f] : Epi (f.f 0) :=
   by
   constructor
   intro Z g h Hgh
@@ -154,12 +154,12 @@ theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
 -/
 
 #print HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero /-
-theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f 0) :=
+theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso' f] : Exact (X.d 1 0) (f.f 0) :=
   by
   rw [preadditive.exact_iff_homology_zero]
   have h : X.d 1 0 ≫ f.f 0 = 0 := by
     simp only [← f.2 1 0 rfl, ChainComplex.single₀_obj_X_d, comp_zero]
-  refine' ⟨h, Nonempty.intro (homologyIsoKernelDesc _ _ _ ≪≫ _)⟩
+  refine' ⟨h, Nonempty.intro (homology'IsoKernelDesc _ _ _ ≪≫ _)⟩
   · suffices is_iso (cokernel.desc _ _ h) by haveI := this; apply kernel.of_mono
     rw [← to_single₀_cokernel_at_zero_iso_hom_eq]
     infer_instance
@@ -167,12 +167,12 @@ theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f
 -/
 
 #print HomologicalComplex.Hom.to_single₀_exact_at_succ /-
-theorem to_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
+theorem to_single₀_exact_at_succ [hf : QuasiIso' f] (n : ℕ) :
     Exact (X.d (n + 2) (n + 1)) (X.d (n + 1) n) :=
-  (Preadditive.exact_iff_homology_zero _ _).2
+  (Preadditive.exact_iff_homology'_zero _ _).2
     ⟨X.d_comp_d _ _ _,
-      ⟨(ChainComplex.homologySuccIso _ _).symm.trans
-          ((@asIso _ _ _ _ _ (hf.1 (n + 1))).trans homologyZeroZero)⟩⟩
+      ⟨(ChainComplex.homology'SuccIso _ _).symm.trans
+          ((@asIso _ _ _ _ _ (hf.1 (n + 1))).trans homology'ZeroZero)⟩⟩
 #align homological_complex.hom.to_single₀_exact_at_succ HomologicalComplex.Hom.to_single₀_exact_at_succ
 -/
 
@@ -185,32 +185,32 @@ variable {X : CochainComplex W ℕ} {Y : W} (f : (CochainComplex.single₀ _).ob
 #print HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso /-
 /-- If a cochain map `f : Y[0] ⟶ X` is a quasi-isomorphism, then the kernel of the differential
 `d : X₀ → X₁` is isomorphic to `Y.` -/
-noncomputable def fromSingle₀KernelAtZeroIso [hf : QuasiIso f] : kernel (X.d 0 1) ≅ Y :=
-  X.homologyZeroIso.symm.trans
+noncomputable def fromSingle₀KernelAtZeroIso [hf : QuasiIso' f] : kernel (X.d 0 1) ≅ Y :=
+  X.homology'ZeroIso.symm.trans
     ((@asIso _ _ _ _ _ (hf.1 0)).symm.trans ((CochainComplex.homologyFunctor0Single₀ W).app Y))
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso
 -/
 
 #print HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eq /-
-theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso f] :
+theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso' f] :
     f.fromSingle₀KernelAtZeroIso.inv =
       kernel.lift (X.d 0 1) (f.f 0) (by rw [f.2 0 1 rfl] <;> exact zero_comp) :=
   by
   ext
-  dsimp only [from_single₀_kernel_at_zero_iso, CochainComplex.homologyZeroIso, homologyOfZeroLeft,
-    homology.mapIso, CochainComplex.homologyFunctor0Single₀, kernel.map]
+  dsimp only [from_single₀_kernel_at_zero_iso, CochainComplex.homology'ZeroIso, homology'OfZeroLeft,
+    homology'.mapIso, CochainComplex.homologyFunctor0Single₀, kernel.map]
   simp only [iso.trans_inv, iso.app_inv, iso.symm_inv, category.assoc, equalizer_as_kernel,
     kernel.lift_ι]
   dsimp
-  simp only [category.assoc, homology.π_map, cokernel_zero_iso_target_hom,
-    cokernel_iso_of_eq_hom_comp_desc, kernel_subobject_arrow, homology.π_map_assoc,
+  simp only [category.assoc, homology'.π_map, cokernel_zero_iso_target_hom,
+    cokernel_iso_of_eq_hom_comp_desc, kernel_subobject_arrow, homology'.π_map_assoc,
     is_iso.inv_comp_eq]
-  simp [homology.π, kernel_subobject_map_comp, iso.refl_hom (X.X 0), category.comp_id]
+  simp [homology'.π, kernel_subobject_map_comp, iso.refl_hom (X.X 0), category.comp_id]
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eq
 -/
 
 #print HomologicalComplex.Hom.from_single₀_mono_at_zero /-
-theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
+theorem from_single₀_mono_at_zero [hf : QuasiIso' f] : Mono (f.f 0) :=
   by
   constructor
   intro Z g h Hgh
@@ -221,12 +221,12 @@ theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
 -/
 
 #print HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero /-
-theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d 0 1) :=
+theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso' f] : Exact (f.f 0) (X.d 0 1) :=
   by
   rw [preadditive.exact_iff_homology_zero]
   have h : f.f 0 ≫ X.d 0 1 = 0 := by
     simp only [HomologicalComplex.Hom.comm, CochainComplex.single₀_obj_X_d, zero_comp]
-  refine' ⟨h, Nonempty.intro (homologyIsoCokernelLift _ _ _ ≪≫ _)⟩
+  refine' ⟨h, Nonempty.intro (homology'IsoCokernelLift _ _ _ ≪≫ _)⟩
   · suffices is_iso (kernel.lift (X.d 0 1) (f.f 0) h) by haveI := this; apply cokernel.of_epi
     rw [← from_single₀_kernel_at_zero_iso_inv_eq f]
     infer_instance
@@ -234,12 +234,12 @@ theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d
 -/
 
 #print HomologicalComplex.Hom.from_single₀_exact_at_succ /-
-theorem from_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
+theorem from_single₀_exact_at_succ [hf : QuasiIso' f] (n : ℕ) :
     Exact (X.d n (n + 1)) (X.d (n + 1) (n + 2)) :=
-  (Preadditive.exact_iff_homology_zero _ _).2
+  (Preadditive.exact_iff_homology'_zero _ _).2
     ⟨X.d_comp_d _ _ _,
-      ⟨(CochainComplex.homologySuccIso _ _).symm.trans
-          ((@asIso _ _ _ _ _ (hf.1 (n + 1))).symm.trans homologyZeroZero)⟩⟩
+      ⟨(CochainComplex.homology'SuccIso _ _).symm.trans
+          ((@asIso _ _ _ _ _ (hf.1 (n + 1))).symm.trans homology'ZeroZero)⟩⟩
 #align homological_complex.hom.from_single₀_exact_at_succ HomologicalComplex.Hom.from_single₀_exact_at_succ
 -/
 
@@ -252,15 +252,15 @@ end HomologicalComplex.Hom
 variable {A : Type _} [Category A] [Abelian A] {B : Type _} [Category B] [Abelian B] (F : A ⥤ B)
   [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F] [Faithful F]
 
-#print CategoryTheory.Functor.quasiIso_of_map_quasiIso /-
-theorem CategoryTheory.Functor.quasiIso_of_map_quasiIso {C D : HomologicalComplex A c} (f : C ⟶ D)
-    (hf : QuasiIso ((F.mapHomologicalComplex _).map f)) : QuasiIso f :=
+#print CategoryTheory.Functor.quasiIso'_of_map_quasiIso' /-
+theorem CategoryTheory.Functor.quasiIso'_of_map_quasiIso' {C D : HomologicalComplex A c} (f : C ⟶ D)
+    (hf : QuasiIso' ((F.mapHomologicalComplex _).map f)) : QuasiIso' f :=
   ⟨fun i =>
-    haveI : is_iso (F.map ((homologyFunctor A c i).map f)) :=
+    haveI : is_iso (F.map ((homology'Functor A c i).map f)) :=
       by
       rw [← functor.comp_map, ← nat_iso.naturality_2 (F.homology_functor_iso i) f, functor.comp_map]
       infer_instance
     is_iso_of_reflects_iso _ F⟩
-#align category_theory.functor.quasi_iso_of_map_quasi_iso CategoryTheory.Functor.quasiIso_of_map_quasiIso
+#align category_theory.functor.quasi_iso_of_map_quasi_iso CategoryTheory.Functor.quasiIso'_of_map_quasiIso'
 -/
 
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2021 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Joël Riou
 -/
-import Mathbin.Algebra.Homology.Homotopy
-import Mathbin.CategoryTheory.Abelian.Homology
+import Algebra.Homology.Homotopy
+import CategoryTheory.Abelian.Homology
 
 #align_import algebra.homology.quasi_iso from "leanprover-community/mathlib"@"50251fd6309cca5ca2e747882ffecd2729f38c5d"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2021 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Joël Riou
-
-! This file was ported from Lean 3 source module algebra.homology.quasi_iso
-! leanprover-community/mathlib commit 50251fd6309cca5ca2e747882ffecd2729f38c5d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Homology.Homotopy
 import Mathbin.CategoryTheory.Abelian.Homology
 
+#align_import algebra.homology.quasi_iso from "leanprover-community/mathlib"@"50251fd6309cca5ca2e747882ffecd2729f38c5d"
+
 /-!
 # Quasi-isomorphisms
 
Diff
@@ -39,36 +39,46 @@ variable [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
 
 variable {c : ComplexShape ι} {C D E : HomologicalComplex V c}
 
+#print QuasiIso /-
 /-- A chain map is a quasi-isomorphism if it induces isomorphisms on homology.
 -/
 class QuasiIso (f : C ⟶ D) : Prop where
   IsIso : ∀ i, IsIso ((homologyFunctor V c i).map f)
 #align quasi_iso QuasiIso
+-/
 
 attribute [instance] QuasiIso.isIso
 
+#print quasiIso_of_iso /-
 instance (priority := 100) quasiIso_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso f
     where IsIso i :=
     by
     change is_iso ((homologyFunctor V c i).mapIso (as_iso f)).Hom
     infer_instance
 #align quasi_iso_of_iso quasiIso_of_iso
+-/
 
+#print quasiIso_comp /-
 instance quasiIso_comp (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso g] : QuasiIso (f ≫ g)
     where IsIso i := by
     rw [functor.map_comp]
     infer_instance
 #align quasi_iso_comp quasiIso_comp
+-/
 
+#print quasiIso_of_comp_left /-
 theorem quasiIso_of_comp_left (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso (f ≫ g)] :
     QuasiIso g :=
   { IsIso := fun i => IsIso.of_isIso_fac_left ((homologyFunctor V c i).map_comp f g).symm }
 #align quasi_iso_of_comp_left quasiIso_of_comp_left
+-/
 
+#print quasiIso_of_comp_right /-
 theorem quasiIso_of_comp_right (f : C ⟶ D) (g : D ⟶ E) [QuasiIso g] [QuasiIso (f ≫ g)] :
     QuasiIso f :=
   { IsIso := fun i => IsIso.of_isIso_fac_right ((homologyFunctor V c i).map_comp f g).symm }
 #align quasi_iso_of_comp_right quasiIso_of_comp_right
+-/
 
 namespace HomotopyEquiv
 
@@ -77,6 +87,7 @@ section
 variable {W : Type _} [Category W] [Preadditive W] [HasCokernels W] [HasImages W] [HasEqualizers W]
   [HasZeroObject W] [HasImageMaps W]
 
+#print HomotopyEquiv.toQuasiIso /-
 /-- An homotopy equivalence is a quasi-isomorphism. -/
 theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : QuasiIso e.Hom :=
   ⟨fun i => by
@@ -85,7 +96,9 @@ theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : Quas
     constructor <;> apply homology_map_eq_of_homotopy
     exacts [e.homotopy_hom_inv_id, e.homotopy_inv_hom_id]⟩
 #align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso
+-/
 
+#print HomotopyEquiv.toQuasiIso_inv /-
 theorem toQuasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
     (@asIso _ _ _ _ _ (e.toQuasiIso.1 i)).inv = (homologyFunctor W c i).map e.inv :=
   by
@@ -93,6 +106,7 @@ theorem toQuasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i
   simp only [← iso.hom_comp_eq_id, as_iso_hom, ← functor.map_comp, ← (homologyFunctor W c i).map_id,
     homology_map_eq_of_homotopy e.homotopy_hom_inv_id _]
 #align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.toQuasiIso_inv
+-/
 
 end
 
@@ -108,13 +122,16 @@ section
 
 variable {X : ChainComplex W ℕ} {Y : W} (f : X ⟶ (ChainComplex.single₀ _).obj Y) [hf : QuasiIso f]
 
+#print HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso /-
 /-- If a chain map `f : X ⟶ Y[0]` is a quasi-isomorphism, then the cokernel of the differential
 `d : X₁ → X₀` is isomorphic to `Y.` -/
 noncomputable def toSingle₀CokernelAtZeroIso : cokernel (X.d 1 0) ≅ Y :=
   X.homologyZeroIso.symm.trans
     ((@asIso _ _ _ _ _ (hf.1 0)).trans ((ChainComplex.homologyFunctor0Single₀ W).app Y))
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso
+-/
 
+#print HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eq /-
 theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso f] :
     f.toSingle₀CokernelAtZeroIso.Hom =
       cokernel.desc (X.d 1 0) (f.f 0) (by rw [← f.2 1 0 rfl] <;> exact comp_zero) :=
@@ -126,7 +143,9 @@ theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso f] :
   simp only [cokernel.π_desc, category.assoc, homology.map_desc, cokernel.π_desc_assoc]
   simp [homology.desc, iso.refl_inv (X.X 0)]
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eq
+-/
 
+#print HomologicalComplex.Hom.to_single₀_epi_at_zero /-
 theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
   by
   constructor
@@ -135,7 +154,9 @@ theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
     to_single₀_cokernel_at_zero_iso_hom_eq] at Hgh 
   rw [(@cancel_epi _ _ _ _ _ _ (epi_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zero
+-/
 
+#print HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero /-
 theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f 0) :=
   by
   rw [preadditive.exact_iff_homology_zero]
@@ -146,7 +167,9 @@ theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f
     rw [← to_single₀_cokernel_at_zero_iso_hom_eq]
     infer_instance
 #align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero
+-/
 
+#print HomologicalComplex.Hom.to_single₀_exact_at_succ /-
 theorem to_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d (n + 2) (n + 1)) (X.d (n + 1) n) :=
   (Preadditive.exact_iff_homology_zero _ _).2
@@ -154,6 +177,7 @@ theorem to_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
       ⟨(ChainComplex.homologySuccIso _ _).symm.trans
           ((@asIso _ _ _ _ _ (hf.1 (n + 1))).trans homologyZeroZero)⟩⟩
 #align homological_complex.hom.to_single₀_exact_at_succ HomologicalComplex.Hom.to_single₀_exact_at_succ
+-/
 
 end
 
@@ -161,13 +185,16 @@ section
 
 variable {X : CochainComplex W ℕ} {Y : W} (f : (CochainComplex.single₀ _).obj Y ⟶ X)
 
+#print HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso /-
 /-- If a cochain map `f : Y[0] ⟶ X` is a quasi-isomorphism, then the kernel of the differential
 `d : X₀ → X₁` is isomorphic to `Y.` -/
 noncomputable def fromSingle₀KernelAtZeroIso [hf : QuasiIso f] : kernel (X.d 0 1) ≅ Y :=
   X.homologyZeroIso.symm.trans
     ((@asIso _ _ _ _ _ (hf.1 0)).symm.trans ((CochainComplex.homologyFunctor0Single₀ W).app Y))
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso
+-/
 
+#print HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eq /-
 theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso f] :
     f.fromSingle₀KernelAtZeroIso.inv =
       kernel.lift (X.d 0 1) (f.f 0) (by rw [f.2 0 1 rfl] <;> exact zero_comp) :=
@@ -183,7 +210,9 @@ theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso f] :
     is_iso.inv_comp_eq]
   simp [homology.π, kernel_subobject_map_comp, iso.refl_hom (X.X 0), category.comp_id]
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eq
+-/
 
+#print HomologicalComplex.Hom.from_single₀_mono_at_zero /-
 theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
   by
   constructor
@@ -192,7 +221,9 @@ theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
     from_single₀_kernel_at_zero_iso_inv_eq] at Hgh 
   rw [(@cancel_mono _ _ _ _ _ _ (mono_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zero
+-/
 
+#print HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero /-
 theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d 0 1) :=
   by
   rw [preadditive.exact_iff_homology_zero]
@@ -203,7 +234,9 @@ theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d
     rw [← from_single₀_kernel_at_zero_iso_inv_eq f]
     infer_instance
 #align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero
+-/
 
+#print HomologicalComplex.Hom.from_single₀_exact_at_succ /-
 theorem from_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d n (n + 1)) (X.d (n + 1) (n + 2)) :=
   (Preadditive.exact_iff_homology_zero _ _).2
@@ -211,6 +244,7 @@ theorem from_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
       ⟨(CochainComplex.homologySuccIso _ _).symm.trans
           ((@asIso _ _ _ _ _ (hf.1 (n + 1))).symm.trans homologyZeroZero)⟩⟩
 #align homological_complex.hom.from_single₀_exact_at_succ HomologicalComplex.Hom.from_single₀_exact_at_succ
+-/
 
 end
 
@@ -221,6 +255,7 @@ end HomologicalComplex.Hom
 variable {A : Type _} [Category A] [Abelian A] {B : Type _} [Category B] [Abelian B] (F : A ⥤ B)
   [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F] [Faithful F]
 
+#print CategoryTheory.Functor.quasiIso_of_map_quasiIso /-
 theorem CategoryTheory.Functor.quasiIso_of_map_quasiIso {C D : HomologicalComplex A c} (f : C ⟶ D)
     (hf : QuasiIso ((F.mapHomologicalComplex _).map f)) : QuasiIso f :=
   ⟨fun i =>
@@ -230,4 +265,5 @@ theorem CategoryTheory.Functor.quasiIso_of_map_quasiIso {C D : HomologicalComple
       infer_instance
     is_iso_of_reflects_iso _ F⟩
 #align category_theory.functor.quasi_iso_of_map_quasi_iso CategoryTheory.Functor.quasiIso_of_map_quasiIso
+-/
 
Diff
@@ -83,7 +83,7 @@ theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : Quas
     refine' ⟨⟨(homologyFunctor W c i).map e.inv, _⟩⟩
     simp only [← functor.map_comp, ← (homologyFunctor W c i).map_id]
     constructor <;> apply homology_map_eq_of_homotopy
-    exacts[e.homotopy_hom_inv_id, e.homotopy_inv_hom_id]⟩
+    exacts [e.homotopy_hom_inv_id, e.homotopy_inv_hom_id]⟩
 #align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso
 
 theorem toQuasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
@@ -132,7 +132,7 @@ theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
   constructor
   intro Z g h Hgh
   rw [← cokernel.π_desc (X.d 1 0) (f.f 0) (by rw [← f.2 1 0 rfl] <;> exact comp_zero), ←
-    to_single₀_cokernel_at_zero_iso_hom_eq] at Hgh
+    to_single₀_cokernel_at_zero_iso_hom_eq] at Hgh 
   rw [(@cancel_epi _ _ _ _ _ _ (epi_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zero
 
@@ -189,7 +189,7 @@ theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
   constructor
   intro Z g h Hgh
   rw [← kernel.lift_ι (X.d 0 1) (f.f 0) (by rw [f.2 0 1 rfl] <;> exact zero_comp), ←
-    from_single₀_kernel_at_zero_iso_inv_eq] at Hgh
+    from_single₀_kernel_at_zero_iso_inv_eq] at Hgh 
   rw [(@cancel_mono _ _ _ _ _ _ (mono_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zero
 
Diff
@@ -39,12 +39,6 @@ variable [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
 
 variable {c : ComplexShape ι} {C D E : HomologicalComplex V c}
 
-/- warning: quasi_iso -> QuasiIso is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_6 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_5] [_inst_7 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c}, (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) C D) -> Prop
-but is expected to have type
-  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {_inst_7 : ComplexShape.{u3} ι} {c : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7}, (Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7))) c C) -> Prop
-Case conversion may be inaccurate. Consider using '#align quasi_iso QuasiIsoₓ'. -/
 /-- A chain map is a quasi-isomorphism if it induces isomorphisms on homology.
 -/
 class QuasiIso (f : C ⟶ D) : Prop where
@@ -53,12 +47,6 @@ class QuasiIso (f : C ⟶ D) : Prop where
 
 attribute [instance] QuasiIso.isIso
 
-/- warning: quasi_iso_of_iso -> quasiIso_of_iso is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_6 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_5] [_inst_7 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) C D) [_inst_8 : CategoryTheory.IsIso.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D f], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C D f
-but is expected to have type
-  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {_inst_7 : ComplexShape.{u3} ι} {c : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} (D : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7))) c C) [f : CategoryTheory.IsIso.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) c C D], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C D
-Case conversion may be inaccurate. Consider using '#align quasi_iso_of_iso quasiIso_of_isoₓ'. -/
 instance (priority := 100) quasiIso_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso f
     where IsIso i :=
     by
@@ -66,26 +54,17 @@ instance (priority := 100) quasiIso_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso f
     infer_instance
 #align quasi_iso_of_iso quasiIso_of_iso
 
-/- warning: quasi_iso_comp -> quasiIso_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align quasi_iso_comp quasiIso_compₓ'. -/
 instance quasiIso_comp (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso g] : QuasiIso (f ≫ g)
     where IsIso i := by
     rw [functor.map_comp]
     infer_instance
 #align quasi_iso_comp quasiIso_comp
 
-/- warning: quasi_iso_of_comp_left -> quasiIso_of_comp_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align quasi_iso_of_comp_left quasiIso_of_comp_leftₓ'. -/
 theorem quasiIso_of_comp_left (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso (f ≫ g)] :
     QuasiIso g :=
   { IsIso := fun i => IsIso.of_isIso_fac_left ((homologyFunctor V c i).map_comp f g).symm }
 #align quasi_iso_of_comp_left quasiIso_of_comp_left
 
-/- warning: quasi_iso_of_comp_right -> quasiIso_of_comp_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align quasi_iso_of_comp_right quasiIso_of_comp_rightₓ'. -/
 theorem quasiIso_of_comp_right (f : C ⟶ D) (g : D ⟶ E) [QuasiIso g] [QuasiIso (f ≫ g)] :
     QuasiIso f :=
   { IsIso := fun i => IsIso.of_isIso_fac_right ((homologyFunctor V c i).map_comp f g).symm }
@@ -98,12 +77,6 @@ section
 variable {W : Type _} [Category W] [Preadditive W] [HasCokernels W] [HasImages W] [HasEqualizers W]
   [HasZeroObject W] [HasImageMaps W]
 
-/- warning: homotopy_equiv.to_quasi_iso -> HomotopyEquiv.toQuasiIso is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {c : ComplexShape.{u1} ι} {W : Type.{u2}} [_inst_8 : CategoryTheory.Category.{u3, u2} W] [_inst_9 : CategoryTheory.Preadditive.{u3, u2} W _inst_8] [_inst_10 : CategoryTheory.Limits.HasCokernels.{u3, u2} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9)] [_inst_11 : CategoryTheory.Limits.HasImages.{u3, u2} W _inst_8] [_inst_12 : CategoryTheory.Limits.HasEqualizers.{u3, u2} W _inst_8] [_inst_13 : CategoryTheory.Limits.HasZeroObject.{u3, u2} W _inst_8] [_inst_14 : CategoryTheory.Limits.HasImageMaps.{u3, u2} W _inst_8 _inst_11] {C : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} {D : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} (e : HomotopyEquiv.{u3, u2, u1} ι W _inst_8 _inst_9 c C D), QuasiIso.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) _inst_13 _inst_12 _inst_11 _inst_14 _inst_10 c C D (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c C D e)
-but is expected to have type
-  forall {ι : Type.{u1}} {c : ComplexShape.{u1} ι} {W : Type.{u2}} [_inst_8 : CategoryTheory.Category.{u3, u2} W] [_inst_9 : CategoryTheory.Preadditive.{u3, u2} W _inst_8] [_inst_10 : CategoryTheory.Limits.HasCokernels.{u3, u2} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9)] [_inst_11 : CategoryTheory.Limits.HasImages.{u3, u2} W _inst_8] [_inst_12 : CategoryTheory.Limits.HasEqualizers.{u3, u2} W _inst_8] [_inst_13 : CategoryTheory.Limits.HasImageMaps.{u3, u2} W _inst_8 _inst_11] {_inst_14 : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} {C : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} (D : HomotopyEquiv.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C), QuasiIso.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) _inst_12 _inst_11 _inst_13 _inst_10 c _inst_14 C (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C D)
-Case conversion may be inaccurate. Consider using '#align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIsoₓ'. -/
 /-- An homotopy equivalence is a quasi-isomorphism. -/
 theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : QuasiIso e.Hom :=
   ⟨fun i => by
@@ -113,9 +86,6 @@ theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : Quas
     exacts[e.homotopy_hom_inv_id, e.homotopy_inv_hom_id]⟩
 #align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso
 
-/- warning: homotopy_equiv.to_quasi_iso_inv -> HomotopyEquiv.toQuasiIso_inv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.toQuasiIso_invₓ'. -/
 theorem toQuasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
     (@asIso _ _ _ _ _ (e.toQuasiIso.1 i)).inv = (homologyFunctor W c i).map e.inv :=
   by
@@ -138,9 +108,6 @@ section
 
 variable {X : ChainComplex W ℕ} {Y : W} (f : X ⟶ (ChainComplex.single₀ _).obj Y) [hf : QuasiIso f]
 
-/- warning: homological_complex.hom.to_single₀_cokernel_at_zero_iso -> HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_cokernel_at_zero_iso HomologicalComplex.Hom.toSingle₀CokernelAtZeroIsoₓ'. -/
 /-- If a chain map `f : X ⟶ Y[0]` is a quasi-isomorphism, then the cokernel of the differential
 `d : X₁ → X₀` is isomorphic to `Y.` -/
 noncomputable def toSingle₀CokernelAtZeroIso : cokernel (X.d 1 0) ≅ Y :=
@@ -148,9 +115,6 @@ noncomputable def toSingle₀CokernelAtZeroIso : cokernel (X.d 1 0) ≅ Y :=
     ((@asIso _ _ _ _ _ (hf.1 0)).trans ((ChainComplex.homologyFunctor0Single₀ W).app Y))
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso
 
-/- warning: homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq -> HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eqₓ'. -/
 theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso f] :
     f.toSingle₀CokernelAtZeroIso.Hom =
       cokernel.desc (X.d 1 0) (f.f 0) (by rw [← f.2 1 0 rfl] <;> exact comp_zero) :=
@@ -163,9 +127,6 @@ theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso f] :
   simp [homology.desc, iso.refl_inv (X.X 0)]
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eq
 
-/- warning: homological_complex.hom.to_single₀_epi_at_zero -> HomologicalComplex.Hom.to_single₀_epi_at_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zeroₓ'. -/
 theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
   by
   constructor
@@ -175,9 +136,6 @@ theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
   rw [(@cancel_epi _ _ _ _ _ _ (epi_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zero
 
-/- warning: homological_complex.hom.to_single₀_exact_d_f_at_zero -> HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.to_single₀_exact_d_f_at_zeroₓ'. -/
 theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f 0) :=
   by
   rw [preadditive.exact_iff_homology_zero]
@@ -189,9 +147,6 @@ theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f
     infer_instance
 #align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero
 
-/- warning: homological_complex.hom.to_single₀_exact_at_succ -> HomologicalComplex.Hom.to_single₀_exact_at_succ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_exact_at_succ HomologicalComplex.Hom.to_single₀_exact_at_succₓ'. -/
 theorem to_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d (n + 2) (n + 1)) (X.d (n + 1) n) :=
   (Preadditive.exact_iff_homology_zero _ _).2
@@ -206,9 +161,6 @@ section
 
 variable {X : CochainComplex W ℕ} {Y : W} (f : (CochainComplex.single₀ _).obj Y ⟶ X)
 
-/- warning: homological_complex.hom.from_single₀_kernel_at_zero_iso -> HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_kernel_at_zero_iso HomologicalComplex.Hom.fromSingle₀KernelAtZeroIsoₓ'. -/
 /-- If a cochain map `f : Y[0] ⟶ X` is a quasi-isomorphism, then the kernel of the differential
 `d : X₀ → X₁` is isomorphic to `Y.` -/
 noncomputable def fromSingle₀KernelAtZeroIso [hf : QuasiIso f] : kernel (X.d 0 1) ≅ Y :=
@@ -216,9 +168,6 @@ noncomputable def fromSingle₀KernelAtZeroIso [hf : QuasiIso f] : kernel (X.d 0
     ((@asIso _ _ _ _ _ (hf.1 0)).symm.trans ((CochainComplex.homologyFunctor0Single₀ W).app Y))
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso
 
-/- warning: homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq -> HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eqₓ'. -/
 theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso f] :
     f.fromSingle₀KernelAtZeroIso.inv =
       kernel.lift (X.d 0 1) (f.f 0) (by rw [f.2 0 1 rfl] <;> exact zero_comp) :=
@@ -235,9 +184,6 @@ theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso f] :
   simp [homology.π, kernel_subobject_map_comp, iso.refl_hom (X.X 0), category.comp_id]
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eq
 
-/- warning: homological_complex.hom.from_single₀_mono_at_zero -> HomologicalComplex.Hom.from_single₀_mono_at_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zeroₓ'. -/
 theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
   by
   constructor
@@ -247,9 +193,6 @@ theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
   rw [(@cancel_mono _ _ _ _ _ _ (mono_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zero
 
-/- warning: homological_complex.hom.from_single₀_exact_f_d_at_zero -> HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.from_single₀_exact_f_d_at_zeroₓ'. -/
 theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d 0 1) :=
   by
   rw [preadditive.exact_iff_homology_zero]
@@ -261,9 +204,6 @@ theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d
     infer_instance
 #align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero
 
-/- warning: homological_complex.hom.from_single₀_exact_at_succ -> HomologicalComplex.Hom.from_single₀_exact_at_succ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_exact_at_succ HomologicalComplex.Hom.from_single₀_exact_at_succₓ'. -/
 theorem from_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d n (n + 1)) (X.d (n + 1) (n + 2)) :=
   (Preadditive.exact_iff_homology_zero _ _).2
@@ -281,9 +221,6 @@ end HomologicalComplex.Hom
 variable {A : Type _} [Category A] [Abelian A] {B : Type _} [Category B] [Abelian B] (F : A ⥤ B)
   [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F] [Faithful F]
 
-/- warning: category_theory.functor.quasi_iso_of_map_quasi_iso -> CategoryTheory.Functor.quasiIso_of_map_quasiIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.quasi_iso_of_map_quasi_iso CategoryTheory.Functor.quasiIso_of_map_quasiIsoₓ'. -/
 theorem CategoryTheory.Functor.quasiIso_of_map_quasiIso {C D : HomologicalComplex A c} (f : C ⟶ D)
     (hf : QuasiIso ((F.mapHomologicalComplex _).map f)) : QuasiIso f :=
   ⟨fun i =>
Diff
@@ -184,9 +184,7 @@ theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f
   have h : X.d 1 0 ≫ f.f 0 = 0 := by
     simp only [← f.2 1 0 rfl, ChainComplex.single₀_obj_X_d, comp_zero]
   refine' ⟨h, Nonempty.intro (homologyIsoKernelDesc _ _ _ ≪≫ _)⟩
-  · suffices is_iso (cokernel.desc _ _ h) by
-      haveI := this
-      apply kernel.of_mono
+  · suffices is_iso (cokernel.desc _ _ h) by haveI := this; apply kernel.of_mono
     rw [← to_single₀_cokernel_at_zero_iso_hom_eq]
     infer_instance
 #align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero
@@ -258,10 +256,7 @@ theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d
   have h : f.f 0 ≫ X.d 0 1 = 0 := by
     simp only [HomologicalComplex.Hom.comm, CochainComplex.single₀_obj_X_d, zero_comp]
   refine' ⟨h, Nonempty.intro (homologyIsoCokernelLift _ _ _ ≪≫ _)⟩
-  · suffices is_iso (kernel.lift (X.d 0 1) (f.f 0) h)
-      by
-      haveI := this
-      apply cokernel.of_epi
+  · suffices is_iso (kernel.lift (X.d 0 1) (f.f 0) h) by haveI := this; apply cokernel.of_epi
     rw [← from_single₀_kernel_at_zero_iso_inv_eq f]
     infer_instance
 #align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero
Diff
@@ -67,10 +67,7 @@ instance (priority := 100) quasiIso_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso f
 #align quasi_iso_of_iso quasiIso_of_iso
 
 /- warning: quasi_iso_comp -> quasiIso_comp is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_6 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_5] [_inst_7 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {E : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) C D) [_inst_8 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C D f] (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) D E) [_inst_9 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D E g], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E (CategoryTheory.CategoryStruct.comp.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D E f g)
-but is expected to have type
-  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {_inst_7 : ComplexShape.{u3} ι} {c : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} (E : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7))) c C) [f : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E] (_inst_8 : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7))) C D) [g : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 C D _inst_8], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D (CategoryTheory.CategoryStruct.comp.{max u3 u1, max (max u3 u2) u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u3 u2) u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7)) c C D E _inst_8)
+<too large>
 Case conversion may be inaccurate. Consider using '#align quasi_iso_comp quasiIso_compₓ'. -/
 instance quasiIso_comp (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso g] : QuasiIso (f ≫ g)
     where IsIso i := by
@@ -79,10 +76,7 @@ instance quasiIso_comp (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso g] : Q
 #align quasi_iso_comp quasiIso_comp
 
 /- warning: quasi_iso_of_comp_left -> quasiIso_of_comp_left is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_6 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_5] [_inst_7 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {E : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) C D) [_inst_8 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C D f] (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) D E) [_inst_9 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E (CategoryTheory.CategoryStruct.comp.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D E f g)], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D E g
-but is expected to have type
-  forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u2, u3} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u2, u3} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u2, u3} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u2, u3} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u2, u3} V _inst_1 _inst_2] {_inst_7 : ComplexShape.{u1} ι} {c : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} {C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} {D : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} (E : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7))) c C) [f : QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E] (_inst_8 : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7))) C D) [g : QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D (CategoryTheory.CategoryStruct.comp.{max u1 u2, max (max u1 u3) u2} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7)) c C D E _inst_8)], QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 C D _inst_8
+<too large>
 Case conversion may be inaccurate. Consider using '#align quasi_iso_of_comp_left quasiIso_of_comp_leftₓ'. -/
 theorem quasiIso_of_comp_left (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso (f ≫ g)] :
     QuasiIso g :=
@@ -90,10 +84,7 @@ theorem quasiIso_of_comp_left (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso
 #align quasi_iso_of_comp_left quasiIso_of_comp_left
 
 /- warning: quasi_iso_of_comp_right -> quasiIso_of_comp_right is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_6 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_5] [_inst_7 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {E : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) C D) (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) D E) [_inst_8 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D E g] [_inst_9 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E (CategoryTheory.CategoryStruct.comp.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D E f g)], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C D f
-but is expected to have type
-  forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u2, u3} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u2, u3} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u2, u3} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u2, u3} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u2, u3} V _inst_1 _inst_2] {_inst_7 : ComplexShape.{u1} ι} {c : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} {C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} {D : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} (E : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7))) c C) (f : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7))) C D) [g : QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 C D f] [_inst_8 : QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D (CategoryTheory.CategoryStruct.comp.{max u1 u2, max (max u1 u3) u2} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7)) c C D E f)], QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E
+<too large>
 Case conversion may be inaccurate. Consider using '#align quasi_iso_of_comp_right quasiIso_of_comp_rightₓ'. -/
 theorem quasiIso_of_comp_right (f : C ⟶ D) (g : D ⟶ E) [QuasiIso g] [QuasiIso (f ≫ g)] :
     QuasiIso f :=
@@ -123,10 +114,7 @@ theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : Quas
 #align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso
 
 /- warning: homotopy_equiv.to_quasi_iso_inv -> HomotopyEquiv.toQuasiIso_inv is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {c : ComplexShape.{u1} ι} {W : Type.{u2}} [_inst_8 : CategoryTheory.Category.{u3, u2} W] [_inst_9 : CategoryTheory.Preadditive.{u3, u2} W _inst_8] [_inst_10 : CategoryTheory.Limits.HasCokernels.{u3, u2} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9)] [_inst_11 : CategoryTheory.Limits.HasImages.{u3, u2} W _inst_8] [_inst_12 : CategoryTheory.Limits.HasEqualizers.{u3, u2} W _inst_8] [_inst_13 : CategoryTheory.Limits.HasZeroObject.{u3, u2} W _inst_8] [_inst_14 : CategoryTheory.Limits.HasImageMaps.{u3, u2} W _inst_8 _inst_11] {C : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} {D : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} (e : HomotopyEquiv.{u3, u2, u1} ι W _inst_8 _inst_9 c C D) (i : ι), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) D) (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) C)) (CategoryTheory.Iso.inv.{u3, u2} W _inst_8 (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) C) (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) D) (CategoryTheory.asIso.{u3, u2} W _inst_8 (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) C) (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) D) (CategoryTheory.Functor.map.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) C D (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c C D e)) (QuasiIso.isIso.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) _inst_13 _inst_12 _inst_11 _inst_14 _inst_10 c C D (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c C D e) (HomotopyEquiv.toQuasiIso.{u1, u2, u3} ι c W _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 C D e) i))) (CategoryTheory.Functor.map.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) D C (HomotopyEquiv.inv.{u3, u2, u1} ι W _inst_8 _inst_9 c C D e))
-but is expected to have type
-  forall {ι : Type.{u1}} {c : ComplexShape.{u1} ι} {W : Type.{u2}} [_inst_8 : CategoryTheory.Category.{u3, u2} W] [_inst_9 : CategoryTheory.Preadditive.{u3, u2} W _inst_8] [_inst_10 : CategoryTheory.Limits.HasCokernels.{u3, u2} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9)] [_inst_11 : CategoryTheory.Limits.HasImages.{u3, u2} W _inst_8] [_inst_12 : CategoryTheory.Limits.HasEqualizers.{u3, u2} W _inst_8] [_inst_13 : CategoryTheory.Limits.HasImageMaps.{u3, u2} W _inst_8 _inst_11] {_inst_14 : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} {C : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} (D : HomotopyEquiv.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C) (e : ι), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) C) (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) _inst_14)) (CategoryTheory.Iso.inv.{u3, u2} W _inst_8 (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) _inst_14) (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) C) (CategoryTheory.asIso.{u3, u2} W _inst_8 (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) _inst_14) (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) C) (Prefunctor.map.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) _inst_14 C (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C D)) (QuasiIso.IsIso.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) _inst_12 _inst_11 _inst_13 _inst_10 c _inst_14 C (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C D) (HomotopyEquiv.toQuasiIso.{u1, u2, u3} ι c W _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 C D) e))) (Prefunctor.map.{max (succ u1) (succ u3), succ u3, max (max u1 u2) u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u1 u2) u3} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u1 u2) u3} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, u3, max (max u1 u2) u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) C _inst_14 (HomotopyEquiv.inv.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C D))
+<too large>
 Case conversion may be inaccurate. Consider using '#align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.toQuasiIso_invₓ'. -/
 theorem toQuasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
     (@asIso _ _ _ _ _ (e.toQuasiIso.1 i)).inv = (homologyFunctor W c i).map e.inv :=
@@ -151,10 +139,7 @@ section
 variable {X : ChainComplex W ℕ} {Y : W} (f : X ⟶ (ChainComplex.single₀ _).obj Y) [hf : QuasiIso f]
 
 /- warning: homological_complex.hom.to_single₀_cokernel_at_zero_iso -> HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso is a dubious translation:
-lean 3 declaration is
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_1.{u1, u2} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_2.{u1, u2} W _inst_8 _inst_9) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_3.{u1, u2} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f], CategoryTheory.Iso.{u2, u1} W _inst_8 (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X)) Y
-but is expected to have type
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f], CategoryTheory.Iso.{u2, u1} W _inst_8 (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (CategoryTheory.Limits.HasCokernels.has_colimit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) Y
+<too large>
 Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_cokernel_at_zero_iso HomologicalComplex.Hom.toSingle₀CokernelAtZeroIsoₓ'. -/
 /-- If a chain map `f : X ⟶ Y[0]` is a quasi-isomorphism, then the cokernel of the differential
 `d : X₁ → X₀` is isomorphic to `Y.` -/
@@ -164,10 +149,7 @@ noncomputable def toSingle₀CokernelAtZeroIso : cokernel (X.d 1 0) ≅ Y :=
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso
 
 /- warning: homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq -> HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eq is a dubious translation:
-lean 3 declaration is
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f], Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X)) Y) (CategoryTheory.Iso.hom.{u2, u1} W _inst_8 (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X)) Y (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso.{u1, u2} W _inst_8 _inst_9 X Y f hf)) (CategoryTheory.Limits.cokernel.desc.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X) Y (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Eq.mpr.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y))))) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y)))))) (Eq.ndrec.{0, succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (fun (_a : Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) => Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) _a (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y)))))) (rfl.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y)))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (Eq.symm.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (HomologicalComplex.Hom.comm'.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (rfl.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat (AddSemigroup.toHasAdd.{0} Nat (AddRightCancelSemigroup.toAddSemigroup.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))))) (CategoryTheory.Limits.comp_zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))))))
-but is expected to have type
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f], Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (CategoryTheory.Limits.HasCokernels.has_colimit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) Y) (CategoryTheory.Iso.hom.{u2, u1} W _inst_8 (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (CategoryTheory.Limits.HasCokernels.has_colimit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) Y (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso.{u1, u2} W _inst_8 _inst_9 X Y f hf)) (CategoryTheory.Limits.cokernel.desc.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (CategoryTheory.Limits.HasCokernels.has_colimit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Eq.mpr.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (id.{0} (Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))))) (Eq.ndrec.{0, succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (fun (_a : Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) => Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) _a (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))))) (Eq.refl.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (Eq.symm.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (HomologicalComplex.Hom.comm'.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (rfl.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat (AddSemigroup.toAdd.{0} Nat (AddRightCancelSemigroup.toAddSemigroup.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))))) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (One.toOfNat1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))))))) (CategoryTheory.Limits.comp_zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eqₓ'. -/
 theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso f] :
     f.toSingle₀CokernelAtZeroIso.Hom =
@@ -182,10 +164,7 @@ theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso f] :
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eq
 
 /- warning: homological_complex.hom.to_single₀_epi_at_zero -> HomologicalComplex.Hom.to_single₀_epi_at_zero is a dubious translation:
-lean 3 declaration is
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f], CategoryTheory.Epi.{u2, u1} W _inst_8 (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))
-but is expected to have type
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f], CategoryTheory.Epi.{u2, u1} W _inst_8 (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zeroₓ'. -/
 theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
   by
@@ -197,10 +176,7 @@ theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
 #align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zero
 
 /- warning: homological_complex.hom.to_single₀_exact_d_f_at_zero -> HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero is a dubious translation:
-lean 3 declaration is
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f], CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasKernels.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))
-but is expected to have type
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f], CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.to_single₀_exact_d_f_at_zeroₓ'. -/
 theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f 0) :=
   by
@@ -216,10 +192,7 @@ theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f
 #align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero
 
 /- warning: homological_complex.hom.to_single₀_exact_at_succ -> HomologicalComplex.Hom.to_single₀_exact_at_succ is a dubious translation:
-lean 3 declaration is
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f] (n : Nat), CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasKernels.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X n) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) n)
-but is expected to have type
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f] (n : Nat), CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X n) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) n)
+<too large>
 Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_exact_at_succ HomologicalComplex.Hom.to_single₀_exact_at_succₓ'. -/
 theorem to_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d (n + 2) (n + 1)) (X.d (n + 1) n) :=
@@ -236,10 +209,7 @@ section
 variable {X : CochainComplex W ℕ} {Y : W} (f : (CochainComplex.single₀ _).obj Y ⟶ X)
 
 /- warning: homological_complex.hom.from_single₀_kernel_at_zero_iso -> HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso is a dubious translation:
-lean 3 declaration is
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_1.{u1, u2} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_2.{u1, u2} W _inst_8 _inst_9) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_3.{u1, u2} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f], CategoryTheory.Iso.{u2, u1} W _inst_8 (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X)) Y
-but is expected to have type
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u2 u1} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f], CategoryTheory.Iso.{u2, u1} W _inst_8 (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (CategoryTheory.Limits.HasKernels.has_limit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) Y
+<too large>
 Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_kernel_at_zero_iso HomologicalComplex.Hom.fromSingle₀KernelAtZeroIsoₓ'. -/
 /-- If a cochain map `f : Y[0] ⟶ X` is a quasi-isomorphism, then the kernel of the differential
 `d : X₀ → X₁` is isomorphic to `Y.` -/
@@ -249,10 +219,7 @@ noncomputable def fromSingle₀KernelAtZeroIso [hf : QuasiIso f] : kernel (X.d 0
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso
 
 /- warning: homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq -> HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eq is a dubious translation:
-lean 3 declaration is
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f], Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X))) (CategoryTheory.Iso.inv.{u2, u1} W _inst_8 (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X)) Y (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso.{u1, u2} W _inst_8 _inst_9 X Y f hf)) (CategoryTheory.Limits.kernel.lift.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X) Y (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Eq.mpr.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))))))) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)))))))) (Eq.ndrec.{0, succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (_a : Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) _a (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)))))))) (rfl.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)))))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HomologicalComplex.Hom.comm'.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (rfl.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat (AddSemigroup.toHasAdd.{0} Nat (AddRightCancelSemigroup.toAddSemigroup.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))))) (CategoryTheory.Limits.zero_comp.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))))
-but is expected to have type
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u2 u1} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f], Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (CategoryTheory.Limits.HasKernels.has_limit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (CategoryTheory.Iso.inv.{u2, u1} W _inst_8 (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (CategoryTheory.Limits.HasKernels.has_limit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) Y (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso.{u1, u2} W _inst_8 _inst_9 X Y f hf)) (CategoryTheory.Limits.kernel.lift.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (CategoryTheory.Limits.HasKernels.has_limit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Eq.mpr.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))))) (id.{0} (Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))))) (Eq.ndrec.{0, succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (_a : Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _a (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))))) (Eq.refl.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.Hom.comm'.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (rfl.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat (AddSemigroup.toAdd.{0} Nat (AddRightCancelSemigroup.toAddSemigroup.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))))) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (One.toOfNat1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))))))) (CategoryTheory.Limits.zero_comp.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eqₓ'. -/
 theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso f] :
     f.fromSingle₀KernelAtZeroIso.inv =
@@ -271,10 +238,7 @@ theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso f] :
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eq
 
 /- warning: homological_complex.hom.from_single₀_mono_at_zero -> HomologicalComplex.Hom.from_single₀_mono_at_zero is a dubious translation:
-lean 3 declaration is
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f], CategoryTheory.Mono.{u2, u1} W _inst_8 (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))
-but is expected to have type
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u2 u1} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f], CategoryTheory.Mono.{u2, u1} W _inst_8 (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zeroₓ'. -/
 theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
   by
@@ -286,10 +250,7 @@ theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
 #align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zero
 
 /- warning: homological_complex.hom.from_single₀_exact_f_d_at_zero -> HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero is a dubious translation:
-lean 3 declaration is
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f], CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasKernels.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))
-but is expected to have type
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u2 u1} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f], CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.from_single₀_exact_f_d_at_zeroₓ'. -/
 theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d 0 1) :=
   by
@@ -306,10 +267,7 @@ theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d
 #align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero
 
 /- warning: homological_complex.hom.from_single₀_exact_at_succ -> HomologicalComplex.Hom.from_single₀_exact_at_succ is a dubious translation:
-lean 3 declaration is
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f] (n : Nat), CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasKernels.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X n) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X n (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))
-but is expected to have type
-  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u2 u1} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f] (n : Nat), CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X n) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X n (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_exact_at_succ HomologicalComplex.Hom.from_single₀_exact_at_succₓ'. -/
 theorem from_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d n (n + 1)) (X.d (n + 1) (n + 2)) :=
@@ -329,10 +287,7 @@ variable {A : Type _} [Category A] [Abelian A] {B : Type _} [Category B] [Abelia
   [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F] [Faithful F]
 
 /- warning: category_theory.functor.quasi_iso_of_map_quasi_iso -> CategoryTheory.Functor.quasiIso_of_map_quasiIso is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {c : ComplexShape.{u1} ι} {A : Type.{u2}} [_inst_8 : CategoryTheory.Category.{u3, u2} A] [_inst_9 : CategoryTheory.Abelian.{u3, u2} A _inst_8] {B : Type.{u4}} [_inst_10 : CategoryTheory.Category.{u5, u4} B] [_inst_11 : CategoryTheory.Abelian.{u5, u4} B _inst_10] (F : CategoryTheory.Functor.{u3, u5, u2, u4} A _inst_8 B _inst_10) [_inst_12 : CategoryTheory.Functor.Additive.{u2, u4, u3, u5} A B _inst_8 _inst_10 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9) (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11) F] [_inst_13 : CategoryTheory.Limits.PreservesFiniteLimits.{u3, u5, u2, u4} A _inst_8 B _inst_10 F] [_inst_14 : CategoryTheory.Limits.PreservesFiniteColimits.{u3, u5, u2, u4} A _inst_8 B _inst_10 F] [_inst_15 : CategoryTheory.Faithful.{u3, u5, u2, u4} A _inst_8 B _inst_10 F] {C : HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c} {D : HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c} (f : Quiver.Hom.{succ (max u1 u3), max u2 u1 u3} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max u2 u1 u3} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max u2 u1 u3} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c))) C D), (QuasiIso.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) (CategoryTheory.Abelian.hasZeroObject.{u5, u4} B _inst_10 _inst_11) (CategoryTheory.Abelian.hasEqualizers.{u5, u4} B _inst_10 _inst_11) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 _inst_11)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u5, u4} B _inst_10 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 _inst_11)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u5, u4} B _inst_10 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 _inst_11)) (CategoryTheory.Abelian.hasPullbacks.{u5, u4} B _inst_10 _inst_11) (CategoryTheory.Abelian.hasEqualizers.{u5, u4} B _inst_10 _inst_11))) (CategoryTheory.Abelian.hasCokernels.{u5, u4} B _inst_10 _inst_11) c (CategoryTheory.Functor.obj.{max u1 u3, max u1 u5, max u2 u1 u3, max u4 u1 u5} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (HomologicalComplex.CategoryTheory.category.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u2, u1, u4, u5} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11) F _inst_12 c) C) (CategoryTheory.Functor.obj.{max u1 u3, max u1 u5, max u2 u1 u3, max u4 u1 u5} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (HomologicalComplex.CategoryTheory.category.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u2, u1, u4, u5} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11) F _inst_12 c) D) (CategoryTheory.Functor.map.{max u1 u3, max u1 u5, max u2 u1 u3, max u4 u1 u5} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (HomologicalComplex.CategoryTheory.category.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u2, u1, u4, u5} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11) F _inst_12 c) C D f)) -> (QuasiIso.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u3, u2} A _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u3, u2} A _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u3, u2} A _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u3, u2} A _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u3, u2} A _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u3, u2} A _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u3, u2} A _inst_8 _inst_9) c C D f)
-but is expected to have type
-  forall {ι : Type.{u3}} {c : ComplexShape.{u3} ι} {A : Type.{u4}} [_inst_8 : CategoryTheory.Category.{u5, u4} A] [_inst_9 : CategoryTheory.Abelian.{u5, u4} A _inst_8] {B : Type.{u1}} [_inst_10 : CategoryTheory.Category.{u2, u1} B] [_inst_11 : CategoryTheory.Abelian.{u2, u1} B _inst_10] (F : CategoryTheory.Functor.{u5, u2, u4, u1} A _inst_8 B _inst_10) [_inst_12 : CategoryTheory.Functor.Additive.{u4, u1, u5, u2} A B _inst_8 _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9) (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11) F] [_inst_13 : CategoryTheory.Limits.PreservesFiniteLimits.{u5, u2, u4, u1} A _inst_8 B _inst_10 F] [_inst_14 : CategoryTheory.Limits.PreservesFiniteColimits.{u5, u2, u4, u1} A _inst_8 B _inst_10 F] [_inst_15 : CategoryTheory.Faithful.{u5, u2, u4, u1} A _inst_8 B _inst_10 F] {C : HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c} {D : HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c} (f : Quiver.Hom.{max (succ u3) (succ u5), max (max u3 u4) u5} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u5, max (max u3 u4) u5} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u5, max (max u3 u4) u5} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c))) C D), (QuasiIso.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} B _inst_10 _inst_11) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 _inst_11)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} B _inst_10 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 _inst_11)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} B _inst_10 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 _inst_11)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} B _inst_10 _inst_11) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} B _inst_10 _inst_11))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} B _inst_10 _inst_11)) c (Prefunctor.obj.{max (succ u5) (succ u3), max (succ u2) (succ u3), max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c))) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c))) (CategoryTheory.Functor.toPrefunctor.{max u5 u3, max u2 u3, max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u5, u4, u3, u1, u2} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11) F _inst_12 c)) C) (Prefunctor.obj.{max (succ u5) (succ u3), max (succ u2) (succ u3), max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c))) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c))) (CategoryTheory.Functor.toPrefunctor.{max u5 u3, max u2 u3, max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u5, u4, u3, u1, u2} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11) F _inst_12 c)) D) (Prefunctor.map.{max (succ u5) (succ u3), max (succ u2) (succ u3), max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c))) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c))) (CategoryTheory.Functor.toPrefunctor.{max u5 u3, max u2 u3, max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u5, u4, u3, u1, u2} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11) F _inst_12 c)) C D f)) -> (QuasiIso.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u5, u4} A _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u5, u4} A _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u5, u4} A _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u5, u4} A _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u5, u4} A _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u5, u4} A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u5, u4} A _inst_8 _inst_9)) c C D f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.quasi_iso_of_map_quasi_iso CategoryTheory.Functor.quasiIso_of_map_quasiIsoₓ'. -/
 theorem CategoryTheory.Functor.quasiIso_of_map_quasiIso {C D : HomologicalComplex A c} (f : C ⟶ D)
     (hf : QuasiIso ((F.mapHomologicalComplex _).map f)) : QuasiIso f :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Joël Riou
 
 ! This file was ported from Lean 3 source module algebra.homology.quasi_iso
-! leanprover-community/mathlib commit 956af7c76589f444f2e1313911bad16366ea476d
+! leanprover-community/mathlib commit 50251fd6309cca5ca2e747882ffecd2729f38c5d
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.CategoryTheory.Abelian.Homology
 /-!
 # Quasi-isomorphisms
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 A chain map is a quasi-isomorphism if it induces isomorphisms on homology.
 
 ## Future work
Diff
@@ -36,6 +36,12 @@ variable [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
 
 variable {c : ComplexShape ι} {C D E : HomologicalComplex V c}
 
+/- warning: quasi_iso -> QuasiIso is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_6 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_5] [_inst_7 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c}, (Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) C D) -> Prop
+but is expected to have type
+  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {_inst_7 : ComplexShape.{u3} ι} {c : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7}, (Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7))) c C) -> Prop
+Case conversion may be inaccurate. Consider using '#align quasi_iso QuasiIsoₓ'. -/
 /-- A chain map is a quasi-isomorphism if it induces isomorphisms on homology.
 -/
 class QuasiIso (f : C ⟶ D) : Prop where
@@ -44,6 +50,12 @@ class QuasiIso (f : C ⟶ D) : Prop where
 
 attribute [instance] QuasiIso.isIso
 
+/- warning: quasi_iso_of_iso -> quasiIso_of_iso is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_6 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_5] [_inst_7 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) C D) [_inst_8 : CategoryTheory.IsIso.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c) C D f], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C D f
+but is expected to have type
+  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {_inst_7 : ComplexShape.{u3} ι} {c : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} (D : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7))) c C) [f : CategoryTheory.IsIso.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) c C D], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C D
+Case conversion may be inaccurate. Consider using '#align quasi_iso_of_iso quasiIso_of_isoₓ'. -/
 instance (priority := 100) quasiIso_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso f
     where IsIso i :=
     by
@@ -51,17 +63,35 @@ instance (priority := 100) quasiIso_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso f
     infer_instance
 #align quasi_iso_of_iso quasiIso_of_iso
 
+/- warning: quasi_iso_comp -> quasiIso_comp is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_6 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_5] [_inst_7 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {E : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) C D) [_inst_8 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C D f] (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) D E) [_inst_9 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D E g], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E (CategoryTheory.CategoryStruct.comp.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D E f g)
+but is expected to have type
+  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {_inst_7 : ComplexShape.{u3} ι} {c : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7} (E : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7))) c C) [f : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E] (_inst_8 : Quiver.Hom.{max (succ u1) (succ u3), max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u2 u1) u3} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7))) C D) [g : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 C D _inst_8], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D (CategoryTheory.CategoryStruct.comp.{max u3 u1, max (max u3 u2) u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u3 u2) u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_7)) c C D E _inst_8)
+Case conversion may be inaccurate. Consider using '#align quasi_iso_comp quasiIso_compₓ'. -/
 instance quasiIso_comp (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso g] : QuasiIso (f ≫ g)
     where IsIso i := by
     rw [functor.map_comp]
     infer_instance
 #align quasi_iso_comp quasiIso_comp
 
+/- warning: quasi_iso_of_comp_left -> quasiIso_of_comp_left is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_6 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_5] [_inst_7 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {E : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) C D) [_inst_8 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C D f] (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) D E) [_inst_9 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E (CategoryTheory.CategoryStruct.comp.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D E f g)], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D E g
+but is expected to have type
+  forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u2, u3} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u2, u3} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u2, u3} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u2, u3} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u2, u3} V _inst_1 _inst_2] {_inst_7 : ComplexShape.{u1} ι} {c : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} {C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} {D : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} (E : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7))) c C) [f : QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E] (_inst_8 : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7))) C D) [g : QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D (CategoryTheory.CategoryStruct.comp.{max u1 u2, max (max u1 u3) u2} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7)) c C D E _inst_8)], QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 C D _inst_8
+Case conversion may be inaccurate. Consider using '#align quasi_iso_of_comp_left quasiIso_of_comp_leftₓ'. -/
 theorem quasiIso_of_comp_left (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso (f ≫ g)] :
     QuasiIso g :=
   { IsIso := fun i => IsIso.of_isIso_fac_left ((homologyFunctor V c i).map_comp f g).symm }
 #align quasi_iso_of_comp_left quasiIso_of_comp_left
 
+/- warning: quasi_iso_of_comp_right -> quasiIso_of_comp_right is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u3}} {V : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u1, u2} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasZeroObject.{u1, u2} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasEqualizers.{u1, u2} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImages.{u1, u2} V _inst_1] [_inst_6 : CategoryTheory.Limits.HasImageMaps.{u1, u2} V _inst_1 _inst_5] [_inst_7 : CategoryTheory.Limits.HasCokernels.{u1, u2} V _inst_1 _inst_2] {c : ComplexShape.{u3} ι} {C : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {D : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} {E : HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c} (f : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) C D) (g : Quiver.Hom.{succ (max u3 u1), max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c))) D E) [_inst_8 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D E g] [_inst_9 : QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E (CategoryTheory.CategoryStruct.comp.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u2 u3 u1} (HomologicalComplex.{u1, u2, u3} ι V _inst_1 _inst_2 c) (HomologicalComplex.CategoryTheory.category.{u1, u2, u3} ι V _inst_1 _inst_2 c)) C D E f g)], QuasiIso.{u1, u2, u3} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C D f
+but is expected to have type
+  forall {ι : Type.{u1}} {V : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} V] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u2, u3} V _inst_1] [_inst_3 : CategoryTheory.Limits.HasEqualizers.{u2, u3} V _inst_1] [_inst_4 : CategoryTheory.Limits.HasImages.{u2, u3} V _inst_1] [_inst_5 : CategoryTheory.Limits.HasImageMaps.{u2, u3} V _inst_1 _inst_4] [_inst_6 : CategoryTheory.Limits.HasCokernels.{u2, u3} V _inst_1 _inst_2] {_inst_7 : ComplexShape.{u1} ι} {c : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} {C : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} {D : HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7} (E : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7))) c C) (f : Quiver.Hom.{max (succ u2) (succ u1), max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max (max u3 u2) u1} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7))) C D) [g : QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 C D f] [_inst_8 : QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c D (CategoryTheory.CategoryStruct.comp.{max u1 u2, max (max u1 u3) u2} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (HomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_7)) c C D E f)], QuasiIso.{u2, u3, u1} ι V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 c C E
+Case conversion may be inaccurate. Consider using '#align quasi_iso_of_comp_right quasiIso_of_comp_rightₓ'. -/
 theorem quasiIso_of_comp_right (f : C ⟶ D) (g : D ⟶ E) [QuasiIso g] [QuasiIso (f ≫ g)] :
     QuasiIso f :=
   { IsIso := fun i => IsIso.of_isIso_fac_right ((homologyFunctor V c i).map_comp f g).symm }
@@ -74,22 +104,34 @@ section
 variable {W : Type _} [Category W] [Preadditive W] [HasCokernels W] [HasImages W] [HasEqualizers W]
   [HasZeroObject W] [HasImageMaps W]
 
+/- warning: homotopy_equiv.to_quasi_iso -> HomotopyEquiv.toQuasiIso is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {c : ComplexShape.{u1} ι} {W : Type.{u2}} [_inst_8 : CategoryTheory.Category.{u3, u2} W] [_inst_9 : CategoryTheory.Preadditive.{u3, u2} W _inst_8] [_inst_10 : CategoryTheory.Limits.HasCokernels.{u3, u2} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9)] [_inst_11 : CategoryTheory.Limits.HasImages.{u3, u2} W _inst_8] [_inst_12 : CategoryTheory.Limits.HasEqualizers.{u3, u2} W _inst_8] [_inst_13 : CategoryTheory.Limits.HasZeroObject.{u3, u2} W _inst_8] [_inst_14 : CategoryTheory.Limits.HasImageMaps.{u3, u2} W _inst_8 _inst_11] {C : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} {D : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} (e : HomotopyEquiv.{u3, u2, u1} ι W _inst_8 _inst_9 c C D), QuasiIso.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) _inst_13 _inst_12 _inst_11 _inst_14 _inst_10 c C D (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c C D e)
+but is expected to have type
+  forall {ι : Type.{u1}} {c : ComplexShape.{u1} ι} {W : Type.{u2}} [_inst_8 : CategoryTheory.Category.{u3, u2} W] [_inst_9 : CategoryTheory.Preadditive.{u3, u2} W _inst_8] [_inst_10 : CategoryTheory.Limits.HasCokernels.{u3, u2} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9)] [_inst_11 : CategoryTheory.Limits.HasImages.{u3, u2} W _inst_8] [_inst_12 : CategoryTheory.Limits.HasEqualizers.{u3, u2} W _inst_8] [_inst_13 : CategoryTheory.Limits.HasImageMaps.{u3, u2} W _inst_8 _inst_11] {_inst_14 : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} {C : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} (D : HomotopyEquiv.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C), QuasiIso.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) _inst_12 _inst_11 _inst_13 _inst_10 c _inst_14 C (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C D)
+Case conversion may be inaccurate. Consider using '#align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIsoₓ'. -/
 /-- An homotopy equivalence is a quasi-isomorphism. -/
-theorem to_quasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : QuasiIso e.Hom :=
+theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : QuasiIso e.Hom :=
   ⟨fun i => by
     refine' ⟨⟨(homologyFunctor W c i).map e.inv, _⟩⟩
     simp only [← functor.map_comp, ← (homologyFunctor W c i).map_id]
     constructor <;> apply homology_map_eq_of_homotopy
     exacts[e.homotopy_hom_inv_id, e.homotopy_inv_hom_id]⟩
-#align homotopy_equiv.to_quasi_iso HomotopyEquiv.to_quasiIso
-
-theorem to_quasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
-    (@asIso _ _ _ _ _ (e.to_quasiIso.1 i)).inv = (homologyFunctor W c i).map e.inv :=
+#align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso
+
+/- warning: homotopy_equiv.to_quasi_iso_inv -> HomotopyEquiv.toQuasiIso_inv is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {c : ComplexShape.{u1} ι} {W : Type.{u2}} [_inst_8 : CategoryTheory.Category.{u3, u2} W] [_inst_9 : CategoryTheory.Preadditive.{u3, u2} W _inst_8] [_inst_10 : CategoryTheory.Limits.HasCokernels.{u3, u2} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9)] [_inst_11 : CategoryTheory.Limits.HasImages.{u3, u2} W _inst_8] [_inst_12 : CategoryTheory.Limits.HasEqualizers.{u3, u2} W _inst_8] [_inst_13 : CategoryTheory.Limits.HasZeroObject.{u3, u2} W _inst_8] [_inst_14 : CategoryTheory.Limits.HasImageMaps.{u3, u2} W _inst_8 _inst_11] {C : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} {D : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} (e : HomotopyEquiv.{u3, u2, u1} ι W _inst_8 _inst_9 c C D) (i : ι), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) D) (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) C)) (CategoryTheory.Iso.inv.{u3, u2} W _inst_8 (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) C) (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) D) (CategoryTheory.asIso.{u3, u2} W _inst_8 (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) C) (CategoryTheory.Functor.obj.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) D) (CategoryTheory.Functor.map.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) C D (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c C D e)) (QuasiIso.isIso.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) _inst_13 _inst_12 _inst_11 _inst_14 _inst_10 c C D (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c C D e) (HomotopyEquiv.toQuasiIso.{u1, u2, u3} ι c W _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 C D e) i))) (CategoryTheory.Functor.map.{max u1 u3, u3, max u2 u1 u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_14 _inst_10 i) D C (HomotopyEquiv.inv.{u3, u2, u1} ι W _inst_8 _inst_9 c C D e))
+but is expected to have type
+  forall {ι : Type.{u1}} {c : ComplexShape.{u1} ι} {W : Type.{u2}} [_inst_8 : CategoryTheory.Category.{u3, u2} W] [_inst_9 : CategoryTheory.Preadditive.{u3, u2} W _inst_8] [_inst_10 : CategoryTheory.Limits.HasCokernels.{u3, u2} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9)] [_inst_11 : CategoryTheory.Limits.HasImages.{u3, u2} W _inst_8] [_inst_12 : CategoryTheory.Limits.HasEqualizers.{u3, u2} W _inst_8] [_inst_13 : CategoryTheory.Limits.HasImageMaps.{u3, u2} W _inst_8 _inst_11] {_inst_14 : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} {C : HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c} (D : HomotopyEquiv.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C) (e : ι), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) C) (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) _inst_14)) (CategoryTheory.Iso.inv.{u3, u2} W _inst_8 (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) _inst_14) (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) C) (CategoryTheory.asIso.{u3, u2} W _inst_8 (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) _inst_14) (Prefunctor.obj.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) C) (Prefunctor.map.{max (succ u3) (succ u1), succ u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max (max u2 u3) u1} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, u3, max (max u2 u3) u1, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) _inst_14 C (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C D)) (QuasiIso.IsIso.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) _inst_12 _inst_11 _inst_13 _inst_10 c _inst_14 C (HomotopyEquiv.hom.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C D) (HomotopyEquiv.toQuasiIso.{u1, u2, u3} ι c W _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 _inst_14 C D) e))) (Prefunctor.map.{max (succ u1) (succ u3), succ u3, max (max u1 u2) u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u1 u2) u3} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u1 u2) u3} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c))) W (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} W (CategoryTheory.Category.toCategoryStruct.{u3, u2} W _inst_8)) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, u3, max (max u1 u2) u3, u2} (HomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) (HomologicalComplex.instCategoryHomologicalComplex.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c) W _inst_8 (homologyFunctor.{u3, u2, u1} ι W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} W _inst_8 _inst_9) c _inst_12 _inst_11 _inst_13 _inst_10 e)) C _inst_14 (HomotopyEquiv.inv.{u3, u2, u1} ι W _inst_8 _inst_9 c _inst_14 C D))
+Case conversion may be inaccurate. Consider using '#align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.toQuasiIso_invₓ'. -/
+theorem toQuasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
+    (@asIso _ _ _ _ _ (e.toQuasiIso.1 i)).inv = (homologyFunctor W c i).map e.inv :=
   by
   symm
   simp only [← iso.hom_comp_eq_id, as_iso_hom, ← functor.map_comp, ← (homologyFunctor W c i).map_id,
     homology_map_eq_of_homotopy e.homotopy_hom_inv_id _]
-#align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.to_quasiIso_inv
+#align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.toQuasiIso_inv
 
 end
 
@@ -105,6 +147,12 @@ section
 
 variable {X : ChainComplex W ℕ} {Y : W} (f : X ⟶ (ChainComplex.single₀ _).obj Y) [hf : QuasiIso f]
 
+/- warning: homological_complex.hom.to_single₀_cokernel_at_zero_iso -> HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso is a dubious translation:
+lean 3 declaration is
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_1.{u1, u2} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_2.{u1, u2} W _inst_8 _inst_9) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_3.{u1, u2} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f], CategoryTheory.Iso.{u2, u1} W _inst_8 (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X)) Y
+but is expected to have type
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f], CategoryTheory.Iso.{u2, u1} W _inst_8 (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (CategoryTheory.Limits.HasCokernels.has_colimit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) Y
+Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_cokernel_at_zero_iso HomologicalComplex.Hom.toSingle₀CokernelAtZeroIsoₓ'. -/
 /-- If a chain map `f : X ⟶ Y[0]` is a quasi-isomorphism, then the cokernel of the differential
 `d : X₁ → X₀` is isomorphic to `Y.` -/
 noncomputable def toSingle₀CokernelAtZeroIso : cokernel (X.d 1 0) ≅ Y :=
@@ -112,6 +160,12 @@ noncomputable def toSingle₀CokernelAtZeroIso : cokernel (X.d 1 0) ≅ Y :=
     ((@asIso _ _ _ _ _ (hf.1 0)).trans ((ChainComplex.homologyFunctor0Single₀ W).app Y))
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso
 
+/- warning: homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq -> HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eq is a dubious translation:
+lean 3 declaration is
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f], Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X)) Y) (CategoryTheory.Iso.hom.{u2, u1} W _inst_8 (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X)) Y (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso.{u1, u2} W _inst_8 _inst_9 X Y f hf)) (CategoryTheory.Limits.cokernel.desc.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X) Y (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Eq.mpr.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y))))) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y)))))) (Eq.ndrec.{0, succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (fun (_a : Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) => Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) _a (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y)))))) (rfl.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) Y) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) Y (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)) Y)))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (Eq.symm.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))) (HomologicalComplex.Hom.comm'.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (rfl.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat (AddSemigroup.toHasAdd.{0} Nat (AddRightCancelSemigroup.toAddSemigroup.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))))) (CategoryTheory.Limits.comp_zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))))))
+but is expected to have type
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f], Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (CategoryTheory.Limits.HasCokernels.has_colimit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) Y) (CategoryTheory.Iso.hom.{u2, u1} W _inst_8 (CategoryTheory.Limits.cokernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (CategoryTheory.Limits.HasCokernels.has_colimit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) Y (HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso.{u1, u2} W _inst_8 _inst_9 X Y f hf)) (CategoryTheory.Limits.cokernel.desc.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (CategoryTheory.Limits.HasCokernels.has_colimit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Eq.mpr.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (id.{0} (Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))))) (Eq.ndrec.{0, succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (fun (_a : Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) => Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) _a (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))))) (Eq.refl.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (Eq.symm.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))) (HomologicalComplex.Hom.comm'.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (rfl.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat (AddSemigroup.toAdd.{0} Nat (AddRightCancelSemigroup.toAddSemigroup.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))))) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (One.toOfNat1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))))))) (CategoryTheory.Limits.comp_zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))
+Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eqₓ'. -/
 theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso f] :
     f.toSingle₀CokernelAtZeroIso.Hom =
       cokernel.desc (X.d 1 0) (f.f 0) (by rw [← f.2 1 0 rfl] <;> exact comp_zero) :=
@@ -124,6 +178,12 @@ theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso f] :
   simp [homology.desc, iso.refl_inv (X.X 0)]
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eq
 
+/- warning: homological_complex.hom.to_single₀_epi_at_zero -> HomologicalComplex.Hom.to_single₀_epi_at_zero is a dubious translation:
+lean 3 declaration is
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f], CategoryTheory.Epi.{u2, u1} W _inst_8 (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))
+but is expected to have type
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f], CategoryTheory.Epi.{u2, u1} W _inst_8 (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))
+Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zeroₓ'. -/
 theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
   by
   constructor
@@ -133,6 +193,12 @@ theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
   rw [(@cancel_epi _ _ _ _ _ _ (epi_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zero
 
+/- warning: homological_complex.hom.to_single₀_exact_d_f_at_zero -> HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero is a dubious translation:
+lean 3 declaration is
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f], CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasKernels.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))
+but is expected to have type
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f], CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))
+Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.to_single₀_exact_d_f_at_zeroₓ'. -/
 theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f 0) :=
   by
   rw [preadditive.exact_iff_homology_zero]
@@ -146,6 +212,12 @@ theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f
     infer_instance
 #align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero
 
+/- warning: homological_complex.hom.to_single₀_exact_at_succ -> HomologicalComplex.Hom.to_single₀_exact_at_succ is a dubious translation:
+lean 3 declaration is
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) f] (n : Nat), CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasKernels.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X n) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) n)
+but is expected to have type
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y)) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (ChainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (ChainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) f] (n : Nat), CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X n) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.down.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) n)
+Case conversion may be inaccurate. Consider using '#align homological_complex.hom.to_single₀_exact_at_succ HomologicalComplex.Hom.to_single₀_exact_at_succₓ'. -/
 theorem to_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d (n + 2) (n + 1)) (X.d (n + 1) n) :=
   (Preadditive.exact_iff_homology_zero _ _).2
@@ -160,6 +232,12 @@ section
 
 variable {X : CochainComplex W ℕ} {Y : W} (f : (CochainComplex.single₀ _).obj Y ⟶ X)
 
+/- warning: homological_complex.hom.from_single₀_kernel_at_zero_iso -> HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso is a dubious translation:
+lean 3 declaration is
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_1.{u1, u2} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_2.{u1, u2} W _inst_8 _inst_9) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_3.{u1, u2} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f], CategoryTheory.Iso.{u2, u1} W _inst_8 (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X)) Y
+but is expected to have type
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u2 u1} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f], CategoryTheory.Iso.{u2, u1} W _inst_8 (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (CategoryTheory.Limits.HasKernels.has_limit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) Y
+Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_kernel_at_zero_iso HomologicalComplex.Hom.fromSingle₀KernelAtZeroIsoₓ'. -/
 /-- If a cochain map `f : Y[0] ⟶ X` is a quasi-isomorphism, then the kernel of the differential
 `d : X₀ → X₁` is isomorphic to `Y.` -/
 noncomputable def fromSingle₀KernelAtZeroIso [hf : QuasiIso f] : kernel (X.d 0 1) ≅ Y :=
@@ -167,6 +245,12 @@ noncomputable def fromSingle₀KernelAtZeroIso [hf : QuasiIso f] : kernel (X.d 0
     ((@asIso _ _ _ _ _ (hf.1 0)).symm.trans ((CochainComplex.homologyFunctor0Single₀ W).app Y))
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso
 
+/- warning: homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq -> HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eq is a dubious translation:
+lean 3 declaration is
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f], Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X))) (CategoryTheory.Iso.inv.{u2, u1} W _inst_8 (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X)) Y (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso.{u1, u2} W _inst_8 _inst_9 X Y f hf)) (CategoryTheory.Limits.kernel.lift.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso._proof_4.{u1, u2} W _inst_8 _inst_9 X) Y (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Eq.mpr.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))))))) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)))))))) (Eq.ndrec.{0, succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (_a : Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) _a (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)))))))) (rfl.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Y (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (One.one.{0} Nat Nat.hasOne)))))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HomologicalComplex.Hom.comm'.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (rfl.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat (AddSemigroup.toHasAdd.{0} Nat (AddRightCancelSemigroup.toAddSemigroup.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))))) (CategoryTheory.Limits.zero_comp.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))))
+but is expected to have type
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u2 u1} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f], Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) Y (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (CategoryTheory.Limits.HasKernels.has_limit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (CategoryTheory.Iso.inv.{u2, u1} W _inst_8 (CategoryTheory.Limits.kernel.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (CategoryTheory.Limits.HasKernels.has_limit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) Y (HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso.{u1, u2} W _inst_8 _inst_9 X Y f hf)) (CategoryTheory.Limits.kernel.lift.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (CategoryTheory.Limits.HasKernels.has_limit.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Eq.mpr.{0} (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))))) (id.{0} (Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))))) (Eq.ndrec.{0, succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (_a : Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))))) (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _a (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))))) (Eq.refl.{1} Prop (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (OfNat.ofNat.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Zero.toOfNat0.{u2} (Quiver.Hom.{succ u2, u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))))) (CategoryTheory.CategoryStruct.comp.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.Hom.comm'.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (rfl.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat (AddSemigroup.toAdd.{0} Nat (AddRightCancelSemigroup.toAddSemigroup.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))))) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (One.toOfNat1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)))))))) (CategoryTheory.Limits.zero_comp.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))))
+Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eqₓ'. -/
 theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso f] :
     f.fromSingle₀KernelAtZeroIso.inv =
       kernel.lift (X.d 0 1) (f.f 0) (by rw [f.2 0 1 rfl] <;> exact zero_comp) :=
@@ -183,6 +267,12 @@ theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso f] :
   simp [homology.π, kernel_subobject_map_comp, iso.refl_hom (X.X 0), category.comp_id]
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eq
 
+/- warning: homological_complex.hom.from_single₀_mono_at_zero -> HomologicalComplex.Hom.from_single₀_mono_at_zero is a dubious translation:
+lean 3 declaration is
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f], CategoryTheory.Mono.{u2, u1} W _inst_8 (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))))
+but is expected to have type
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u2 u1} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f], CategoryTheory.Mono.{u2, u1} W _inst_8 (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))
+Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zeroₓ'. -/
 theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
   by
   constructor
@@ -192,6 +282,12 @@ theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
   rw [(@cancel_mono _ _ _ _ _ _ (mono_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zero
 
+/- warning: homological_complex.hom.from_single₀_exact_f_d_at_zero -> HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero is a dubious translation:
+lean 3 declaration is
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f], CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasKernels.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))
+but is expected to have type
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u2 u1} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f], CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HomologicalComplex.Hom.f.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))
+Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.from_single₀_exact_f_d_at_zeroₓ'. -/
 theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d 0 1) :=
   by
   rw [preadditive.exact_iff_homology_zero]
@@ -206,6 +302,12 @@ theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d
     infer_instance
 #align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero
 
+/- warning: homological_complex.hom.from_single₀_exact_at_succ -> HomologicalComplex.Hom.from_single₀_exact_at_succ is a dubious translation:
+lean 3 declaration is
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne} {Y : W} (f : Quiver.Hom.{succ u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)))) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u2, u1} W _inst_8 _inst_9) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (CategoryTheory.Functor.obj.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) (HomologicalComplex.CategoryTheory.category.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne)) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9)) Y) X f] (n : Nat), CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasKernels.{u2, u1} W _inst_8 _inst_9) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X n) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HomologicalComplex.x.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X n (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) Nat.hasOne) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))
+but is expected to have type
+  forall {W : Type.{u1}} [_inst_8 : CategoryTheory.Category.{u2, u1} W] [_inst_9 : CategoryTheory.Abelian.{u2, u1} W _inst_8] {X : CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)} {Y : W} (f : Quiver.Hom.{succ u2, max u2 u1} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X) [hf : QuasiIso.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} W _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (Prefunctor.obj.{succ u2, succ u2, u1, max u2 u1} W (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} W (CategoryTheory.Category.toCategoryStruct.{u2, u1} W _inst_8)) (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 u2} (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, u1, max u1 u2} W _inst_8 (CochainComplex.{u2, u1, 0} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring))) (CochainComplex.single₀.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u2, u1} W _inst_8 _inst_9))) Y) X f] (n : Nat), CategoryTheory.Exact.{u2, u1} W _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Limits.hasKernels_of_hasEqualizers.{u2, u1} W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} W _inst_8 _inst_9)) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X n) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.X.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X n (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HomologicalComplex.d.{u2, u1, 0} Nat W _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} W _inst_8 (CategoryTheory.Abelian.toPreadditive.{u2, u1} W _inst_8 _inst_9)) (ComplexShape.up.{0} Nat (AddRightCancelMonoid.toAddRightCancelSemigroup.{0} Nat (AddCancelMonoid.toAddRightCancelMonoid.{0} Nat (AddCancelCommMonoid.toAddCancelMonoid.{0} Nat (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring)) X (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))))
+Case conversion may be inaccurate. Consider using '#align homological_complex.hom.from_single₀_exact_at_succ HomologicalComplex.Hom.from_single₀_exact_at_succₓ'. -/
 theorem from_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d n (n + 1)) (X.d (n + 1) (n + 2)) :=
   (Preadditive.exact_iff_homology_zero _ _).2
@@ -223,6 +325,12 @@ end HomologicalComplex.Hom
 variable {A : Type _} [Category A] [Abelian A] {B : Type _} [Category B] [Abelian B] (F : A ⥤ B)
   [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F] [Faithful F]
 
+/- warning: category_theory.functor.quasi_iso_of_map_quasi_iso -> CategoryTheory.Functor.quasiIso_of_map_quasiIso is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {c : ComplexShape.{u1} ι} {A : Type.{u2}} [_inst_8 : CategoryTheory.Category.{u3, u2} A] [_inst_9 : CategoryTheory.Abelian.{u3, u2} A _inst_8] {B : Type.{u4}} [_inst_10 : CategoryTheory.Category.{u5, u4} B] [_inst_11 : CategoryTheory.Abelian.{u5, u4} B _inst_10] (F : CategoryTheory.Functor.{u3, u5, u2, u4} A _inst_8 B _inst_10) [_inst_12 : CategoryTheory.Functor.Additive.{u2, u4, u3, u5} A B _inst_8 _inst_10 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9) (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11) F] [_inst_13 : CategoryTheory.Limits.PreservesFiniteLimits.{u3, u5, u2, u4} A _inst_8 B _inst_10 F] [_inst_14 : CategoryTheory.Limits.PreservesFiniteColimits.{u3, u5, u2, u4} A _inst_8 B _inst_10 F] [_inst_15 : CategoryTheory.Faithful.{u3, u5, u2, u4} A _inst_8 B _inst_10 F] {C : HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c} {D : HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c} (f : Quiver.Hom.{succ (max u1 u3), max u2 u1 u3} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max u2 u1 u3} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max u2 u1 u3} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c))) C D), (QuasiIso.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) (CategoryTheory.Abelian.hasZeroObject.{u5, u4} B _inst_10 _inst_11) (CategoryTheory.Abelian.hasEqualizers.{u5, u4} B _inst_10 _inst_11) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 _inst_11)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u5, u4} B _inst_10 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 _inst_11)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u5, u4} B _inst_10 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u5, u4} B _inst_10 _inst_11)) (CategoryTheory.Abelian.hasPullbacks.{u5, u4} B _inst_10 _inst_11) (CategoryTheory.Abelian.hasEqualizers.{u5, u4} B _inst_10 _inst_11))) (CategoryTheory.Abelian.hasCokernels.{u5, u4} B _inst_10 _inst_11) c (CategoryTheory.Functor.obj.{max u1 u3, max u1 u5, max u2 u1 u3, max u4 u1 u5} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (HomologicalComplex.CategoryTheory.category.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u2, u1, u4, u5} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11) F _inst_12 c) C) (CategoryTheory.Functor.obj.{max u1 u3, max u1 u5, max u2 u1 u3, max u4 u1 u5} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (HomologicalComplex.CategoryTheory.category.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u2, u1, u4, u5} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11) F _inst_12 c) D) (CategoryTheory.Functor.map.{max u1 u3, max u1 u5, max u2 u1 u3, max u4 u1 u5} (HomologicalComplex.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.CategoryTheory.category.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) c) (HomologicalComplex.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (HomologicalComplex.CategoryTheory.category.{u5, u4, u1} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u3, u2, u1, u4, u5} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} B _inst_10 _inst_11) F _inst_12 c) C D f)) -> (QuasiIso.{u3, u2, u1} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u3, u2} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u3, u2} A _inst_8 _inst_9)) (CategoryTheory.Abelian.hasZeroObject.{u3, u2} A _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u3, u2} A _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u3, u2} A _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u3, u2} A _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 (CategoryTheory.Abelian.CategoryTheory.Limits.hasStrongEpiMonoFactorisations.{u3, u2} A _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u3, u2} A _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u3, u2} A _inst_8 _inst_9))) (CategoryTheory.Abelian.hasCokernels.{u3, u2} A _inst_8 _inst_9) c C D f)
+but is expected to have type
+  forall {ι : Type.{u3}} {c : ComplexShape.{u3} ι} {A : Type.{u4}} [_inst_8 : CategoryTheory.Category.{u5, u4} A] [_inst_9 : CategoryTheory.Abelian.{u5, u4} A _inst_8] {B : Type.{u1}} [_inst_10 : CategoryTheory.Category.{u2, u1} B] [_inst_11 : CategoryTheory.Abelian.{u2, u1} B _inst_10] (F : CategoryTheory.Functor.{u5, u2, u4, u1} A _inst_8 B _inst_10) [_inst_12 : CategoryTheory.Functor.Additive.{u4, u1, u5, u2} A B _inst_8 _inst_10 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9) (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11) F] [_inst_13 : CategoryTheory.Limits.PreservesFiniteLimits.{u5, u2, u4, u1} A _inst_8 B _inst_10 F] [_inst_14 : CategoryTheory.Limits.PreservesFiniteColimits.{u5, u2, u4, u1} A _inst_8 B _inst_10 F] [_inst_15 : CategoryTheory.Faithful.{u5, u2, u4, u1} A _inst_8 B _inst_10 F] {C : HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c} {D : HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c} (f : Quiver.Hom.{max (succ u3) (succ u5), max (max u3 u4) u5} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u5, max (max u3 u4) u5} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.Category.toCategoryStruct.{max u3 u5, max (max u3 u4) u5} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c))) C D), (QuasiIso.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} B _inst_10 _inst_11) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 _inst_11)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u2, u1} B _inst_10 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 _inst_11)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u2, u1} B _inst_10 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, u1} B _inst_10 _inst_11)) (CategoryTheory.Abelian.hasPullbacks.{u2, u1} B _inst_10 _inst_11) (CategoryTheory.Abelian.hasEqualizers.{u2, u1} B _inst_10 _inst_11))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u2, u1} B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) (CategoryTheory.Abelian.hasCoequalizers.{u2, u1} B _inst_10 _inst_11)) c (Prefunctor.obj.{max (succ u5) (succ u3), max (succ u2) (succ u3), max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c))) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c))) (CategoryTheory.Functor.toPrefunctor.{max u5 u3, max u2 u3, max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u5, u4, u3, u1, u2} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11) F _inst_12 c)) C) (Prefunctor.obj.{max (succ u5) (succ u3), max (succ u2) (succ u3), max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c))) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c))) (CategoryTheory.Functor.toPrefunctor.{max u5 u3, max u2 u3, max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u5, u4, u3, u1, u2} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11) F _inst_12 c)) D) (Prefunctor.map.{max (succ u5) (succ u3), max (succ u2) (succ u3), max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (CategoryTheory.Category.toCategoryStruct.{max u5 u3, max (max u4 u5) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c))) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max u1 u2) u3} (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c))) (CategoryTheory.Functor.toPrefunctor.{max u5 u3, max u2 u3, max (max u4 u5) u3, max (max u1 u2) u3} (HomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) c) (HomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (HomologicalComplex.instCategoryHomologicalComplex.{u2, u1, u3} ι B _inst_10 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u2, u1} B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11)) c) (CategoryTheory.Functor.mapHomologicalComplex.{u5, u4, u3, u1, u2} ι A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9) B _inst_10 (CategoryTheory.Abelian.toPreadditive.{u2, u1} B _inst_10 _inst_11) F _inst_12 c)) C D f)) -> (QuasiIso.{u5, u4, u3} ι A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) (CategoryTheory.Abelian.hasEqualizers.{u5, u4} A _inst_8 _inst_9) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 _inst_9)) (CategoryTheory.Limits.hasImageMapsOfHasStrongEpiImages.{u5, u4} A _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 _inst_9)) (CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers.{u5, u4} A _inst_8 (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u5, u4} A _inst_8 _inst_9)) (CategoryTheory.Abelian.hasPullbacks.{u5, u4} A _inst_8 _inst_9) (CategoryTheory.Abelian.hasEqualizers.{u5, u4} A _inst_8 _inst_9))) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u5, u4} A _inst_8 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u5, u4} A _inst_8 (CategoryTheory.Abelian.toPreadditive.{u5, u4} A _inst_8 _inst_9)) (CategoryTheory.Abelian.hasCoequalizers.{u5, u4} A _inst_8 _inst_9)) c C D f)
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.quasi_iso_of_map_quasi_iso CategoryTheory.Functor.quasiIso_of_map_quasiIsoₓ'. -/
 theorem CategoryTheory.Functor.quasiIso_of_map_quasiIso {C D : HomologicalComplex A c} (f : C ⟶ D)
     (hf : QuasiIso ((F.mapHomologicalComplex _).map f)) : QuasiIso f :=
   ⟨fun i =>
Diff
@@ -133,26 +133,26 @@ theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
   rw [(@cancel_epi _ _ _ _ _ _ (epi_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zero
 
-theorem toSingle₀ExactDFAtZero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f 0) :=
+theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f 0) :=
   by
   rw [preadditive.exact_iff_homology_zero]
   have h : X.d 1 0 ≫ f.f 0 = 0 := by
-    simp only [← f.2 1 0 rfl, ChainComplex.single₀_obj_x_d, comp_zero]
+    simp only [← f.2 1 0 rfl, ChainComplex.single₀_obj_X_d, comp_zero]
   refine' ⟨h, Nonempty.intro (homologyIsoKernelDesc _ _ _ ≪≫ _)⟩
   · suffices is_iso (cokernel.desc _ _ h) by
       haveI := this
       apply kernel.of_mono
     rw [← to_single₀_cokernel_at_zero_iso_hom_eq]
     infer_instance
-#align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.toSingle₀ExactDFAtZero
+#align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero
 
-theorem toSingle₀ExactAtSucc [hf : QuasiIso f] (n : ℕ) :
+theorem to_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d (n + 2) (n + 1)) (X.d (n + 1) n) :=
   (Preadditive.exact_iff_homology_zero _ _).2
     ⟨X.d_comp_d _ _ _,
       ⟨(ChainComplex.homologySuccIso _ _).symm.trans
           ((@asIso _ _ _ _ _ (hf.1 (n + 1))).trans homologyZeroZero)⟩⟩
-#align homological_complex.hom.to_single₀_exact_at_succ HomologicalComplex.Hom.toSingle₀ExactAtSucc
+#align homological_complex.hom.to_single₀_exact_at_succ HomologicalComplex.Hom.to_single₀_exact_at_succ
 
 end
 
@@ -192,11 +192,11 @@ theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
   rw [(@cancel_mono _ _ _ _ _ _ (mono_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zero
 
-theorem fromSingle₀ExactFDAtZero [hf : QuasiIso f] : Exact (f.f 0) (X.d 0 1) :=
+theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d 0 1) :=
   by
   rw [preadditive.exact_iff_homology_zero]
   have h : f.f 0 ≫ X.d 0 1 = 0 := by
-    simp only [HomologicalComplex.Hom.comm, CochainComplex.single₀_obj_x_d, zero_comp]
+    simp only [HomologicalComplex.Hom.comm, CochainComplex.single₀_obj_X_d, zero_comp]
   refine' ⟨h, Nonempty.intro (homologyIsoCokernelLift _ _ _ ≪≫ _)⟩
   · suffices is_iso (kernel.lift (X.d 0 1) (f.f 0) h)
       by
@@ -204,15 +204,15 @@ theorem fromSingle₀ExactFDAtZero [hf : QuasiIso f] : Exact (f.f 0) (X.d 0 1) :
       apply cokernel.of_epi
     rw [← from_single₀_kernel_at_zero_iso_inv_eq f]
     infer_instance
-#align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.fromSingle₀ExactFDAtZero
+#align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero
 
-theorem fromSingle₀ExactAtSucc [hf : QuasiIso f] (n : ℕ) :
+theorem from_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d n (n + 1)) (X.d (n + 1) (n + 2)) :=
   (Preadditive.exact_iff_homology_zero _ _).2
     ⟨X.d_comp_d _ _ _,
       ⟨(CochainComplex.homologySuccIso _ _).symm.trans
           ((@asIso _ _ _ _ _ (hf.1 (n + 1))).symm.trans homologyZeroZero)⟩⟩
-#align homological_complex.hom.from_single₀_exact_at_succ HomologicalComplex.Hom.fromSingle₀ExactAtSucc
+#align homological_complex.hom.from_single₀_exact_at_succ HomologicalComplex.Hom.from_single₀_exact_at_succ
 
 end
 
Diff
@@ -133,7 +133,7 @@ theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) :=
   rw [(@cancel_epi _ _ _ _ _ _ (epi_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zero
 
-theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f 0) :=
+theorem toSingle₀ExactDFAtZero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f 0) :=
   by
   rw [preadditive.exact_iff_homology_zero]
   have h : X.d 1 0 ≫ f.f 0 = 0 := by
@@ -144,15 +144,15 @@ theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f
       apply kernel.of_mono
     rw [← to_single₀_cokernel_at_zero_iso_hom_eq]
     infer_instance
-#align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero
+#align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.toSingle₀ExactDFAtZero
 
-theorem to_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
+theorem toSingle₀ExactAtSucc [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d (n + 2) (n + 1)) (X.d (n + 1) n) :=
   (Preadditive.exact_iff_homology_zero _ _).2
     ⟨X.d_comp_d _ _ _,
       ⟨(ChainComplex.homologySuccIso _ _).symm.trans
           ((@asIso _ _ _ _ _ (hf.1 (n + 1))).trans homologyZeroZero)⟩⟩
-#align homological_complex.hom.to_single₀_exact_at_succ HomologicalComplex.Hom.to_single₀_exact_at_succ
+#align homological_complex.hom.to_single₀_exact_at_succ HomologicalComplex.Hom.toSingle₀ExactAtSucc
 
 end
 
@@ -192,7 +192,7 @@ theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) :=
   rw [(@cancel_mono _ _ _ _ _ _ (mono_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zero
 
-theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d 0 1) :=
+theorem fromSingle₀ExactFDAtZero [hf : QuasiIso f] : Exact (f.f 0) (X.d 0 1) :=
   by
   rw [preadditive.exact_iff_homology_zero]
   have h : f.f 0 ≫ X.d 0 1 = 0 := by
@@ -204,15 +204,15 @@ theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d
       apply cokernel.of_epi
     rw [← from_single₀_kernel_at_zero_iso_inv_eq f]
     infer_instance
-#align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero
+#align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.fromSingle₀ExactFDAtZero
 
-theorem from_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
+theorem fromSingle₀ExactAtSucc [hf : QuasiIso f] (n : ℕ) :
     Exact (X.d n (n + 1)) (X.d (n + 1) (n + 2)) :=
   (Preadditive.exact_iff_homology_zero _ _).2
     ⟨X.d_comp_d _ _ _,
       ⟨(CochainComplex.homologySuccIso _ _).symm.trans
           ((@asIso _ _ _ _ _ (hf.1 (n + 1))).symm.trans homologyZeroZero)⟩⟩
-#align homological_complex.hom.from_single₀_exact_at_succ HomologicalComplex.Hom.from_single₀_exact_at_succ
+#align homological_complex.hom.from_single₀_exact_at_succ HomologicalComplex.Hom.fromSingle₀ExactAtSucc
 
 end
 
Diff
@@ -44,26 +44,28 @@ class QuasiIso (f : C ⟶ D) : Prop where
 
 attribute [instance] QuasiIso.isIso
 
-instance (priority := 100) quasiIsoOfIso (f : C ⟶ D) [IsIso f] : QuasiIso f
+instance (priority := 100) quasiIso_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso f
     where IsIso i :=
     by
     change is_iso ((homologyFunctor V c i).mapIso (as_iso f)).Hom
     infer_instance
-#align quasi_iso_of_iso quasiIsoOfIso
+#align quasi_iso_of_iso quasiIso_of_iso
 
-instance quasiIsoComp (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso g] : QuasiIso (f ≫ g)
+instance quasiIso_comp (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso g] : QuasiIso (f ≫ g)
     where IsIso i := by
     rw [functor.map_comp]
     infer_instance
-#align quasi_iso_comp quasiIsoComp
+#align quasi_iso_comp quasiIso_comp
 
-theorem quasiIsoOfCompLeft (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso (f ≫ g)] : QuasiIso g :=
+theorem quasiIso_of_comp_left (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso (f ≫ g)] :
+    QuasiIso g :=
   { IsIso := fun i => IsIso.of_isIso_fac_left ((homologyFunctor V c i).map_comp f g).symm }
-#align quasi_iso_of_comp_left quasiIsoOfCompLeft
+#align quasi_iso_of_comp_left quasiIso_of_comp_left
 
-theorem quasiIsoOfCompRight (f : C ⟶ D) (g : D ⟶ E) [QuasiIso g] [QuasiIso (f ≫ g)] : QuasiIso f :=
+theorem quasiIso_of_comp_right (f : C ⟶ D) (g : D ⟶ E) [QuasiIso g] [QuasiIso (f ≫ g)] :
+    QuasiIso f :=
   { IsIso := fun i => IsIso.of_isIso_fac_right ((homologyFunctor V c i).map_comp f g).symm }
-#align quasi_iso_of_comp_right quasiIsoOfCompRight
+#align quasi_iso_of_comp_right quasiIso_of_comp_right
 
 namespace HomotopyEquiv
 
@@ -73,21 +75,21 @@ variable {W : Type _} [Category W] [Preadditive W] [HasCokernels W] [HasImages W
   [HasZeroObject W] [HasImageMaps W]
 
 /-- An homotopy equivalence is a quasi-isomorphism. -/
-theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : QuasiIso e.Hom :=
+theorem to_quasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : QuasiIso e.Hom :=
   ⟨fun i => by
     refine' ⟨⟨(homologyFunctor W c i).map e.inv, _⟩⟩
     simp only [← functor.map_comp, ← (homologyFunctor W c i).map_id]
     constructor <;> apply homology_map_eq_of_homotopy
     exacts[e.homotopy_hom_inv_id, e.homotopy_inv_hom_id]⟩
-#align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso
+#align homotopy_equiv.to_quasi_iso HomotopyEquiv.to_quasiIso
 
-theorem toQuasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
-    (@asIso _ _ _ _ _ (e.toQuasiIso.1 i)).inv = (homologyFunctor W c i).map e.inv :=
+theorem to_quasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
+    (@asIso _ _ _ _ _ (e.to_quasiIso.1 i)).inv = (homologyFunctor W c i).map e.inv :=
   by
   symm
   simp only [← iso.hom_comp_eq_id, as_iso_hom, ← functor.map_comp, ← (homologyFunctor W c i).map_id,
     homology_map_eq_of_homotopy e.homotopy_hom_inv_id _]
-#align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.toQuasiIso_inv
+#align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.to_quasiIso_inv
 
 end
 
@@ -221,7 +223,7 @@ end HomologicalComplex.Hom
 variable {A : Type _} [Category A] [Abelian A] {B : Type _} [Category B] [Abelian B] (F : A ⥤ B)
   [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F] [Faithful F]
 
-theorem CategoryTheory.Functor.quasiIsoOfMapQuasiIso {C D : HomologicalComplex A c} (f : C ⟶ D)
+theorem CategoryTheory.Functor.quasiIso_of_map_quasiIso {C D : HomologicalComplex A c} (f : C ⟶ D)
     (hf : QuasiIso ((F.mapHomologicalComplex _).map f)) : QuasiIso f :=
   ⟨fun i =>
     haveI : is_iso (F.map ((homologyFunctor A c i).map f)) :=
@@ -229,5 +231,5 @@ theorem CategoryTheory.Functor.quasiIsoOfMapQuasiIso {C D : HomologicalComplex A
       rw [← functor.comp_map, ← nat_iso.naturality_2 (F.homology_functor_iso i) f, functor.comp_map]
       infer_instance
     is_iso_of_reflects_iso _ F⟩
-#align category_theory.functor.quasi_iso_of_map_quasi_iso CategoryTheory.Functor.quasiIsoOfMapQuasiIso
+#align category_theory.functor.quasi_iso_of_map_quasi_iso CategoryTheory.Functor.quasiIso_of_map_quasiIso
 

Changes in mathlib4

mathlib3
mathlib4
chore(CategoryTheory): move Full, Faithful, EssSurj, IsEquivalence and ReflectsIsomorphisms to the Functor namespace (#11985)

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

Diff
@@ -203,7 +203,7 @@ end ToSingle₀
 end HomologicalComplex.Hom
 
 variable {A : Type*} [Category A] [Abelian A] {B : Type*} [Category B] [Abelian B] (F : A ⥤ B)
-  [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F] [Faithful F]
+  [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F] [F.Faithful]
 
 theorem CategoryTheory.Functor.quasiIso'_of_map_quasiIso' {C D : HomologicalComplex A c}
     (f : C ⟶ D) (hf : QuasiIso' ((F.mapHomologicalComplex _).map f)) : QuasiIso' f :=
@@ -438,7 +438,7 @@ instance quasiIsoAt_map_of_preservesHomology [hφ : QuasiIsoAt φ i] :
   exact ShortComplex.quasiIso_map_of_preservesLeftHomology F
     ((shortComplexFunctor C₁ c i).map φ)
 
-lemma quasiIsoAt_map_iff_of_preservesHomology [ReflectsIsomorphisms F] :
+lemma quasiIsoAt_map_iff_of_preservesHomology [F.ReflectsIsomorphisms] :
     QuasiIsoAt ((F.mapHomologicalComplex c).map φ) i ↔ QuasiIsoAt φ i := by
   simp only [quasiIsoAt_iff]
   exact ShortComplex.quasiIso_map_iff_of_preservesLeftHomology F
@@ -455,7 +455,7 @@ variable [∀ i, K.HasHomology i] [∀ i, L.HasHomology i]
 instance quasiIso_map_of_preservesHomology [hφ : QuasiIso φ] :
     QuasiIso ((F.mapHomologicalComplex c).map φ) where
 
-lemma quasiIso_map_iff_of_preservesHomology [ReflectsIsomorphisms F] :
+lemma quasiIso_map_iff_of_preservesHomology [F.ReflectsIsomorphisms] :
     QuasiIso ((F.mapHomologicalComplex c).map φ) ↔ QuasiIso φ := by
   simp only [quasiIso_iff, quasiIsoAt_map_iff_of_preservesHomology φ F]
 
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -29,9 +29,7 @@ variable {ι : Type*}
 section
 
 variable {V : Type u} [Category.{v} V] [HasZeroMorphisms V] [HasZeroObject V]
-
 variable [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
-
 variable {c : ComplexShape ι} {C D E : HomologicalComplex V c}
 
 /-- A chain map is a quasi-isomorphism if it induces isomorphisms on homology.
feat(Algebra/Homology): the class of quasi-isomorphisms in the homotopy category (#9686)

This PR introduces the class of quasi-isomorphisms in the homotopy category of homological complexes.

Diff
@@ -468,13 +468,13 @@ end PreservesHomology
 variable (C c)
 
 /-- The morphism property on `HomologicalComplex C c` given by quasi-isomorphisms. -/
-def qis [CategoryWithHomology C] :
+def quasiIso [CategoryWithHomology C] :
     MorphismProperty (HomologicalComplex C c) := fun _ _ f => QuasiIso f
 
 variable {C c}
 
 @[simp]
-lemma qis_iff [CategoryWithHomology C] (f : K ⟶ L) : qis C c f ↔ QuasiIso f := by rfl
+lemma mem_quasiIso_iff [CategoryWithHomology C] (f : K ⟶ L) : quasiIso C c f ↔ QuasiIso f := by rfl
 
 end HomologicalComplex
 
@@ -497,8 +497,10 @@ instance : QuasiIso e.hom where
 
 instance : QuasiIso e.inv := (inferInstance : QuasiIso e.symm.hom)
 
-lemma homotopyEquivalences_subset_qis [CategoryWithHomology C] :
-    homotopyEquivalences C c ⊆ qis C c := by
+variable (C c)
+
+lemma homotopyEquivalences_subset_quasiIso [CategoryWithHomology C] :
+    homotopyEquivalences C c ⊆ quasiIso C c := by
   rintro K L _ ⟨e, rfl⟩
-  simp only [qis_iff]
+  simp only [HomologicalComplex.mem_quasiIso_iff]
   infer_instance
refactor(Algebra/Homology): use the new homology API (#8706)

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

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

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

Diff
@@ -422,6 +422,49 @@ lemma quasiIso_of_arrow_mk_iso (φ : K ⟶ L) (φ' : K' ⟶ L') (e : Arrow.mk φ
 
 namespace HomologicalComplex
 
+section PreservesHomology
+
+variable {C₁ C₂ : Type*} [Category C₁] [Category C₂] [Preadditive C₁] [Preadditive C₂]
+  {K L : HomologicalComplex C₁ c} (φ : K ⟶ L) (F : C₁ ⥤ C₂) [F.Additive]
+  [F.PreservesHomology]
+
+section
+
+variable (i : ι) [K.HasHomology i] [L.HasHomology i]
+  [((F.mapHomologicalComplex c).obj K).HasHomology i]
+  [((F.mapHomologicalComplex c).obj L).HasHomology i]
+
+instance quasiIsoAt_map_of_preservesHomology [hφ : QuasiIsoAt φ i] :
+    QuasiIsoAt ((F.mapHomologicalComplex c).map φ) i := by
+  rw [quasiIsoAt_iff] at hφ ⊢
+  exact ShortComplex.quasiIso_map_of_preservesLeftHomology F
+    ((shortComplexFunctor C₁ c i).map φ)
+
+lemma quasiIsoAt_map_iff_of_preservesHomology [ReflectsIsomorphisms F] :
+    QuasiIsoAt ((F.mapHomologicalComplex c).map φ) i ↔ QuasiIsoAt φ i := by
+  simp only [quasiIsoAt_iff]
+  exact ShortComplex.quasiIso_map_iff_of_preservesLeftHomology F
+    ((shortComplexFunctor C₁ c i).map φ)
+
+end
+
+section
+
+variable [∀ i, K.HasHomology i] [∀ i, L.HasHomology i]
+  [∀ i, ((F.mapHomologicalComplex c).obj K).HasHomology i]
+  [∀ i, ((F.mapHomologicalComplex c).obj L).HasHomology i]
+
+instance quasiIso_map_of_preservesHomology [hφ : QuasiIso φ] :
+    QuasiIso ((F.mapHomologicalComplex c).map φ) where
+
+lemma quasiIso_map_iff_of_preservesHomology [ReflectsIsomorphisms F] :
+    QuasiIso ((F.mapHomologicalComplex c).map φ) ↔ QuasiIso φ := by
+  simp only [quasiIso_iff, quasiIsoAt_map_iff_of_preservesHomology φ F]
+
+end
+
+end PreservesHomology
+
 variable (C c)
 
 /-- The morphism property on `HomologicalComplex C c` given by quasi-isomorphisms. -/
feat: the homology functor on the homotopy category for the new API (#8595)

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

Diff
@@ -220,6 +220,8 @@ end
 
 open HomologicalComplex
 
+section
+
 variable {ι : Type*} {C : Type u} [Category.{v} C] [HasZeroMorphisms C]
   {c : ComplexShape ι} {K L M K' L' : HomologicalComplex C c}
 
@@ -417,3 +419,43 @@ lemma quasiIso_of_arrow_mk_iso (φ : K ⟶ L) (φ' : K' ⟶ L') (e : Arrow.mk φ
     [∀ i, K'.HasHomology i] [∀ i, L'.HasHomology i]
     [hφ : QuasiIso φ] : QuasiIso φ' := by
   simpa only [← quasiIso_iff_of_arrow_mk_iso φ φ' e]
+
+namespace HomologicalComplex
+
+variable (C c)
+
+/-- The morphism property on `HomologicalComplex C c` given by quasi-isomorphisms. -/
+def qis [CategoryWithHomology C] :
+    MorphismProperty (HomologicalComplex C c) := fun _ _ f => QuasiIso f
+
+variable {C c}
+
+@[simp]
+lemma qis_iff [CategoryWithHomology C] (f : K ⟶ L) : qis C c f ↔ QuasiIso f := by rfl
+
+end HomologicalComplex
+
+end
+
+section
+
+variable {ι : Type*} {C : Type u} [Category.{v} C] [Preadditive C]
+  {c : ComplexShape ι} {K L : HomologicalComplex C c}
+
+section
+
+variable (e : HomotopyEquiv K L) [∀ i, K.HasHomology i] [∀ i, L.HasHomology i]
+
+instance : QuasiIso e.hom where
+  quasiIsoAt n := by
+    classical
+    rw [quasiIsoAt_iff_isIso_homologyMap]
+    exact IsIso.of_iso (e.toHomologyIso n)
+
+instance : QuasiIso e.inv := (inferInstance : QuasiIso e.symm.hom)
+
+lemma homotopyEquivalences_subset_qis [CategoryWithHomology C] :
+    homotopyEquivalences C c ⊆ qis C c := by
+  rintro K L _ ⟨e, rfl⟩
+  simp only [qis_iff]
+  infer_instance
refactor(Algebra/Homology): remove single₀ (#8208)

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

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Joël Riou
 -/
 import Mathlib.Algebra.Homology.Homotopy
-import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
+import Mathlib.Algebra.Homology.SingleHomology
 import Mathlib.CategoryTheory.Abelian.Homology
 
 #align_import algebra.homology.quasi_iso from "leanprover-community/mathlib"@"956af7c76589f444f2e1313911bad16366ea476d"
@@ -20,9 +20,7 @@ Define the derived category as the localization at quasi-isomorphisms? (TODO @jo
 -/
 
 
-open CategoryTheory
-
-open CategoryTheory.Limits
+open CategoryTheory Limits
 
 universe v u
 
@@ -133,8 +131,7 @@ theorem to_single₀_epi_at_zero [hf : QuasiIso' f] : Epi (f.f 0) := by
 
 theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso' f] : Exact (X.d 1 0) (f.f 0) := by
   rw [Preadditive.exact_iff_homology'_zero]
-  have h : X.d 1 0 ≫ f.f 0 = 0 := by
-    simp only [← f.2 1 0 rfl, ChainComplex.single₀_obj_X_d, comp_zero]
+  have h : X.d 1 0 ≫ f.f 0 = 0 := by simp only [← f.comm 1 0, single_obj_d, comp_zero]
   refine' ⟨h, Nonempty.intro (homology'IsoKernelDesc _ _ _ ≪≫ _)⟩
   suffices IsIso (cokernel.desc _ _ h) by apply kernel.ofMono
   rw [← toSingle₀CokernelAtZeroIso_hom_eq]
@@ -186,8 +183,7 @@ theorem from_single₀_mono_at_zero [hf : QuasiIso' f] : Mono (f.f 0) := by
 
 theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso' f] : Exact (f.f 0) (X.d 0 1) := by
   rw [Preadditive.exact_iff_homology'_zero]
-  have h : f.f 0 ≫ X.d 0 1 = 0 := by
-    simp only [HomologicalComplex.Hom.comm, CochainComplex.single₀_obj_X_d, zero_comp]
+  have h : f.f 0 ≫ X.d 0 1 = 0 := by simp
   refine' ⟨h, Nonempty.intro (homology'IsoCokernelLift _ _ _ ≪≫ _)⟩
   suffices IsIso (kernel.lift (X.d 0 1) (f.f 0) h) by apply cokernel.ofEpi
   rw [← fromSingle₀KernelAtZeroIso_inv_eq f]
feat: quasi-isomorphisms of homological complexes (#8206)

This PR defines the typeclass QuasiIso which corresponds to quasi-isomorphisms of homological complexes for the new homology API.

Diff
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Joël Riou
 -/
 import Mathlib.Algebra.Homology.Homotopy
+import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
 import Mathlib.CategoryTheory.Abelian.Homology
 
 #align_import algebra.homology.quasi_iso from "leanprover-community/mathlib"@"956af7c76589f444f2e1313911bad16366ea476d"
@@ -15,7 +16,7 @@ A chain map is a quasi-isomorphism if it induces isomorphisms on homology.
 
 ## Future work
 
-Define the derived category as the localization at quasi-isomorphisms?
+Define the derived category as the localization at quasi-isomorphisms? (TODO @joelriou)
 -/
 
 
@@ -27,6 +28,8 @@ universe v u
 
 variable {ι : Type*}
 
+section
+
 variable {V : Type u} [Category.{v} V] [HasZeroMorphisms V] [HasZeroObject V]
 
 variable [HasEqualizers V] [HasImages V] [HasImageMaps V] [HasCokernels V]
@@ -216,3 +219,205 @@ theorem CategoryTheory.Functor.quasiIso'_of_map_quasiIso' {C D : HomologicalComp
       infer_instance
     isIso_of_reflects_iso _ F⟩
 #align category_theory.functor.quasi_iso_of_map_quasi_iso CategoryTheory.Functor.quasiIso'_of_map_quasiIso'
+
+end
+
+open HomologicalComplex
+
+variable {ι : Type*} {C : Type u} [Category.{v} C] [HasZeroMorphisms C]
+  {c : ComplexShape ι} {K L M K' L' : HomologicalComplex C c}
+
+/-- A morphism of homological complexes `f : K ⟶ L` is a quasi-isomorphism in degree `i`
+when it induces a quasi-isomorphism of short complexes `K.sc i ⟶ L.sc i`. -/
+class QuasiIsoAt (f : K ⟶ L) (i : ι) [K.HasHomology i] [L.HasHomology i] : Prop where
+  quasiIso : ShortComplex.QuasiIso ((shortComplexFunctor C c i).map f)
+
+lemma quasiIsoAt_iff (f : K ⟶ L) (i : ι) [K.HasHomology i] [L.HasHomology i] :
+    QuasiIsoAt f i ↔
+      ShortComplex.QuasiIso ((shortComplexFunctor C c i).map f) := by
+  constructor
+  · intro h
+    exact h.quasiIso
+  · intro h
+    exact ⟨h⟩
+
+instance quasiIsoAt_of_isIso (f : K ⟶ L) [IsIso f] (i : ι) [K.HasHomology i] [L.HasHomology i] :
+    QuasiIsoAt f i := by
+  rw [quasiIsoAt_iff]
+  infer_instance
+
+lemma quasiIsoAt_iff' (f : K ⟶ L) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k)
+    [K.HasHomology j] [L.HasHomology j] [(K.sc' i j k).HasHomology] [(L.sc' i j k).HasHomology] :
+    QuasiIsoAt f j ↔
+      ShortComplex.QuasiIso ((shortComplexFunctor' C c i j k).map f) := by
+  rw [quasiIsoAt_iff]
+  exact ShortComplex.quasiIso_iff_of_arrow_mk_iso _ _
+    (Arrow.isoOfNatIso (natIsoSc' C c i j k hi hk) (Arrow.mk f))
+
+lemma quasiIsoAt_iff_isIso_homologyMap (f : K ⟶ L) (i : ι)
+    [K.HasHomology i] [L.HasHomology i] :
+    QuasiIsoAt f i ↔ IsIso (homologyMap f i) := by
+  rw [quasiIsoAt_iff, ShortComplex.quasiIso_iff]
+  rfl
+
+lemma quasiIsoAt_iff_exactAt (f : K ⟶ L) (i : ι) [K.HasHomology i] [L.HasHomology i]
+    (hK : K.ExactAt i) :
+    QuasiIsoAt f i ↔ L.ExactAt i := by
+  simp only [quasiIsoAt_iff, ShortComplex.quasiIso_iff, exactAt_iff,
+    ShortComplex.exact_iff_isZero_homology] at hK ⊢
+  constructor
+  · intro h
+    exact IsZero.of_iso hK (@asIso _ _ _ _ _ h).symm
+  · intro hL
+    exact ⟨⟨0, IsZero.eq_of_src hK _ _, IsZero.eq_of_tgt hL _ _⟩⟩
+
+lemma quasiIsoAt_iff_exactAt' (f : K ⟶ L) (i : ι) [K.HasHomology i] [L.HasHomology i]
+    (hL : L.ExactAt i) :
+    QuasiIsoAt f i ↔ K.ExactAt i := by
+  simp only [quasiIsoAt_iff, ShortComplex.quasiIso_iff, exactAt_iff,
+    ShortComplex.exact_iff_isZero_homology] at hL ⊢
+  constructor
+  · intro h
+    exact IsZero.of_iso hL (@asIso _ _ _ _ _ h)
+  · intro hK
+    exact ⟨⟨0, IsZero.eq_of_src hK _ _, IsZero.eq_of_tgt hL _ _⟩⟩
+
+instance (f : K ⟶ L) (i : ι) [K.HasHomology i] [L.HasHomology i] [hf : QuasiIsoAt f i] :
+    IsIso (homologyMap f i) := by
+  simpa only [quasiIsoAt_iff, ShortComplex.quasiIso_iff] using hf
+
+/-- The isomorphism `K.homology i ≅ L.homology i` induced by a morphism `f : K ⟶ L` such
+that `[QuasiIsoAt f i]` holds. -/
+@[simps! hom]
+noncomputable def isoOfQuasiIsoAt (f : K ⟶ L) (i : ι) [K.HasHomology i] [L.HasHomology i]
+    [QuasiIsoAt f i] : K.homology i ≅ L.homology i :=
+  asIso (homologyMap f i)
+
+@[reassoc (attr := simp)]
+lemma isoOfQuasiIsoAt_hom_inv_id (f : K ⟶ L) (i : ι) [K.HasHomology i] [L.HasHomology i]
+    [QuasiIsoAt f i] :
+    homologyMap f i ≫ (isoOfQuasiIsoAt f i).inv = 𝟙 _ :=
+  (isoOfQuasiIsoAt f i).hom_inv_id
+
+@[reassoc (attr := simp)]
+lemma isoOfQuasiIsoAt_inv_hom_id (f : K ⟶ L) (i : ι) [K.HasHomology i] [L.HasHomology i]
+    [QuasiIsoAt f i] :
+    (isoOfQuasiIsoAt f i).inv ≫ homologyMap f i = 𝟙 _ :=
+  (isoOfQuasiIsoAt f i).inv_hom_id
+
+lemma CochainComplex.quasiIsoAt₀_iff {K L : CochainComplex C ℕ} (f : K ⟶ L)
+    [K.HasHomology 0] [L.HasHomology 0] [(K.sc' 0 0 1).HasHomology] [(L.sc' 0 0 1).HasHomology] :
+    QuasiIsoAt f 0 ↔
+      ShortComplex.QuasiIso ((HomologicalComplex.shortComplexFunctor' C _ 0 0 1).map f) :=
+  quasiIsoAt_iff' _ _ _ _ (by simp) (by simp)
+
+lemma ChainComplex.quasiIsoAt₀_iff {K L : ChainComplex C ℕ} (f : K ⟶ L)
+    [K.HasHomology 0] [L.HasHomology 0] [(K.sc' 1 0 0).HasHomology] [(L.sc' 1 0 0).HasHomology] :
+    QuasiIsoAt f 0 ↔
+      ShortComplex.QuasiIso ((HomologicalComplex.shortComplexFunctor' C _ 1 0 0).map f) :=
+  quasiIsoAt_iff' _ _ _ _ (by simp) (by simp)
+
+/-- A morphism of homological complexes `f : K ⟶ L` is a quasi-isomorphism when it
+is so in every degree, i.e. when the induced maps `homologyMap f i : K.homology i ⟶ L.homology i`
+are all isomorphisms (see `quasiIso_iff` and `quasiIsoAt_iff_isIso_homologyMap`). -/
+class QuasiIso (f : K ⟶ L) [∀ i, K.HasHomology i] [∀ i, L.HasHomology i] : Prop where
+  quasiIsoAt : ∀ i, QuasiIsoAt f i := by infer_instance
+
+lemma quasiIso_iff (f : K ⟶ L) [∀ i, K.HasHomology i] [∀ i, L.HasHomology i] :
+    QuasiIso f ↔ ∀ i, QuasiIsoAt f i :=
+  ⟨fun h => h.quasiIsoAt, fun h => ⟨h⟩⟩
+
+attribute [instance] QuasiIso.quasiIsoAt
+
+instance quasiIso_of_isIso (f : K ⟶ L) [IsIso f] [∀ i, K.HasHomology i] [∀ i, L.HasHomology i] :
+    QuasiIso f where
+
+instance quasiIsoAt_comp (φ : K ⟶ L) (φ' : L ⟶ M) (i : ι) [K.HasHomology i]
+    [L.HasHomology i] [M.HasHomology i]
+    [hφ : QuasiIsoAt φ i] [hφ' : QuasiIsoAt φ' i] :
+    QuasiIsoAt (φ ≫ φ') i := by
+  rw [quasiIsoAt_iff] at hφ hφ' ⊢
+  rw [Functor.map_comp]
+  exact ShortComplex.quasiIso_comp _ _
+
+instance quasiIso_comp (φ : K ⟶ L) (φ' : L ⟶ M) [∀ i, K.HasHomology i]
+    [∀ i, L.HasHomology i] [∀ i, M.HasHomology i]
+    [hφ : QuasiIso φ] [hφ' : QuasiIso φ'] :
+    QuasiIso (φ ≫ φ') where
+
+lemma quasiIsoAt_of_comp_left (φ : K ⟶ L) (φ' : L ⟶ M) (i : ι) [K.HasHomology i]
+    [L.HasHomology i] [M.HasHomology i]
+    [hφ : QuasiIsoAt φ i] [hφφ' : QuasiIsoAt (φ ≫ φ') i] :
+    QuasiIsoAt φ' i := by
+  rw [quasiIsoAt_iff_isIso_homologyMap] at hφ hφφ' ⊢
+  rw [homologyMap_comp] at hφφ'
+  exact IsIso.of_isIso_comp_left (homologyMap φ i) (homologyMap φ' i)
+
+lemma quasiIsoAt_iff_comp_left (φ : K ⟶ L) (φ' : L ⟶ M) (i : ι) [K.HasHomology i]
+    [L.HasHomology i] [M.HasHomology i]
+    [hφ : QuasiIsoAt φ i] :
+    QuasiIsoAt (φ ≫ φ') i ↔ QuasiIsoAt φ' i := by
+  constructor
+  · intro
+    exact quasiIsoAt_of_comp_left φ φ' i
+  · intro
+    infer_instance
+
+lemma quasiIso_iff_comp_left (φ : K ⟶ L) (φ' : L ⟶ M) [∀ i, K.HasHomology i]
+    [∀ i, L.HasHomology i] [∀ i, M.HasHomology i]
+    [hφ : QuasiIso φ] :
+    QuasiIso (φ ≫ φ') ↔ QuasiIso φ' := by
+  simp only [quasiIso_iff, quasiIsoAt_iff_comp_left φ φ']
+
+lemma quasiIso_of_comp_left (φ : K ⟶ L) (φ' : L ⟶ M) [∀ i, K.HasHomology i]
+    [∀ i, L.HasHomology i] [∀ i, M.HasHomology i]
+    [hφ : QuasiIso φ] [hφφ' : QuasiIso (φ ≫ φ')] :
+    QuasiIso φ' := by
+  rw [← quasiIso_iff_comp_left φ φ']
+  infer_instance
+
+lemma quasiIsoAt_of_comp_right (φ : K ⟶ L) (φ' : L ⟶ M) (i : ι) [K.HasHomology i]
+    [L.HasHomology i] [M.HasHomology i]
+    [hφ' : QuasiIsoAt φ' i] [hφφ' : QuasiIsoAt (φ ≫ φ') i] :
+    QuasiIsoAt φ i := by
+  rw [quasiIsoAt_iff_isIso_homologyMap] at hφ' hφφ' ⊢
+  rw [homologyMap_comp] at hφφ'
+  exact IsIso.of_isIso_comp_right (homologyMap φ i) (homologyMap φ' i)
+
+lemma quasiIsoAt_iff_comp_right (φ : K ⟶ L) (φ' : L ⟶ M) (i : ι) [K.HasHomology i]
+    [L.HasHomology i] [M.HasHomology i]
+    [hφ' : QuasiIsoAt φ' i] :
+    QuasiIsoAt (φ ≫ φ') i ↔ QuasiIsoAt φ i := by
+  constructor
+  · intro
+    exact quasiIsoAt_of_comp_right φ φ' i
+  · intro
+    infer_instance
+
+lemma quasiIso_iff_comp_right (φ : K ⟶ L) (φ' : L ⟶ M) [∀ i, K.HasHomology i]
+    [∀ i, L.HasHomology i] [∀ i, M.HasHomology i]
+    [hφ' : QuasiIso φ'] :
+    QuasiIso (φ ≫ φ') ↔ QuasiIso φ := by
+  simp only [quasiIso_iff, quasiIsoAt_iff_comp_right φ φ']
+
+lemma quasiIso_of_comp_right (φ : K ⟶ L) (φ' : L ⟶ M) [∀ i, K.HasHomology i]
+    [∀ i, L.HasHomology i] [∀ i, M.HasHomology i]
+    [hφ : QuasiIso φ'] [hφφ' : QuasiIso (φ ≫ φ')] :
+    QuasiIso φ := by
+  rw [← quasiIso_iff_comp_right φ φ']
+  infer_instance
+
+lemma quasiIso_iff_of_arrow_mk_iso (φ : K ⟶ L) (φ' : K' ⟶ L') (e : Arrow.mk φ ≅ Arrow.mk φ')
+    [∀ i, K.HasHomology i] [∀ i, L.HasHomology i]
+    [∀ i, K'.HasHomology i] [∀ i, L'.HasHomology i] :
+    QuasiIso φ ↔ QuasiIso φ' := by
+  rw [← quasiIso_iff_comp_left (show K' ⟶ K from e.inv.left) φ,
+    ← quasiIso_iff_comp_right φ' (show L' ⟶ L from e.inv.right)]
+  erw [Arrow.w e.inv]
+  rfl
+
+lemma quasiIso_of_arrow_mk_iso (φ : K ⟶ L) (φ' : K' ⟶ L') (e : Arrow.mk φ ≅ Arrow.mk φ')
+    [∀ i, K.HasHomology i] [∀ i, L.HasHomology i]
+    [∀ i, K'.HasHomology i] [∀ i, L'.HasHomology i]
+    [hφ : QuasiIso φ] : QuasiIso φ' := by
+  simpa only [← quasiIso_iff_of_arrow_mk_iso φ φ' e]
refactor: introduce the new homology API for homological complex and rename the old one (#7954)

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

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

Diff
@@ -35,33 +35,34 @@ variable {c : ComplexShape ι} {C D E : HomologicalComplex V c}
 
 /-- A chain map is a quasi-isomorphism if it induces isomorphisms on homology.
 -/
-class QuasiIso (f : C ⟶ D) : Prop where
-  isIso : ∀ i, IsIso ((homologyFunctor V c i).map f)
-#align quasi_iso QuasiIso
+class QuasiIso' (f : C ⟶ D) : Prop where
+  isIso : ∀ i, IsIso ((homology'Functor V c i).map f)
+#align quasi_iso QuasiIso'
 
-attribute [instance] QuasiIso.isIso
+attribute [instance] QuasiIso'.isIso
 
-instance (priority := 100) quasiIso_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso f where
+instance (priority := 100) quasiIso'_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso' f where
   isIso i := by
-    change IsIso ((homologyFunctor V c i).mapIso (asIso f)).hom
+    change IsIso ((homology'Functor V c i).mapIso (asIso f)).hom
     infer_instance
-#align quasi_iso_of_iso quasiIso_of_iso
+#align quasi_iso_of_iso quasiIso'_of_iso
 
-instance quasiIso_comp (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso g] : QuasiIso (f ≫ g) where
+instance quasiIso'_comp (f : C ⟶ D) [QuasiIso' f] (g : D ⟶ E) [QuasiIso' g] :
+    QuasiIso' (f ≫ g) where
   isIso i := by
     rw [Functor.map_comp]
     infer_instance
-#align quasi_iso_comp quasiIso_comp
+#align quasi_iso_comp quasiIso'_comp
 
-theorem quasiIso_of_comp_left (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso (f ≫ g)] :
-    QuasiIso g :=
-  { isIso := fun i => IsIso.of_isIso_fac_left ((homologyFunctor V c i).map_comp f g).symm }
-#align quasi_iso_of_comp_left quasiIso_of_comp_left
+theorem quasiIso'_of_comp_left (f : C ⟶ D) [QuasiIso' f] (g : D ⟶ E) [QuasiIso' (f ≫ g)] :
+    QuasiIso' g :=
+  { isIso := fun i => IsIso.of_isIso_fac_left ((homology'Functor V c i).map_comp f g).symm }
+#align quasi_iso_of_comp_left quasiIso'_of_comp_left
 
-theorem quasiIso_of_comp_right (f : C ⟶ D) (g : D ⟶ E) [QuasiIso g] [QuasiIso (f ≫ g)] :
-    QuasiIso f :=
-  { isIso := fun i => IsIso.of_isIso_fac_right ((homologyFunctor V c i).map_comp f g).symm }
-#align quasi_iso_of_comp_right quasiIso_of_comp_right
+theorem quasiIso'_of_comp_right (f : C ⟶ D) (g : D ⟶ E) [QuasiIso' g] [QuasiIso' (f ≫ g)] :
+    QuasiIso' f :=
+  { isIso := fun i => IsIso.of_isIso_fac_right ((homology'Functor V c i).map_comp f g).symm }
+#align quasi_iso_of_comp_right quasiIso'_of_comp_right
 
 namespace HomotopyEquiv
 
@@ -71,21 +72,21 @@ variable {W : Type*} [Category W] [Preadditive W] [HasCokernels W] [HasImages W]
   [HasZeroObject W] [HasImageMaps W]
 
 /-- A homotopy equivalence is a quasi-isomorphism. -/
-theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : QuasiIso e.hom :=
+theorem toQuasiIso' {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : QuasiIso' e.hom :=
   ⟨fun i => by
-    refine' ⟨⟨(homologyFunctor W c i).map e.inv, _⟩⟩
-    simp only [← Functor.map_comp, ← (homologyFunctor W c i).map_id]
-    constructor <;> apply homology_map_eq_of_homotopy
+    refine' ⟨⟨(homology'Functor W c i).map e.inv, _⟩⟩
+    simp only [← Functor.map_comp, ← (homology'Functor W c i).map_id]
+    constructor <;> apply homology'_map_eq_of_homotopy
     exacts [e.homotopyHomInvId, e.homotopyInvHomId]⟩
-#align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso
+#align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso'
 
-theorem toQuasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
-    (@asIso _ _ _ _ _ (e.toQuasiIso.1 i)).inv = (homologyFunctor W c i).map e.inv := by
+theorem toQuasiIso'_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
+    (@asIso _ _ _ _ _ (e.toQuasiIso'.1 i)).inv = (homology'Functor W c i).map e.inv := by
   symm
-  haveI := e.toQuasiIso.1 i -- Porting note: Added this to get `asIso_hom` to work.
-  simp only [← Iso.hom_comp_eq_id, asIso_hom, ← Functor.map_comp, ← (homologyFunctor W c i).map_id,
-    homology_map_eq_of_homotopy e.homotopyHomInvId _]
-#align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.toQuasiIso_inv
+  haveI := e.toQuasiIso'.1 i -- Porting note: Added this to get `asIso_hom` to work.
+  simp only [← Iso.hom_comp_eq_id, asIso_hom, ← Functor.map_comp,
+    ← (homology'Functor W c i).map_id, homology'_map_eq_of_homotopy e.homotopyHomInvId _]
+#align homotopy_equiv.to_quasi_iso_inv HomotopyEquiv.toQuasiIso'_inv
 
 end
 
@@ -99,27 +100,27 @@ variable {W : Type*} [Category W] [Abelian W]
 
 section
 
-variable {X : ChainComplex W ℕ} {Y : W} (f : X ⟶ (ChainComplex.single₀ _).obj Y) [hf : QuasiIso f]
+variable {X : ChainComplex W ℕ} {Y : W} (f : X ⟶ (ChainComplex.single₀ _).obj Y) [hf : QuasiIso' f]
 
 /-- If a chain map `f : X ⟶ Y[0]` is a quasi-isomorphism, then the cokernel of the differential
 `d : X₁ → X₀` is isomorphic to `Y`. -/
 noncomputable def toSingle₀CokernelAtZeroIso : cokernel (X.d 1 0) ≅ Y :=
-  X.homologyZeroIso.symm.trans
-    ((@asIso _ _ _ _ _ (hf.1 0)).trans ((ChainComplex.homologyFunctor0Single₀ W).app Y))
+  X.homology'ZeroIso.symm.trans
+    ((@asIso _ _ _ _ _ (hf.1 0)).trans ((ChainComplex.homology'Functor0Single₀ W).app Y))
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso
 
-theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso f] :
+theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso' f] :
     f.toSingle₀CokernelAtZeroIso.hom =
       cokernel.desc (X.d 1 0) (f.f 0) (by rw [← f.2 1 0 rfl]; exact comp_zero) := by
   ext
-  dsimp only [toSingle₀CokernelAtZeroIso, ChainComplex.homologyZeroIso, homologyOfZeroRight,
-    homology.mapIso, ChainComplex.homologyFunctor0Single₀, cokernel.map]
+  dsimp only [toSingle₀CokernelAtZeroIso, ChainComplex.homology'ZeroIso, homology'OfZeroRight,
+    homology'.mapIso, ChainComplex.homology'Functor0Single₀, cokernel.map]
   dsimp [asIso]
-  simp only [cokernel.π_desc, Category.assoc, homology.map_desc, cokernel.π_desc_assoc]
-  simp [homology.desc, Iso.refl_inv (X.X 0)]
+  simp only [cokernel.π_desc, Category.assoc, homology'.map_desc, cokernel.π_desc_assoc]
+  simp [homology'.desc, Iso.refl_inv (X.X 0)]
 #align homological_complex.hom.to_single₀_cokernel_at_zero_iso_hom_eq HomologicalComplex.Hom.toSingle₀CokernelAtZeroIso_hom_eq
 
-theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) := by
+theorem to_single₀_epi_at_zero [hf : QuasiIso' f] : Epi (f.f 0) := by
   constructor
   intro Z g h Hgh
   rw [← cokernel.π_desc (X.d 1 0) (f.f 0) (by rw [← f.2 1 0 rfl]; exact comp_zero),
@@ -127,22 +128,22 @@ theorem to_single₀_epi_at_zero [hf : QuasiIso f] : Epi (f.f 0) := by
   rw [(@cancel_epi _ _ _ _ _ _ (epi_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.to_single₀_epi_at_zero HomologicalComplex.Hom.to_single₀_epi_at_zero
 
-theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso f] : Exact (X.d 1 0) (f.f 0) := by
-  rw [Preadditive.exact_iff_homology_zero]
+theorem to_single₀_exact_d_f_at_zero [hf : QuasiIso' f] : Exact (X.d 1 0) (f.f 0) := by
+  rw [Preadditive.exact_iff_homology'_zero]
   have h : X.d 1 0 ≫ f.f 0 = 0 := by
     simp only [← f.2 1 0 rfl, ChainComplex.single₀_obj_X_d, comp_zero]
-  refine' ⟨h, Nonempty.intro (homologyIsoKernelDesc _ _ _ ≪≫ _)⟩
+  refine' ⟨h, Nonempty.intro (homology'IsoKernelDesc _ _ _ ≪≫ _)⟩
   suffices IsIso (cokernel.desc _ _ h) by apply kernel.ofMono
   rw [← toSingle₀CokernelAtZeroIso_hom_eq]
   infer_instance
 #align homological_complex.hom.to_single₀_exact_d_f_at_zero HomologicalComplex.Hom.to_single₀_exact_d_f_at_zero
 
-theorem to_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
+theorem to_single₀_exact_at_succ [hf : QuasiIso' f] (n : ℕ) :
     Exact (X.d (n + 2) (n + 1)) (X.d (n + 1) n) :=
-  (Preadditive.exact_iff_homology_zero _ _).2
+  (Preadditive.exact_iff_homology'_zero _ _).2
     ⟨X.d_comp_d _ _ _,
-      ⟨(ChainComplex.homologySuccIso _ _).symm.trans
-          ((@asIso _ _ _ _ _ (hf.1 (n + 1))).trans homologyZeroZero)⟩⟩
+      ⟨(ChainComplex.homology'SuccIso _ _).symm.trans
+          ((@asIso _ _ _ _ _ (hf.1 (n + 1))).trans homology'ZeroZero)⟩⟩
 #align homological_complex.hom.to_single₀_exact_at_succ HomologicalComplex.Hom.to_single₀_exact_at_succ
 
 end
@@ -153,26 +154,26 @@ variable {X : CochainComplex W ℕ} {Y : W} (f : (CochainComplex.single₀ _).ob
 
 /-- If a cochain map `f : Y[0] ⟶ X` is a quasi-isomorphism, then the kernel of the differential
 `d : X₀ → X₁` is isomorphic to `Y`. -/
-noncomputable def fromSingle₀KernelAtZeroIso [hf : QuasiIso f] : kernel (X.d 0 1) ≅ Y :=
-  X.homologyZeroIso.symm.trans
+noncomputable def fromSingle₀KernelAtZeroIso [hf : QuasiIso' f] : kernel (X.d 0 1) ≅ Y :=
+  X.homology'ZeroIso.symm.trans
     ((@asIso _ _ _ _ _ (hf.1 0)).symm.trans ((CochainComplex.homologyFunctor0Single₀ W).app Y))
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso
 
-theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso f] :
+theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso' f] :
     f.fromSingle₀KernelAtZeroIso.inv =
       kernel.lift (X.d 0 1) (f.f 0) (by rw [f.2 0 1 rfl]; exact zero_comp) := by
   ext
-  dsimp only [fromSingle₀KernelAtZeroIso, CochainComplex.homologyZeroIso, homologyOfZeroLeft,
-    homology.mapIso, CochainComplex.homologyFunctor0Single₀, kernel.map]
+  dsimp only [fromSingle₀KernelAtZeroIso, CochainComplex.homology'ZeroIso, homology'OfZeroLeft,
+    homology'.mapIso, CochainComplex.homologyFunctor0Single₀, kernel.map]
   simp only [Iso.trans_inv, Iso.app_inv, Iso.symm_inv, Category.assoc, equalizer_as_kernel,
     kernel.lift_ι]
   dsimp [asIso]
-  simp only [Category.assoc, homology.π_map, cokernelZeroIsoTarget_hom,
-    cokernelIsoOfEq_hom_comp_desc, kernelSubobject_arrow, homology.π_map_assoc, IsIso.inv_comp_eq]
-  simp [homology.π, kernelSubobjectMap_comp, Iso.refl_hom (X.X 0), Category.comp_id]
+  simp only [Category.assoc, homology'.π_map, cokernelZeroIsoTarget_hom,
+    cokernelIsoOfEq_hom_comp_desc, kernelSubobject_arrow, homology'.π_map_assoc, IsIso.inv_comp_eq]
+  simp [homology'.π, kernelSubobjectMap_comp, Iso.refl_hom (X.X 0), Category.comp_id]
 #align homological_complex.hom.from_single₀_kernel_at_zero_iso_inv_eq HomologicalComplex.Hom.fromSingle₀KernelAtZeroIso_inv_eq
 
-theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) := by
+theorem from_single₀_mono_at_zero [hf : QuasiIso' f] : Mono (f.f 0) := by
   constructor
   intro Z g h Hgh
   rw [← kernel.lift_ι (X.d 0 1) (f.f 0) (by rw [f.2 0 1 rfl]; exact zero_comp),
@@ -180,22 +181,22 @@ theorem from_single₀_mono_at_zero [hf : QuasiIso f] : Mono (f.f 0) := by
   rw [(@cancel_mono _ _ _ _ _ _ (mono_comp _ _) _ _).1 Hgh]
 #align homological_complex.hom.from_single₀_mono_at_zero HomologicalComplex.Hom.from_single₀_mono_at_zero
 
-theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso f] : Exact (f.f 0) (X.d 0 1) := by
-  rw [Preadditive.exact_iff_homology_zero]
+theorem from_single₀_exact_f_d_at_zero [hf : QuasiIso' f] : Exact (f.f 0) (X.d 0 1) := by
+  rw [Preadditive.exact_iff_homology'_zero]
   have h : f.f 0 ≫ X.d 0 1 = 0 := by
     simp only [HomologicalComplex.Hom.comm, CochainComplex.single₀_obj_X_d, zero_comp]
-  refine' ⟨h, Nonempty.intro (homologyIsoCokernelLift _ _ _ ≪≫ _)⟩
+  refine' ⟨h, Nonempty.intro (homology'IsoCokernelLift _ _ _ ≪≫ _)⟩
   suffices IsIso (kernel.lift (X.d 0 1) (f.f 0) h) by apply cokernel.ofEpi
   rw [← fromSingle₀KernelAtZeroIso_inv_eq f]
   infer_instance
 #align homological_complex.hom.from_single₀_exact_f_d_at_zero HomologicalComplex.Hom.from_single₀_exact_f_d_at_zero
 
-theorem from_single₀_exact_at_succ [hf : QuasiIso f] (n : ℕ) :
+theorem from_single₀_exact_at_succ [hf : QuasiIso' f] (n : ℕ) :
     Exact (X.d n (n + 1)) (X.d (n + 1) (n + 2)) :=
-  (Preadditive.exact_iff_homology_zero _ _).2
+  (Preadditive.exact_iff_homology'_zero _ _).2
     ⟨X.d_comp_d _ _ _,
-      ⟨(CochainComplex.homologySuccIso _ _).symm.trans
-          ((@asIso _ _ _ _ _ (hf.1 (n + 1))).symm.trans homologyZeroZero)⟩⟩
+      ⟨(CochainComplex.homology'SuccIso _ _).symm.trans
+          ((@asIso _ _ _ _ _ (hf.1 (n + 1))).symm.trans homology'ZeroZero)⟩⟩
 #align homological_complex.hom.from_single₀_exact_at_succ HomologicalComplex.Hom.from_single₀_exact_at_succ
 
 end
@@ -207,11 +208,11 @@ end HomologicalComplex.Hom
 variable {A : Type*} [Category A] [Abelian A] {B : Type*} [Category B] [Abelian B] (F : A ⥤ B)
   [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F] [Faithful F]
 
-theorem CategoryTheory.Functor.quasiIso_of_map_quasiIso {C D : HomologicalComplex A c} (f : C ⟶ D)
-    (hf : QuasiIso ((F.mapHomologicalComplex _).map f)) : QuasiIso f :=
+theorem CategoryTheory.Functor.quasiIso'_of_map_quasiIso' {C D : HomologicalComplex A c}
+    (f : C ⟶ D) (hf : QuasiIso' ((F.mapHomologicalComplex _).map f)) : QuasiIso' f :=
   ⟨fun i =>
-    haveI : IsIso (F.map ((homologyFunctor A c i).map f)) := by
-      rw [← Functor.comp_map, ← NatIso.naturality_2 (F.homologyFunctorIso i) f, Functor.comp_map]
+    haveI : IsIso (F.map ((homology'Functor A c i).map f)) := by
+      rw [← Functor.comp_map, ← NatIso.naturality_2 (F.homology'FunctorIso i) f, Functor.comp_map]
       infer_instance
     isIso_of_reflects_iso _ F⟩
-#align category_theory.functor.quasi_iso_of_map_quasi_iso CategoryTheory.Functor.quasiIso_of_map_quasiIso
+#align category_theory.functor.quasi_iso_of_map_quasi_iso CategoryTheory.Functor.quasiIso'_of_map_quasiIso'
chore: tidy various files (#7035)
Diff
@@ -36,31 +36,31 @@ variable {c : ComplexShape ι} {C D E : HomologicalComplex V c}
 /-- A chain map is a quasi-isomorphism if it induces isomorphisms on homology.
 -/
 class QuasiIso (f : C ⟶ D) : Prop where
-  IsIso : ∀ i, IsIso ((homologyFunctor V c i).map f)
+  isIso : ∀ i, IsIso ((homologyFunctor V c i).map f)
 #align quasi_iso QuasiIso
 
-attribute [instance] QuasiIso.IsIso
+attribute [instance] QuasiIso.isIso
 
 instance (priority := 100) quasiIso_of_iso (f : C ⟶ D) [IsIso f] : QuasiIso f where
-  IsIso i := by
+  isIso i := by
     change IsIso ((homologyFunctor V c i).mapIso (asIso f)).hom
     infer_instance
 #align quasi_iso_of_iso quasiIso_of_iso
 
 instance quasiIso_comp (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso g] : QuasiIso (f ≫ g) where
-  IsIso i := by
+  isIso i := by
     rw [Functor.map_comp]
     infer_instance
 #align quasi_iso_comp quasiIso_comp
 
 theorem quasiIso_of_comp_left (f : C ⟶ D) [QuasiIso f] (g : D ⟶ E) [QuasiIso (f ≫ g)] :
     QuasiIso g :=
-  { IsIso := fun i => IsIso.of_isIso_fac_left ((homologyFunctor V c i).map_comp f g).symm }
+  { isIso := fun i => IsIso.of_isIso_fac_left ((homologyFunctor V c i).map_comp f g).symm }
 #align quasi_iso_of_comp_left quasiIso_of_comp_left
 
 theorem quasiIso_of_comp_right (f : C ⟶ D) (g : D ⟶ E) [QuasiIso g] [QuasiIso (f ≫ g)] :
     QuasiIso f :=
-  { IsIso := fun i => IsIso.of_isIso_fac_right ((homologyFunctor V c i).map_comp f g).symm }
+  { isIso := fun i => IsIso.of_isIso_fac_right ((homologyFunctor V c i).map_comp f g).symm }
 #align quasi_iso_of_comp_right quasiIso_of_comp_right
 
 namespace HomotopyEquiv
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -25,7 +25,7 @@ open CategoryTheory.Limits
 
 universe v u
 
-variable {ι : Type _}
+variable {ι : Type*}
 
 variable {V : Type u} [Category.{v} V] [HasZeroMorphisms V] [HasZeroObject V]
 
@@ -67,7 +67,7 @@ namespace HomotopyEquiv
 
 section
 
-variable {W : Type _} [Category W] [Preadditive W] [HasCokernels W] [HasImages W] [HasEqualizers W]
+variable {W : Type*} [Category W] [Preadditive W] [HasCokernels W] [HasImages W] [HasEqualizers W]
   [HasZeroObject W] [HasImageMaps W]
 
 /-- A homotopy equivalence is a quasi-isomorphism. -/
@@ -95,7 +95,7 @@ namespace HomologicalComplex.Hom
 
 section ToSingle₀
 
-variable {W : Type _} [Category W] [Abelian W]
+variable {W : Type*} [Category W] [Abelian W]
 
 section
 
@@ -204,7 +204,7 @@ end ToSingle₀
 
 end HomologicalComplex.Hom
 
-variable {A : Type _} [Category A] [Abelian A] {B : Type _} [Category B] [Abelian B] (F : A ⥤ B)
+variable {A : Type*} [Category A] [Abelian A] {B : Type*} [Category B] [Abelian B] (F : A ⥤ B)
   [Functor.Additive F] [PreservesFiniteLimits F] [PreservesFiniteColimits F] [Faithful F]
 
 theorem CategoryTheory.Functor.quasiIso_of_map_quasiIso {C D : HomologicalComplex A c} (f : C ⟶ D)
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2021 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Joël Riou
-
-! This file was ported from Lean 3 source module algebra.homology.quasi_iso
-! leanprover-community/mathlib commit 956af7c76589f444f2e1313911bad16366ea476d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Homology.Homotopy
 import Mathlib.CategoryTheory.Abelian.Homology
 
+#align_import algebra.homology.quasi_iso from "leanprover-community/mathlib"@"956af7c76589f444f2e1313911bad16366ea476d"
+
 /-!
 # Quasi-isomorphisms
 
feat: more consistent use of ext, and updating porting notes. (#5242)

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

Diff
@@ -114,7 +114,7 @@ noncomputable def toSingle₀CokernelAtZeroIso : cokernel (X.d 1 0) ≅ Y :=
 theorem toSingle₀CokernelAtZeroIso_hom_eq [hf : QuasiIso f] :
     f.toSingle₀CokernelAtZeroIso.hom =
       cokernel.desc (X.d 1 0) (f.f 0) (by rw [← f.2 1 0 rfl]; exact comp_zero) := by
-  apply coequalizer.hom_ext
+  ext
   dsimp only [toSingle₀CokernelAtZeroIso, ChainComplex.homologyZeroIso, homologyOfZeroRight,
     homology.mapIso, ChainComplex.homologyFunctor0Single₀, cokernel.map]
   dsimp [asIso]
@@ -164,7 +164,7 @@ noncomputable def fromSingle₀KernelAtZeroIso [hf : QuasiIso f] : kernel (X.d 0
 theorem fromSingle₀KernelAtZeroIso_inv_eq [hf : QuasiIso f] :
     f.fromSingle₀KernelAtZeroIso.inv =
       kernel.lift (X.d 0 1) (f.f 0) (by rw [f.2 0 1 rfl]; exact zero_comp) := by
-  apply equalizer.hom_ext
+  ext
   dsimp only [fromSingle₀KernelAtZeroIso, CochainComplex.homologyZeroIso, homologyOfZeroLeft,
     homology.mapIso, CochainComplex.homologyFunctor0Single₀, kernel.map]
   simp only [Iso.trans_inv, Iso.app_inv, Iso.symm_inv, Category.assoc, equalizer_as_kernel,
chore: fix grammar 1/3 (#5001)

All of these are doc fixes

Diff
@@ -73,7 +73,7 @@ section
 variable {W : Type _} [Category W] [Preadditive W] [HasCokernels W] [HasImages W] [HasEqualizers W]
   [HasZeroObject W] [HasImageMaps W]
 
-/-- An homotopy equivalence is a quasi-isomorphism. -/
+/-- A homotopy equivalence is a quasi-isomorphism. -/
 theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : QuasiIso e.hom :=
   ⟨fun i => by
     refine' ⟨⟨(homologyFunctor W c i).map e.inv, _⟩⟩
chore: add space after exacts (#4945)

Too often tempted to change these during other PRs, so doing a mass edit here.

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

Diff
@@ -79,7 +79,7 @@ theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : Quas
     refine' ⟨⟨(homologyFunctor W c i).map e.inv, _⟩⟩
     simp only [← Functor.map_comp, ← (homologyFunctor W c i).map_id]
     constructor <;> apply homology_map_eq_of_homotopy
-    exacts[e.homotopyHomInvId, e.homotopyInvHomId]⟩
+    exacts [e.homotopyHomInvId, e.homotopyInvHomId]⟩
 #align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso
 
 theorem toQuasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
feat: port Algebra.Homology.QuasiIso (#3969)

Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>

Dependencies 8 + 539

540 files ported (98.5%)
209809 lines ported (98.5%)
Show graph

The unported dependencies are