Lemma CokernelEpiComp1 {x y z : C} (E : Epi C x y) (f : y --> z) (CK1 : Cokernel Z (E · f)) (CK2 : Cokernel Z f) : is_iso (CokernelEpiComp_mor1 E f CK1 CK2). Proof. use is_iso_qinv. - exact (CokernelEpiComp_mor2 E f CK1 CK2). - split. + unfold CokernelEpiComp_mor1. unfold CokernelEpiComp_mor2. use CokernelOutsEq. rewrite assoc. rewrite CokernelCommutes. rewrite CokernelCommutes. apply pathsinv0. apply id_right. + unfold CokernelEpiComp_mor1. unfold CokernelEpiComp_mor2. use CokernelOutsEq. rewrite assoc. rewrite CokernelCommutes. rewrite CokernelCommutes. apply pathsinv0. apply id_right. 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.