Lemma CokernelofZeroArrow_is_iso {x y : C} (CK : Cokernel (ZeroArrow Z x y)) : is_inverse_in_precat (CokernelArrow CK) (from_Cokernel_to_Cokernel CK (CokernelofZeroArrow x y)). Proof. use make_is_inverse_in_precat. - unfold from_Cokernel_to_Cokernel. rewrite CokernelCommutes. apply idpath. - unfold from_Cokernel_to_Cokernel. cbn. use CokernelOutsEq. rewrite assoc. rewrite CokernelCommutes. rewrite id_left. rewrite id_right. apply idpath. Qed.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Epis. Require Import UniMath.CategoryTheory.Limits.Coequalizers. Require Import UniMath.CategoryTheory.Limits.Zero. - exact (ZeroArrowFrom w). - intros y X. cbn in X. use ArrowsFromZero.