Definition functor_comp_enrichment {V : monoidal_cat} {C₁ C₂ C₃ : category} {F₁ : C₁ ⟶ C₂} {F₂ : C₂ ⟶ C₃} {E₁ : enrichment C₁ V} {E₂ : enrichment C₂ V} {E₃ : enrichment C₃ V} (FE₁ : functor_enrichment F₁ E₁ E₂) (FE₂ : functor_enrichment F₂ E₂ E₃) : functor_enrichment (F₁ ∙ F₂) E₁ E₃. Proof. refine ((λ x y, FE₁ x y · FE₂ (F₁ x) (F₁ y)) ,, _). repeat split ; cbn. - abstract (intros x ; rewrite !assoc ; etrans ; [ apply maponpaths_2 ; apply functor_enrichment_id | ] ; apply functor_enrichment_id). - abstract (intros x y z ; rewrite !assoc ; etrans ; [ apply maponpaths_2 ; apply functor_enrichment_comp | ] ; rewrite !assoc' ; etrans ; [ apply maponpaths ; apply functor_enrichment_comp | ] ; rewrite !assoc ; apply maponpaths_2 ; rewrite tensor_comp_mor ; apply idpath). - abstract (intros x y f ; etrans ; [ apply (functor_enrichment_from_arr FE₂) | ] ; etrans ; [ apply maponpaths_2 ; apply (functor_enrichment_from_arr FE₁) | ] ; rewrite !assoc ; apply idpath). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.EnrichedCats.Enrichment. Require Import UniMath.CategoryTheory.Limits.Terminal. Import MonoidalNotations.