Definition forgetful_functor_from_ptd_as_strong_monoidal_functor : strong_monoidal_functor monoidal_cat_of_pointedfunctors (monoidal_cat_of_endofunctors C). Proof. use tpair. - apply (make_lax_monoidal_functor monoidal_cat_of_pointedfunctors (monoidal_cat_of_endofunctors C) (functor_ptd_forget C) (nat_trans_id _) (nat_trans_id _)). + abstract ( intros PF1 PF2 PF3; apply nat_trans_eq_alt; intro c; cbn; do 2 rewrite functor_id; repeat rewrite id_right; apply functor_id ). + abstract ( intro PF; split; apply nat_trans_eq_alt; intro c; cbn; do 3 rewrite id_right; [ apply pathsinv0, functor_id | apply idpath ] ). - split; [ apply (nat_trafo_z_iso_if_pointwise_z_iso C); apply is_nat_z_iso_nat_trans_id | apply (is_nat_z_iso_nat_trans_id ((functor_composite (PrecategoryBinProduct.pair_functor (functor_ptd_forget C) (functor_ptd_forget C)) (functorial_composition _ _ _))))]. Defined.
Require Import UniMath.Foundations.PartD. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.UnitorsAndAssociatorsForEndofunctors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.HorizontalComposition. Require Import UniMath.CategoryTheory.PointedFunctors. Require Import UniMath.CategoryTheory.PointedFunctorsComposition. Require Import UniMath.CategoryTheory.Monoidal.AlternativeDefinitions.MonoidalCategoriesTensored. Require Import UniMath.CategoryTheory.Monoidal.AlternativeDefinitions.MonoidalFunctorsTensored. Require Import UniMath.Bicategories.MonoidalCategories.EndofunctorsMonoidal.