nLab
cartesian monoidal category

A cartesian monoidal category is a monoidal category whose monoidal structure is given by the category-theoretic product (and so whose unit is a terminal object). Any category with finite products can be considered as a cartesian monoidal category (as long as we have either (1) a specified product for each pair of objects, (2) a global axiom of choice, or (3) we allow the monoidal product to be an anafunctor). Note that the term cartesian category usually means a category with finite products but can also mean a finitely complete category.

Cartesian monoidal categories have a number of special and important properties, such as the existence of diagonal maps Δ x:xxx and augmentations e x:xI for any object x. In applications to computer science we can think of Δ as ‘duplicating data’ and e as ‘deleting’ data. These maps make any object into a comonoid. In fact, any object in a cartesian monoidal category becomes a comonoid in a unique way.

Moreover, one can show that any monoidal category equipped with suitably well-behaved diagonals and augmentations must in fact be cartesian monoidal. More precisely: suppose C is a monoidal category equipped with monoidal natural transformations

Δ x:xxx\Delta_x : x \to x \otimes x

and

e x:xIe_x : x \to I

such that the following composites are identity morphisms:

xΔ xxxe x1Ix xxx \stackrel{\Delta_x}{\longrightarrow} x \otimes x \stackrel{e_x \otimes 1}{\longrightarrow} I \otimes x \stackrel{\ell_x}{\longrightarrow} x
xΔ xxx1e xxIr xxx \stackrel{\Delta_x}{\longrightarrow} x \otimes x \stackrel{1 \otimes e_x}{\longrightarrow} x \otimes I \stackrel{r_x}{\longrightarrow} x

where r, are the right and left unitors. Then C is cartesian.

Heuristically: a monoidal category is cartesian if we can duplicate and delete data, and ‘duplicating a piece of data and then deleting one copy is the same as not doing anything’.

A related theorem describes cartesian monoidal categories as monoidal categories satisfying two properties involving the unit object. First, we say a monoidal category C is semicartesian if the unit for the tensor product is terminal. If this is true, any tensor product of objects xy comes equipped with morphisms

p x:xyxp_x : x \otimes y \to x
p y:xyyp_y : x \otimes y \to y

given by

xy1e yxIr xxx \otimes y \stackrel{1 \otimes e_y}{\longrightarrow} x \otimes I \stackrel{r_x}{\longrightarrow} x

and

xye x1Iy yyx \otimes y \stackrel{e_x \otimes 1}{\longrightarrow} I \otimes y \stackrel{\ell_y}{\longrightarrow} y

respectively, where e stands for the unique morphism to the terminal object and r, are the right and left unitors. We can thus ask whether p x and p y make xy into the product of x and y. If so, it is a theorem that C is a cartesian monoidal category. (This theorem is probably in Eilenberg and Kelly’s paper on closed categories, but they may not have been the first to note it.)

A cartesian monoidal category which is also closed is called a cartesian closed category.