algebra.homology.quasi_iso
⟷
Mathlib.Algebra.Homology.QuasiIso
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/3365b20c2ffa7c35e47e5209b89ba9abdddf3ffe
@@ -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'
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2021 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, 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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2021 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, 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
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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 =>
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/f8c79b0a623404854a2902b836eac32156fd7712
@@ -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 =>
mathlib commit https://github.com/leanprover-community/mathlib/commit/cd8fafa2fac98e1a67097e8a91ad9901cfde48af
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/17ad94b4953419f3e3ce3e77da3239c62d1d09f0
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/3b267e70a936eebb21ab546f49a8df34dd300b25
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
These notions on functors are now Functor.Full
, Functor.Faithful
, Functor.EssSurj
, Functor.IsEquivalence
, Functor.ReflectsIsomorphisms
. Deprecated aliases are introduced for the previous names.
@@ -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]
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)
@@ -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.
This PR introduces the class of quasi-isomorphisms in the homotopy category of homological complexes.
@@ -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
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>
@@ -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. -/
@@ -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
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
.
@@ -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]
This PR defines the typeclass QuasiIso
which corresponds to quasi-isomorphisms of homological complexes for the new homology API.
@@ -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]
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>
@@ -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'
@@ -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
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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)
@@ -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
@@ -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,
@@ -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, _⟩⟩
@@ -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 : ι) :
The unported dependencies are