In mathematics, specifically in the field known as category theory, a monoidal category where the monoidal ("tensor") product is the categorical product is called a cartesian monoidal category. Any category with finite products (a "finite product category") can be thought of as a cartesian monoidal category. In any cartesian monoidal category, the terminal object is the monoidal unit. Dually, a monoidal finite coproduct category with the monoidal structure given by the coproduct and unit the initial object is called a cocartesian monoidal category, and any finite coproduct category can be thought of as a cocartesian monoidal category.
Cartesian categories with an internal Hom functor that is an adjoint functor to the product are called Cartesian closed categories.
Cartesian monoidal categories have a number of special and important properties, such as the existence of diagonal maps Δx : x → x ⊗ x and augmentations ex : x → I 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.
Cartesian monoidal categories:
Cocartesian monoidal categories:
In each of these categories of modules equipped with a cocartesian monoidal structure, finite products and coproducts coincide (in the sense that the product and coproduct of finitely many objects are isomorphic). Or more formally, if f : X1 ∐ ... ∐ Xn → X1 × ... × Xn is the "canonical" map from the n-ary coproduct of objects Xj to their product, for a natural number n, in the event that the map f is an isomorphism, we say that a biproduct for the objects Xj is an object
X=oplusj
\coprodj\in
\prodj\in