proposition: Lemma equiv_isPushout2 {a b c d : C} (f : C⟦a, b⟧) (g : C⟦a, c⟧) (i1 : C⟦b, d⟧) (i2 : C⟦c, d⟧) (H : f · i1 = g · i2) : Limits.Pushouts.isPushout f g i1 i2 H <- isPushout C f g i1 i2 H.
proof: Proof. intros X R k h HH. set (XR := make_Pushout C f g d i1 i2 H X). use unique_exists. + use (PushoutArrow C XR). - exact k. - exact h. - exact HH. + split. - exact (PushoutArrow_PushoutIn1 C XR R k h HH). - exact (PushoutArrow_PushoutIn2 C XR R k h HH). + intros y; apply isapropdirprod; apply C. + intros y T. use (PushoutArrowUnique C _ _ XR). - exact R. - exact (pr1 T). - exact (pr2 T). Qed.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.MoreFoundations.Tactics UniMath.Combinatorics.StandardFiniteSets UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Limits.Graphs.Limits UniMath.CategoryTheory.Limits.Graphs.Colimits UniMath.CategoryTheory.Limits.Pushouts