proposition: Proposition enriched_eso_ff_lift_functor_enrichment_laws : is_functor_enrichment enriched_eso_ff_lift_functor_enrichment_data.
proof: Proof. repeat split. - intros x ; cbn. rewrite !assoc. rewrite functor_enrichment_id. rewrite enriched_id_precomp_arr. rewrite enriched_from_arr_postcomp. rewrite z_iso_inv_after_z_iso. rewrite enriched_from_arr_id. refine (_ @ id_right _). rewrite <- (z_iso_inv_after_z_iso (fully_faithful_enriched_functor_z_iso HG (enriched_eso_ff_lift_ob x) (enriched_eso_ff_lift_ob x))). cbn. rewrite !assoc. apply maponpaths_2. rewrite functor_enrichment_id. apply idpath. - intros x y z ; cbn. rewrite !assoc. rewrite functor_enrichment_comp. rewrite !assoc'. rewrite tensor_comp_mor. rewrite !assoc'. apply maponpaths. rewrite !assoc. rewrite enriched_comp_precomp_arr. rewrite !assoc'. etrans. { apply maponpaths. rewrite !assoc. rewrite enriched_comp_postcomp_arr. apply idpath. } etrans. { rewrite !assoc. rewrite <- tensor_split. rewrite !assoc'. apply idpath. } refine (_ @ id_right _). rewrite <- (z_iso_inv_after_z_iso (fully_faithful_enriched_functor_z_iso HG (enriched_eso_ff_lift_ob x) (enriched_eso_ff_lift_ob z))). rewrite !assoc ; cbn. apply maponpaths_2. rewrite !assoc'. rewrite functor_enrichment_comp. rewrite !assoc. refine (!_). etrans. { apply maponpaths_2. rewrite <- tensor_comp_mor. rewrite !assoc'. rewrite !z_iso_after_z_iso_inv. rewrite !id_right. apply maponpaths_2. rewrite precomp_postcomp_arr. apply idpath. } rewrite tensor_comp_mor. rewrite !assoc'. apply maponpaths. rewrite tensor_split. rewrite !assoc'. rewrite precomp_postcomp_arr_assoc. refine (_ @ id_left _). rewrite !assoc. apply maponpaths_2. rewrite <- tensor_comp_id_l. rewrite <- tensor_id_id. apply maponpaths. rewrite <- postcomp_arr_comp. rewrite <- postcomp_arr_id. apply maponpaths. apply z_iso_after_z_iso_inv. - intros x y f ; cbn. rewrite !assoc. rewrite <- functor_enrichment_from_arr. rewrite enriched_from_arr_precomp. rewrite enriched_from_arr_postcomp. rewrite <- enriched_eso_ff_lift_mor_eq. rewrite (functor_enrichment_from_arr (enriched_functor_enrichment G)). rewrite !assoc'. refine (!(id_right _) @ !_). apply maponpaths. exact (z_iso_inv_after_z_iso (fully_faithful_enriched_functor_z_iso HG (enriched_eso_ff_lift_ob x) (enriched_eso_ff_lift_ob y))). Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Prelude UniMath.CategoryTheory.Subcategory.Core UniMath.CategoryTheory.Subcategory.Full UniMath.CategoryTheory.Monoidal.Categories UniMath.CategoryTheory.EnrichedCats.Enrichment UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor UniMath.CategoryTheory.EnrichedCats.EnrichmentTransformation UniMath.CategoryTheory.EnrichedCats.Examples.ImageEnriched UniMath.Bicategories.Core.Bicat UniMath.Bicategories.Core.Invertible_2cells UniMath.Bicategories.Morphisms.Adjunctions UniMath.Bicategories.DisplayedBicats.Examples.EnrichedCats UniMath.Bicategories.OrthogonalFactorization.Orthogonality UniMath.Bicategories.OrthogonalFactorization.FactorizationSystem