proposition: Lemma isExact'_Eq {x y z : ob A} (f : x --> y) (g : y --> z) (H : f · g = ZeroArrow (to_Zero A) _ _) : f · CokernelArrow (Abelian.CoImage g) = ZeroArrow (to_Zero A) _ _.
proof: Proof. unfold Abelian.CoImage. set (fact := factorization2 g). unfold factorization2_epi in fact. cbn in fact. unfold Abelian.CoImage in fact. apply (factorization2_is_monic g). rewrite ZeroArrow_comp_left. rewrite <- assoc. apply (maponpaths (λ gg : _, f · gg)) in fact. use (pathscomp0 (! fact)). exact H. Qed.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.MoreFoundations.Tactics UniMath.CategoryTheory.Limits.Zero UniMath.CategoryTheory.Limits.Equalizers UniMath.CategoryTheory.Limits.Coequalizers UniMath.CategoryTheory.Limits.Opp UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.opp_precat UniMath.CategoryTheory.Monics UniMath.CategoryTheory.Epis UniMath.CategoryTheory.Morphisms UniMath.CategoryTheory.CategoriesWithBinOps UniMath.CategoryTheory.PrecategoriesWithAbgrops UniMath.CategoryTheory.PreAdditive UniMath.CategoryTheory.Additive UniMath.CategoryTheory.Abelian UniMath.CategoryTheory.AbelianToAdditive UniMath.CategoryTheory.Limits.Kernels UniMath.CategoryTheory.Limits.Cokernels UniMath.CategoryTheory.Limits.BinDirectSums