Definition functor_to_monoidfun {CC1 CC2 : contr_cat} (funct : functor CC1 CC2) : monoidfun (invmap monoid_weq_contr_category CC1) (invmap monoid_weq_contr_category CC2). Proof. use monoidfunconstr. - cbn in *. intros endo. apply (contr_cat_hom_weq (funct (iscontrpr1 (pr2 CC1))) (funct (iscontrpr1 (pr2 CC1)))). exact (# funct endo). - use make_ismonoidfun. + intros a b; cbn. abstract (rewrite functor_comp; rewrite <- transport_compose; reflexivity). + abstract (cbn; rewrite functor_id_id; [|reflexivity]; rewrite transport_identity; reflexivity). Defined.
Require Import UniMath.Foundations.Preamble. Require Import UniMath.MoreFoundations.PartA. Require Import UniMath.Algebra.Groups. Require Import UniMath.Algebra.RigsAndRings. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.catiso. Require Import UniMath.CategoryTheory.Additive. Require Import UniMath.CategoryTheory.CategoriesWithBinOps. Require Import UniMath.CategoryTheory.PreAdditive. Require Import UniMath.CategoryTheory.PrecategoriesWithAbgrops. Require Import UniMath.CategoryTheory.Categories.HSET.Core.