proposition: Lemma isColim_weq {C : category} {g : graph} (D : diagram g C) (c : C) (cc : cocone D c) : isColimCocone D c cc <-> ∏ d, isweq (Cocone_by_postcompose D c cc d).
proof: Proof. split. - intros H d. use isweq_iso. + intros k. exact (colimArrow (make_ColimCocone D c cc H) _ k). + abstract (intro k; simpl; now apply pathsinv0, (colimArrowEta (make_ColimCocone D c cc H))). + abstract (simpl; intro k; apply subtypePath; [ intro; now repeat (apply impred; intro); apply C | destruct k as [k Hk]; simpl; apply funextsec; intro u; now apply (colimArrowCommutes (make_ColimCocone D c cc H))]). - intros H d cd. use tpair. + exists (invmap (make_weq _ (H d)) cd). abstract (intro u; now apply isColim_weq_subproof2). + abstract (intro t; apply subtypePath; [ intro; now apply impred; intro; apply C | destruct t as [t Ht]; simpl; apply (invmaponpathsweq (make_weq _ (H d))); simpl; apply subtypePath; [ intro; now repeat (apply impred; intro); apply C | simpl; apply pathsinv0, funextsec; intro u; rewrite Ht; now apply isColim_weq_subproof2]]). 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.FunctorCategory UniMath.CategoryTheory.Adjunctions.Core