Proposition enriched_rezk_completion_ump_functor_mor_isaprop {v₁ v₂ : C₁} (j₁ : z_iso (F v₁) x₁) (j₂ : z_iso (F v₂) x₂) : isaprop (∑ (g : enriched_rezk_completion_ump_functor_ob x₁ --> enriched_rezk_completion_ump_functor_ob x₂), ∏ (w₁ w₂ : C₁) (h : w₁ --> w₂) (i₁ : z_iso (F w₁) x₁) (i₂ : z_iso (F w₂) x₂) (p : #F h · i₂ = i₁ · f), enriched_rezk_completion_ump_functor_iso x₁ i₁ · g = #G h · enriched_rezk_completion_ump_functor_iso x₂ i₂). Proof. pose (k := invmap (make_weq _ (F_fully_faithful _ _)) (j₁ · f · inv_from_z_iso j₂)). assert (q : # F k · j₂ = j₁ · f). { unfold k. etrans. { apply maponpaths_2. apply (homotweqinvweq (make_weq _ (F_fully_faithful _ _))). } rewrite !assoc'. rewrite z_iso_after_z_iso_inv. rewrite id_right. apply idpath. } use invproofirrelevance. intros φ₁ φ₂. use subtypePath. { intro. repeat (use impred ; intro). apply homset_property. } use (cancel_z_iso' (enriched_rezk_completion_ump_functor_iso x₁ j₁)). exact (pr2 φ₁ v₁ v₂ k j₁ j₂ q @ !(pr2 φ₂ v₁ v₂ k j₁ j₂ q)). Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Equivalences.Core. Require Import UniMath.CategoryTheory.EnrichedCats.Enrichment. Require Import UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor. Require Import UniMath.CategoryTheory.EnrichedCats.EnrichmentTransformation. Require Import UniMath.CategoryTheory.EnrichedCats.FullyFaithful. Require Import UniMath.CategoryTheory.EnrichedCats.Examples.FunctorCategory. Require Import UniMath.CategoryTheory.EnrichedCats.Examples.Precomposition. Require Import UniMath.CategoryTheory.Monoidal.Categories.