proposition: Proposition enriched_rezk_completion_ump_full_nat_trans_laws : is_nat_trans G₁ G₂ enriched_rezk_completion_ump_full_nat_trans_data.
proof: Proof. intros x y f ; cbn. assert (H := HF₁ x). revert H. use factor_through_squash ; [ apply homset_property | ]. intros wx. induction wx as [ wx ix ]. assert (H := HF₁ y). revert H. use factor_through_squash ; [ apply homset_property | ]. intros wy. induction wy as [ wy iy ]. rewrite (enriched_rezk_completion_ump_full_nat_trans_eq_alt x wx ix). rewrite (enriched_rezk_completion_ump_full_nat_trans_eq_alt y wy iy). rewrite !assoc. rewrite <- functor_comp. etrans. { do 2 apply maponpaths_2. apply maponpaths. refine (!(id_left _) @ _). rewrite <- (z_iso_after_z_iso_inv ix). apply idpath. } rewrite !assoc'. rewrite functor_comp. rewrite !assoc'. apply maponpaths. pose (j := invmap (make_weq _ (F_fully_faithful _ _)) (ix · (f · inv_from_z_iso iy))). assert (ix · (f · inv_from_z_iso iy) = #F j) as p. { refine (!_). apply (homotweqinvweq (make_weq _ (F_fully_faithful _ _))). } rewrite p. rewrite !assoc. etrans. { apply maponpaths_2. exact (nat_trans_ax τ _ _ j). } cbn. rewrite !assoc'. apply maponpaths. rewrite <- !functor_comp. apply maponpaths. rewrite <- p. rewrite !assoc'. apply maponpaths. rewrite z_iso_after_z_iso_inv. apply id_right. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Prelude UniMath.CategoryTheory.EnrichedCats.Enrichment UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor UniMath.CategoryTheory.EnrichedCats.EnrichmentTransformation UniMath.CategoryTheory.EnrichedCats.FullyFaithful UniMath.CategoryTheory.EnrichedCats.Examples.FunctorCategory UniMath.CategoryTheory.EnrichedCats.Examples.Precomposition UniMath.CategoryTheory.Monoidal.Categories