proposition: Lemma PushoutArrowUnique {a b c d : C} (f : a --> b) (g : a --> c) (in1 : b --> d) (in2 : c --> d) (H : f · in1 = g · in2) (P : isPushout f g in1 in2 H) e (h : b --> e) (k : c --> e) (Hcomm : f · h = g · k) (w : d --> e) (H1 : in1 · w = h) (H2 : in2 · w = k) : w = (pr1 (pr1 (P e h k Hcomm))).
proof: Proof. set (T := tpair (fun hk : d --> e => dirprod (in1 · hk = h)(in2 · hk = k)) w (make_dirprod H1 H2)). set (T' := pr2 (P e h k Hcomm) T). exact (base_paths _ _ T'). Qed.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.MoreFoundations.Tactics UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.TransportMorphisms UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Limits.Initial UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.Limits.Coequalizers UniMath.CategoryTheory.Epis UniMath.CategoryTheory.Core.Functors