Lemma uncurry_after_curry (F: (C × D) ⟶ E): uncurry_functor (curry_functor F) = F. Proof. apply functor_eq. { exact E. } use functor_data_eq. - intro cd; apply idpath. - cbn. intros cd cd' ff'. induction cd as [c d]. induction cd' as [c' d']. induction ff' as [f f']. cbn in *. unfold functor_fix_snd_arg_mor, nat_trans_from_functor_fix_snd_morphism_arg_data. etrans. { apply pathsinv0. apply functor_comp. } unfold compose. cbn. rewrite id_left, id_right. 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.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.opp_precat.