# Closed monoidal category

In mathematics, especially in category theory, a closed monoidal category (or a monoidal closed category) is a category that is both a monoidal category and a closed category in such a way that the structures are compatible.
A classic example is the category of sets, Set, where the monoidal product of sets $A$ and $B$ is the usual cartesian product $A\times B$, and the internal Hom $B^{A}$ is the set of functions from $A$ to $B$. A non-cartesian example is the category of vector spaces, K-Vect, over a field $K$. Here the monoidal product is the usual tensor product of vector spaces, and the internal Hom is the vector space of linear maps from one vector space to another.
The internal language of closed symmetric monoidal categories is linear logic and the type system is the linear type system. Many examples of closed monoidal categories are symmetric. However, this need not always be the case, as non-symmetric monoidal categories can be encountered in category-theoretic formulations of linguistics; roughly speaking, this is because word-order in natural language matters.

## Definition

A closed monoidal category is a monoidal category ${\mathcal {C}}$ such that for every object $B$ the functor given by right tensoring with $B$
    $A\mapsto A\otimes B$
has a right adjoint, written
    $A\mapsto (B\Rightarrow A).$
This means that there exists a bijection, called 'currying', between the Hom-sets
    ${\text{Hom}}_{\mathcal {C}}(A\otimes B,C)\cong {\text{Hom}}_{\mathcal {C}}(A,B\Rightarrow C)$
that is natural in both A and C. In a different, but common notation, one would say that the functor
    $-\otimes B:{\mathcal {C}}\to {\mathcal {C}}$
has a right adjoint
    $[B,-]:{\mathcal {C}}\to {\mathcal {C}}$
Equivalently, a closed monoidal category ${\mathcal {C}}$ is a category equipped, for every two objects A and B, with
* an object $A\Rightarrow B$,
* a morphism $\mathrm {eval} _{A,B}:(A\Rightarrow B)\otimes A\to B$,
satisfying the following universal property: for every morphism
    $f:X\otimes A\to B$
there exists a unique morphism
    $h:X\to A\Rightarrow B$
such that
    $f=\mathrm {eval} _{A,B}\circ (h\otimes \mathrm {id} _{A}).$
It can be shown that this construction defines a functor $\Rightarrow :{\mathcal {C}}^{op}\times {\mathcal {C}}\to {\mathcal {C}}$. This functor is called the internal Hom functor, and the object $A\Rightarrow B$ is called the internal Hom of $A$ and $B$. Many other notations are in common use for the internal Hom. When the tensor product on ${\mathcal {C}}$ is the cartesian product, the usual notation is $B^{A}$ and this object is called the exponential object.

## Biclosed and symmetric categories

Strictly speaking, we have defined a right closed monoidal category, since we required that right tensoring with any object $A$ has a right adjoint. In a left closed monoidal category, we instead demand that the functor of left tensoring with any object $A$
    $B\mapsto A\otimes B$
have a right adjoint
    $B\mapsto (B\Leftarrow A)$
A biclosed monoidal category is a monoidal category that is both left and right closed.
A symmetric monoidal category is left closed if and only if it is right closed. Thus we may safely speak of a 'symmetric monoidal closed category' without specifying whether it is left or right closed. In fact, the same is true more generally for braided monoidal categories: since the braiding makes $A\otimes B$ naturally isomorphic to $B\otimes A$, the distinction between tensoring on the left and tensoring on the right becomes immaterial, so every right closed braided monoidal category becomes left closed in a canonical way, and vice versa.
We have described closed monoidal categories as monoidal categories with an extra property. One can equivalently define a closed monoidal category to be a closed category with an extra property. Namely, we can demand the existence of a tensor product that is left adjoint to the internal Hom functor. In this approach, closed monoidal categories are also called monoidal closed categories.

## Examples

* Every cartesian closed category is a symmetric, monoidal closed category, when the monoidal structure is the cartesian product structure. The internal Hom functor is given by the exponential object $B^{A}$.
** In particular, the category of sets, Set, is a symmetric, closed monoidal category. Here the internal Hom $A\Rightarrow B$ is just the set of functions from $A$ to $B$.
* The category of modules, R-Mod over a commutative ring R is a non-cartesian, symmetric, monoidal closed category. The monoidal product is given by the tensor product of modules and the internal Hom $M\Rightarrow N$ is given by the space of R-linear maps $\operatorname {Hom} _{R}(M,N)$ with its natural R-module structure.
** In particular, the category of vector spaces over a field $K$ is a symmetric, closed monoidal category.
** Abelian groups can be regarded as Z-modules, so the category of abelian groups is also a symmetric, closed monoidal category.
* A symmetric compact closed category is a symmetric monoidal closed category in which the internal Hom functor $A\Rightarrow B$ is given by $A^{*}\otimes B$. The canonical example is the category of finite-dimensional vector spaces, FdVect.

### Counterexamples

* The category of rings is a symmetric, monoidal category under the tensor product of rings, with $\mathbb {Z}$ serving as the unit object. This category is not closed. If it were, there would be exactly one homomorphism between any pair of rings: $\operatorname {Hom} (R,S)\cong \operatorname {Hom} (\mathbb {Z} \otimes R,S)\cong \operatorname {Hom} (\mathbb {Z} ,R\Rightarrow S)\cong \{\bullet \}$. The same holds for the category of R-algebras over a commutative ring R.