proposition: Proposition hom_l_functor_enrichment_laws : @is_functor_enrichment V C VC hom_l_functor EC (self_enrichment V) (λ x y, internal_lam (enriched_comp EC r x y)).
proof: Proof. repeat split. - intro x ; cbn. use internal_funext. intros a h. rewrite !tensor_comp_r_id_r. rewrite !assoc'. rewrite internal_beta. refine (!_). unfold internal_id. rewrite tensor_split. rewrite !assoc'. rewrite internal_beta. rewrite enrichment_id_left. rewrite !assoc. rewrite <- tensor_split. apply idpath. - intros x y z ; cbn. use internal_funext. intros a h. rewrite !tensor_comp_r_id_r. rewrite !assoc'. unfold internal_comp. rewrite !internal_beta. refine (!_). rewrite !assoc. rewrite tensor_lassociator. rewrite !assoc'. etrans. { apply maponpaths. rewrite !assoc. rewrite <- tensor_comp_mor. rewrite id_right. etrans. { apply maponpaths_2. apply maponpaths. rewrite tensor_split. rewrite !assoc'. rewrite internal_beta. apply idpath. } rewrite tensor_comp_l_id_l. rewrite !assoc'. apply maponpaths. rewrite tensor_split. rewrite !assoc'. rewrite internal_beta. apply idpath. } rewrite !assoc. rewrite <- tensor_lassociator. refine (!_). rewrite tensor_split. rewrite !assoc'. rewrite tensor_id_id. apply maponpaths. rewrite enrichment_assoc. rewrite !assoc. apply idpath. - intros x y f ; cbn. use internal_funext. intros a h. rewrite !tensor_comp_r_id_r. rewrite tensor_split. rewrite !assoc'. unfold internal_from_arr. rewrite !internal_beta. unfold postcomp_arr. rewrite !assoc. apply maponpaths_2. rewrite !assoc'. etrans. { apply maponpaths. rewrite !assoc. rewrite mon_lunitor_linvunitor. apply id_left. } rewrite <- tensor_split. apply idpath. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.exponentials UniMath.CategoryTheory.opp_precat UniMath.CategoryTheory.OppositeCategory.Core UniMath.CategoryTheory.Monoidal.Categories UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors UniMath.CategoryTheory.Monoidal.Structure.Cartesian UniMath.CategoryTheory.Monoidal.Structure.Symmetric UniMath.CategoryTheory.Monoidal.Structure.Closed UniMath.CategoryTheory.Monoidal.Examples.CartesianMonoidal UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Limits.Initial UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.EnrichedCats.Enrichment UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor UniMath.CategoryTheory.EnrichedCats.EnrichmentTransformation UniMath.CategoryTheory.EnrichedCats.EnrichmentAdjunction UniMath.CategoryTheory.EnrichedCats.Examples.SelfEnriched UniMath.CategoryTheory.EnrichedCats.Examples.OppositeEnriched UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedTerminal UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedBinaryProducts UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedPowers UniMath.CategoryTheory.EnrichedCats.Limits.Examples.SelfEnrichedLimits UniMath.CategoryTheory.EnrichedCats.Limits.Examples.OppositeEnrichedLimits UniMath.CategoryTheory.EnrichedCats.Colimits.EnrichedInitial UniMath.CategoryTheory.EnrichedCats.Colimits.EnrichedBinaryCoproducts UniMath.CategoryTheory.EnrichedCats.Colimits.EnrichedCopowers UniMath.CategoryTheory.EnrichedCats.Colimits.CopowerFunctor UniMath.CategoryTheory.EnrichedCats.Colimits.Examples.SelfEnrichedColimits UniMath.CategoryTheory.EnrichedCats.Colimits.Examples.OppositeEnrichedColimits UniMath.Semantics.EnrichedEffectCalculus.EECModel