Lemma isEqualizerUnderIso_uvp_uniqueness : isaprop (∑ φ : C ⟦ w, a' ⟧, φ · e' = h). Proof. use invproofirrelevance. intros φ₁ φ₂. use subtypePath ; [ intro ; apply homset_property | ]. use (cancel_z_iso _ _ (z_iso_inv i_a)). use (isEqualizerInsEq E). rewrite !assoc'. rewrite ! pd_e. etrans. { apply maponpaths. rewrite ! assoc. do 2 apply maponpaths_2. refine (_ @ idpath (identity _)). apply z_iso_after_z_iso_inv. } rewrite id_left. rewrite assoc. rewrite (pr2 φ₁). etrans. 2: { apply maponpaths. rewrite ! assoc. do 2 apply maponpaths_2. refine (idpath (identity _) @ _). apply pathsinv0, z_iso_after_z_iso_inv. } rewrite id_left. rewrite assoc. apply PartA.maponpaths_2. exact (!(pr2 φ₂)). Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Monics. Require Import UniMath.CategoryTheory.Retracts.