proposition: Proposition internal_uncurry_curry (v₁ v₂ v₃ : V) : internal_uncurry v₁ v₂ v₃ · internal_curry v₁ v₂ v₃ = identity _.
proof: Proof. use internal_funext. intros w₁ h₁. rewrite tensor_comp_r_id_r. rewrite !assoc'. unfold internal_curry. rewrite internal_beta. use internal_funext. intros w₂ h₂. rewrite tensor_comp_r_id_r. rewrite !assoc'. rewrite internal_beta. rewrite !assoc. rewrite tensor_lassociator. rewrite tensor_split. rewrite !assoc'. unfold internal_uncurry. rewrite internal_beta. rewrite !assoc. apply maponpaths_2. rewrite <- tensor_lassociator. rewrite !assoc'. etrans. { apply maponpaths. rewrite !assoc. rewrite mon_lassociator_rassociator. apply id_left. } rewrite <- !tensor_comp_mor. rewrite id_right. apply idpath. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors UniMath.CategoryTheory.Monoidal.Categories UniMath.CategoryTheory.Monoidal.Structure.Symmetric