proposition: Lemma isExact_to_isExact' {x y z : ob A} {f : x --> y} {g : y --> z} {H : f · g = ZeroArrow (to_Zero A) _ _} (iE : isExact f g H) : isExact' f g H.
proof: Proof. unfold isExact in iE. unfold isExact'. use make_isCokernel. intros w0 h H'. use unique_exists. - use CokernelOut. + exact h. + cbn. exact (isExact_to_isExact'_Eq iE w0 h H'). - apply CokernelCommutes. - intros y'. apply hs. - intros y' T. cbn in T. apply CokernelOutsEq. rewrite T. apply pathsinv0. apply CokernelCommutes. 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