Cartesian monoidal category

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.
Properties.
Cartesian monoidal categories have a number of special and important properties, such as the existence of diagonal maps Δ"x" : "x" → "x" ⊗ "x" and augmentations "e""x" : "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.
Examples.
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" : "X"1 ∐ ... ∐ "X""n" → "X"1 × ... × "X""n" is the "canonical" map from the "n"-ary coproduct of objects "X""j" 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 "X""j" is an object formula_1 isomorphic to formula_2 and formula_3 together with maps "i""j" : "X""j" → "X" and "p""j" : "X" →  "X""j" such that the pair ("X", {"i""j"}) is a coproduct diagram for the objects "X""j" and the pair ("X", {"p""j"}) is a product diagram for the objects "X""j" , and where "p""j" ∘ "i""j" = id"X""j". If, in addition, the category in question has a zero object, so that for any objects "A" and "B" there is a unique map 0"A","B" : "A" → 0 → "B", it often follows that "p""k" ∘ "i""j" = : "δ""ij", the Kronecker delta, where we interpret 0 and 1 as the 0 maps and identity maps of the objects "X""j" and "X""k", respectively. See pre-additive category for more.