Proposition internal_pair_natural {x₁ x₂ : V} (y : V) (f : x₁ --> x₂) : f · internal_pair x₂ y = internal_pair x₁ y · internal_lam (internal_eval _ _ · f #⊗ identity _). Proof. use internal_funext. intros w h. rewrite !tensor_comp_r_id_r. rewrite !assoc'. unfold internal_pair. rewrite !internal_beta. rewrite !assoc. rewrite id_right. refine (!_). etrans. { apply maponpaths_2. rewrite tensor_split. rewrite !assoc'. rewrite internal_beta. apply id_right. } rewrite <- tensor_split. apply idpath. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Import MonoidalNotations.