The catgory of endofunctors is monoidal with regards to functor composition, that is, there is a bifunctor where the map on objects if given by the composition of the two endofunctors given in arguments, and the map on morphisms is given by the whiskering of natural transformations in . This bifunctor in turns is associative and respects the identity laws needed to ensure is monoidal.

Proposition

Given a category and the category of endofunctors on , there is a bifunctor that composes endofunctors.

  monMultCompose :
    Bifunctor (EndoCat c) (EndoCat c) (EndoCat c)
  monMultCompose = MkFunctor
      { mapObj = (uncurry (⨾⨾))
      , mapHom = (\m1, m2, m3 => m3.π1 -⨾- m3.π2)
      , presId = presIdComp
      , presComp = presCompComp
      }

Using this bifunctor, we prove that the category of endofunctors is monoidal.

Proposition

Given a category and the category of endofunctors over , then is monoidal wrt .

  EndoMonoidal : Monoidal (FunctorCat c c)
  EndoMonoidal = MkMonoidal
    { mult = monMultCompose
    , i = idF c
    , alpha = alpha
    , leftUnitor = leftUnitor
    , rightUnitor = rightUnitor
    }