Lemma lax_monoidal_functor_on_postcompose_underlying_morphism {A : enriched_precat Mon_V} (x : A) {y z : A} (f : underlying_morphism y z) : # F (postcompose_underlying_morphism x f) = @postcompose_underlying_morphism _ (change_of_base_enriched_precat _) _ _ _ (mon_functor_unit F · # F f). Proof. unfold postcompose_underlying_morphism. do 2 rewrite (functor_comp F). cbn. rewrite assoc. apply cancel_postcomposition. rewrite <- (functor_id F). rewrite <- (id_left (#F (identity _))). rewrite tensor_comp_mor. rewrite assoc, assoc'. rewrite tensor_mon_functor_tensor. rewrite assoc. apply cancel_postcomposition. change (# F (is_z_isomorphism_mor ?f)) with (is_z_isomorphism_mor (functor_on_is_z_isomorphism F f)). change (is_z_isomorphism_mor ?x) with (inv_from_z_iso (_,,x)). apply pathsinv0. rewrite mon_functor_linvunitor. apply idpath. Qed.
Require Import UniMath.Foundations.PartA. Require Import UniMath.Foundations.Propositions. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Functors. Require Import UniMath.CategoryTheory.EnrichedCats.Enriched.Enriched. Import MonoidalNotations.