proposition: Lemma is_z_iso_isLim {g : graph} (D : diagram g C^op) (CC : LimCone D) (d : C) (cd : cone D d) : is_z_isomorphism (limArrow CC d cd) -> isLimCone D d cd.
proof: Proof. intro H. set (iinv := z_iso_inv_from_is_z_iso _ H). intros x cx. use tpair. - use tpair. + exact (limArrow CC x cx · iinv). + simpl; intro u. assert (XR := limArrowCommutes CC x cx u). eapply pathscomp0; [| apply XR]. etrans. { use assoc. } apply (maponpaths (fun f => compose(C:=C^op) f (limArrow CC x cx))). apply (z_iso_inv_on_right(C:=C)). apply pathsinv0, limArrowCommutes. - intros p; destruct p as [f Hf]. apply subtypePath. + intro a; apply impred; intro u; apply C. + simpl; apply z_iso_inv_on_left; simpl. apply pathsinv0, limArrowUnique; intro u. cbn in *. eapply pathscomp0; [| apply Hf]. eapply pathscomp0. apply (!assoc _ _ _ ). apply (maponpaths (fun f' => compose(C:=C^op) f' f)). apply limArrowCommutes. Defined.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.MoreFoundations.Tactics UniMath.MoreFoundations.Propositions UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.Limits.Graphs.Colimits