Lemma CohomologyComplexIso_is_iso_i (C : Complex (AbelianToAdditive A)) (i : hz) : is_iso (CohomologyComplexIso_Mor_i C i). Proof. unfold CohomologyComplexIso_Mor. cbn. unfold CohomologyComplexIso_Mor_i. cbn. unfold postcompose. use is_iso_comp_of_is_isos. - use is_iso_comp_of_is_isos. + use is_iso_comp_of_is_isos. * unfold CohomologyComplexIso_Mor3. apply KernelInPaths_is_iso. * use is_iso_comp_of_is_isos. -- unfold CohomologyComplexIso_Mor4. set (CK1 := Cokernel (transportf (precategory_morphisms (C (i - 1))) (maponpaths C (hzrminusplus i 1)) (Diff C (i - 1)))). set (K1 := Kernel (CokernelOut (to_Zero A) CK1 (CoImage (Diff C i)) (factorization2_epi A (Diff C i)) (CohomologyComplexIso_eq2 C i))). apply (KernelCompMonic1 A (to_Zero A) (CokernelOut (to_Zero A) CK1 (CoImage (Diff C i)) (factorization2_epi A (Diff C i)) (CohomologyComplexIso_eq2 C i)) (factorization2_monic A (Diff C i)) (Kernel _) K1). -- use is_iso_comp_of_is_isos. ++ use is_iso_comp_of_is_isos. ** use is_iso_comp_of_is_isos. --- unfold CohomologyComplexIso_Mor7. apply KernelInPaths_is_iso. --- use is_iso_comp_of_is_isos. +++ unfold CohomologyComplexIso_Mor8. apply pr2. +++ apply is_iso_inv_from_iso. ** unfold CohomologyComplexIso_Mor6. apply pr2. ++ unfold CohomologyComplexIso_Mor5. apply CokernelOutPaths_is_iso. + unfold CohomologyComplexIso_Mor2. set (K1 := KernelIn (to_Zero A) (Kernel (Diff C i)) _ _ (CohomologyComplexIso_eq1 C i)). apply (CokernelEpiComp2 A (to_Zero A) (factorization1_epi A (transportf (precategory_morphisms (C (i - 1))) (maponpaths C (hzrminusplus i 1)) (Diff C (i - 1)))) K1 (Cokernel _) (Cokernel _)). - unfold CohomologyComplexIso_Mor1. apply CokernelOutPaths_is_iso. Qed.
Require Import UniMath.Foundations.UnivalenceAxiom. Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.Foundations.NaturalNumbers. Require Import UniMath.Algebra.BinaryOperations. Require Import UniMath.Algebra.Monoids. Require Import UniMath.Algebra.Groups. Require Import UniMath.NumberSystems.Integers. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.TransportMorphisms. Require Import UniMath.CategoryTheory.Limits.Zero. Require Import UniMath.CategoryTheory.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Require Import UniMath.CategoryTheory.Limits.Equalizers. Require Import UniMath.CategoryTheory.Limits.Coequalizers. Require Import UniMath.CategoryTheory.Limits.Kernels. Require Import UniMath.CategoryTheory.Limits.Cokernels. Require Import UniMath.CategoryTheory.Limits.Pushouts. Require Import UniMath.CategoryTheory.Limits.Pullbacks. Require Import UniMath.CategoryTheory.Limits.BinDirectSums. Require Import UniMath.CategoryTheory.Monics. Require Import UniMath.CategoryTheory.Epis. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.CategoriesWithBinOps. Require Import UniMath.CategoryTheory.PrecategoriesWithAbgrops. Require Import UniMath.CategoryTheory.PreAdditive. Require Import UniMath.CategoryTheory.Additive. Require Import UniMath.CategoryTheory.Abelian. Require Import UniMath.CategoryTheory.AbelianToAdditive. Require Import UniMath.CategoryTheory.AdditiveFunctors. Require Import UniMath.HomologicalAlgebra.Complexes. Require Import UniMath.HomologicalAlgebra.KA.