Lemma is_z_iso_isColim {C : category} {g : graph} (D : diagram g C) (CC : ColimCocone D) (d : C) (cd : cocone D d) : is_z_isomorphism (colimArrow CC d cd) -> isColimCocone D d cd. Proof. intro H. set (iinv := z_iso_inv_from_is_z_iso _ H). intros x cx. use tpair. - use tpair. + exact (iinv · colimArrow CC x cx). + simpl; intro u. rewrite <- (colimArrowCommutes CC x cx u), assoc. apply cancel_postcomposition, pathsinv0, z_iso_inv_on_left, pathsinv0, colimArrowCommutes. - intros p; destruct p as [f Hf]. apply subtypePath. + intro a; apply impred; intro u; apply C. + simpl; apply pathsinv0, z_iso_inv_on_right; simpl. apply pathsinv0, colimArrowUnique; intro u. now rewrite <- (Hf u), assoc, colimArrowCommutes. Defined.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.MoreFoundations.Propositions. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.Adjunctions.Core.