Closed monoidal category
In mathematics, especially in category theory, a closed monoidal category (also called a monoidal closed category) is a context where it is possible both to form tensor products of objects and to form 'mapping objects'. A classic example is the category of sets, Set, where the tensor product of sets and is the usual cartesian product , and the mapping object is the set of functions from to . Another example is the category FdVect, consisting of finite-dimensional vector spaces and linear maps. Here the tensor product is the usual tensor product of vector spaces, and the mapping object is the vector space of linear maps from one vector space to another.
The 'mapping object' referred to above is also called the 'internal Hom'. 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.
has a right adjoint, written
that is natural in both A and C. In a different, but common notation, one would say that the functor
has a right adjoint
Equivalently, a closed monoidal category is a category equipped, for every two objects A and B, with
- an object ,
- a morphism ,
satisfying the following universal property: for every morphism
there exists a unique morphism
It can be shown that this construction defines a functor . This functor is called the internal Hom functor, and the object is called the internal Hom of and . Many other notations are in common use for the internal Hom. When the tensor product on is the cartesian product, the usual notation is 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 has a right adjoint. In a left closed monoidal category, we instead demand that the functor of left tensoring with any object
have a right adjoint
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 naturally isomorphic to , 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.
- The monoidal category Set of sets and functions, with cartesian product as the tensor product, is a closed monoidal category. Here, the internal hom is the set of functions from to . In computer science, the bijection between tensoring and the internal hom is known as currying, particularly in functional programming languages. Indeed, some languages, such as Haskell and Caml, explicitly use an arrow notation to denote a function. This example is a Cartesian closed category.
- More generally, every Cartesian closed category is a symmetric monoidal closed category, when the monoidal structure is the cartesian product structure. Here the internal hom is usually written as the exponential object .
- The monoidal category FdVect of finite-dimensional vector spaces and linear maps, with its usual tensor product, is a closed monoidal category. Here is the vector space of linear maps from to . This example is a compact closed category.
- More generally, every compact closed category is a symmetric monoidal closed category, in which the internal Hom functor is given by .