Proposition internal_eta {x y z : V} (f : z --> x ⊸ y) : f = internal_lam (f #⊗ identity _ · internal_eval x y). Proof. unfold internal_lam. unfold internal_eval. refine (!_). rewrite functor_comp. rewrite !assoc. etrans. { apply maponpaths_2. pose (nat_trans_ax (unit_from_are_adjoints (pr2 (pr2 V x))) _ _ f) as p. cbn in p. refine (_ @ !p). do 2 apply maponpaths. unfold rightwhiskering_on_morphisms. unfold monoidal_cat_tensor_mor. unfold functoronmorphisms1. refine (_ @ id_right _). apply maponpaths. apply (bifunctor_leftid V). } refine (_ @ id_right _). rewrite !assoc'. apply maponpaths. exact (triangle_id_right_ad (pr2 (pr2 V x)) _). 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.