Proposition enriched_whiskered_weq_curried_bifunctor_right (F : enriched_curried_bifunctor E₁ E₂ E₃) : enriched_whiskered_bifunctor_to_curried (enriched_curried_bifunctor_whiskered F) = F. Proof. use subtypePath. { intro. apply isaprop_enriched_curried_bifunctor_laws. } refine (maponpaths (λ z, pr11 F ,, z) _). use funextsec ; intro x₁. use funextsec ; intro x₂. use funextsec ; intro y₁. use funextsec ; intro y₂. cbn. rewrite tensor_comp_mor. rewrite !assoc'. rewrite <- enriched_curried_bifunctor_comp. rewrite !assoc. refine (_ @ id_left _). apply maponpaths_2. rewrite tensor_comp_mor. rewrite !assoc'. etrans. { apply maponpaths. rewrite !assoc. rewrite <- naturality_inner_swap. rewrite !assoc'. rewrite <- tensor_comp_mor. rewrite <- enrichment_id_left. rewrite <- enrichment_id_right. apply idpath. } rewrite inner_swap_along_unit. rewrite id_left. rewrite <- tensor_comp_mor. rewrite mon_rinvunitor_runitor. rewrite mon_linvunitor_lunitor. apply tensor_id_id. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.EnrichedCats.Enrichment. Require Import UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor. Require Import UniMath.CategoryTheory.EnrichedCats.Enriched.Enriched. Require Import UniMath.CategoryTheory.EnrichedCats.Enriched.EnrichmentEquiv. Require Import UniMath.CategoryTheory.EnrichedCats.Examples.Tensor. Require Import UniMath.CategoryTheory.EnrichedCats.Bifunctors.CurriedBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Require Import UniMath.CategoryTheory.Monoidal.Structure.SymmetricDiagonal. Import MonoidalNotations. Section FromWhiskeredBifunctor. End FromWhiskeredBifunctor.