Lemma PairingWithObjectCommutesLeft {C D : category} (H : functor C D) (I : C) : nat_z_iso (H ∙ pair_with_object_left (H I)) (pair_with_object_left I ∙ (pair_functor H H)). Proof. use make_nat_z_iso. - exists (λ _, identity (H I, H _)). abstract ( intro ; intros ; refine (id_right (identity (H I) #, # H f) @ _) ; refine (_ @ ! id_left (# H (identity I) #, # H f)) ; apply maponpaths_2 ; apply (! functor_id H _)). - intro. exists (identity _). abstract (split ; apply (id_right (identity (H I, H _)))). Defined.
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.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.opp_precat.