Definition make_isCoproductCocone (a b co : C) (ia : a --> co) (ib : b --> co) : (∏ (c : C) (f : a --> c) (g : b --> c), ∃! k : C ⟦co, c⟧, ia · k = f × ib · k = g) -> isCoproductCocone a b co ia ib. Proof. intros u c fg. refine (iscontrweqf _ (u c (pr1 fg) (pr2 fg))). apply weqfibtototal. intro d. apply weqiff. { split. { intros ee. apply dirprodeq. { simpl. exact (pr1 ee). } { simpl. exact (pr2 ee). } } { intros ee. split. { simpl. exact (maponpaths (HomPair_1 _ _ _) ee). } { simpl. exact (maponpaths (HomPair_2 _ _ _) ee). } } } { apply isapropdirprod; apply (homset_property C). } { apply setproperty. } Defined.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Limits.Graphs.Colimits. Require Import UniMath.CategoryTheory.RepresentableFunctors.Representation.