In category theory, monoidal functors are functors between monoidal categories which preserve the monoidal structure. More specifically, a monoidal functor between two monoidal categories consists of a functor between the categories, along with two coherence maps—a natural transformation and a morphism that preserve monoidal multiplication and unit, respectively. Mathematicians require these coherence maps to satisfy additional properties depending on how strictly they want to preserve the monoidal structure; each of these properties gives rise to a slightly different definition of monoidal functors
- The coherence maps of lax monoidal functors satisfy no additional properties; they are not necessarily invertible.
- The coherence maps of strong monoidal functors are invertible.
- The coherence maps of strict monoidal functors are identity maps.
Although we distinguish between these different definitions here, authors may call any one of these simply monoidal functors.
Let and be monoidal categories. A lax monoidal functor from to (which may also just be called a monoidal functor) consists of a functor together with a natural transformation
from functors to and a morphism
called the coherence maps or structure morphisms, which are such that for every three objects , and of the diagrams
commute in the category . Above, the various natural transformations denoted using are parts of the monoidal structure on and .
- The dual of a monoidal functor is a comonoidal functor; it is a monoidal functor whose coherence maps are reversed. Comonoidal functors may also be called opmonoidal, colax monoidal, or oplax monoidal functors.
- A strong monoidal functor is a monoidal functor whose coherence maps are invertible.
- A strict monoidal functor is a monoidal functor whose coherence maps are identities.
- A braided monoidal functor is a monoidal functor between braided monoidal categories (with braidings denoted ) such that the following diagram commutes for every pair of objects A, B in :
If and are closed monoidal categories with internal hom-functors (we drop the subscripts for readability), there is an alternative formulation
- ψAB : F(A ⇒ B) → FA ⇒ FB
of φAB commonly used in functional programming. The relation between ψAB and φAB is illustrated in the following commutative diagrams:
Monoidal functors and adjunctions
Suppose that a functor is left adjoint to a monoidal . Then has a comonoidal structure induced by , defined by
If the induced structure on is strong, then the unit and counit of the adjunction are monoidal natural transformations, and the adjunction is said to be a monoidal adjunction; conversely, the left adjoint of a monoidal adjunction is always a strong monoidal functor.
Similarly, a right adjoint to a comonoidal functor is monoidal, and the right adjoint of a comonoidal adjunction is a strong monoidal functor.