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. 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.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.TransportMorphisms. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Limits.Initial. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Require Import UniMath.CategoryTheory.Limits.Coequalizers. Require Import UniMath.CategoryTheory.Epis. Require Import UniMath.CategoryTheory.Core.Functors.