proposition: Proposition exp_beta {x y z : C} (f : prodC y x --> z) : BinProductOfArrows _ _ _ (identity _) (exp_lam f) · exp_eval _ _ = f.
proof: Proof. unfold exp_lam. rewrite <- BinProductOfArrows_idxcomp. rewrite !assoc'. etrans. { apply maponpaths. exact (nat_trans_ax (counit_from_are_adjoints (pr2 (expC y))) _ _ f). } cbn. rewrite !assoc. refine (_ @ id_left _). apply maponpaths_2. apply (triangle_id_left_ad (pr2 (expC y))). Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.PrecategoryBinProduct UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Equivalences.Core UniMath.CategoryTheory.Limits.Preservation UniMath.CategoryTheory.catiso UniMath.CategoryTheory.CategoryEquality UniMath.CategoryTheory.Core.Univalence