Lemma PullbackArrowUnique' {a b c d : C} (f : C⟦b, a⟧) (g : C⟦c, a⟧) (p1 : C⟦d, b⟧) (p2 : C⟦d, c⟧) (H : p1 · f = p2 · g) (P : isPullback f g p1 p2 H) (e : C) (h : C⟦e, b⟧) (k : C⟦e, c⟧) (Hcomm : h · f = k · g) (w : C⟦e, d⟧) (H1 : w · p1 = h) (H2 : w · p2 = k) : w = (pr1 (pr1 (P e (PullbCone f g _ h k Hcomm)))). Proof. apply path_to_ctr. use three_rec_dep; try assumption; simpl. change (three_rec_dep (λ n, C⟦d,_⟧) _ _ _ _) with (p1 · f). change (three_rec_dep (λ n, C⟦e,_⟧) _ _ _ _) with (h · f). now rewrite <- H1, assoc. Qed.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.Combinatorics.StandardFiniteSets. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Limits.Graphs.Limits. Require Import UniMath.CategoryTheory.Limits.Graphs.Colimits.