proposition: Proposition copow_adjunction_counit_enrichment : nat_trans_enrichment copow_adjunction_counit_data (functor_comp_enrichment hom_l_functor_enrichment copow_functor_enrichment) (functor_id_enrichment EC).
proof: Proof. use nat_trans_enrichment_via_comp. unfold copow_adjunction_counit_data. intros x y ; cbn. rewrite id_left. use mor_to_copower_eq. { exact (pr2 (copowC _ r)). } use internal_funext. intros a h. rewrite tensor_split. rewrite !assoc'. etrans. { apply maponpaths. apply precomp_copow_on_enriched_mor_commute. } refine (!_). rewrite tensor_split. rewrite !assoc'. apply maponpaths. refine (_ @ internal_beta _). rewrite !tensor_comp_id_r. rewrite !assoc'. apply maponpaths. refine (_ @ id_right _). refine (!_). rewrite <- mon_linvunitor_lunitor. rewrite <- (copow_on_enriched_mor_commute copowC). rewrite !tensor_comp_id_r. rewrite !assoc'. unfold is_copower_enriched_map. rewrite !internal_beta. refine (!_). etrans. { apply maponpaths. rewrite !assoc. rewrite <- tensor_split'. rewrite tensor_split. rewrite !assoc'. rewrite <- enriched_comp_postcomp_arr. apply idpath. } unfold postcomp_arr. rewrite !assoc. rewrite !tensor_linvunitor. rewrite !assoc'. apply maponpaths. rewrite !assoc. apply maponpaths_2. rewrite <- !tensor_comp_r_id_r. rewrite !id_left. etrans. { rewrite tensor_split'. rewrite !assoc'. apply idpath. } refine (!_). etrans. { rewrite tensor_split'. rewrite !assoc'. apply idpath. } apply maponpaths. rewrite !assoc. rewrite <- !tensor_comp_id_l. apply maponpaths. refine (!(copow_enriched_mor_commute _ _ _ _) @ _). rewrite !tensor_comp_r_id_r. rewrite !assoc'. apply maponpaths. unfold is_copower_enriched_map. rewrite internal_beta. 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