In category theory, the **product** of two (or more) objects in a category is a notion designed to capture the essence behind constructions in other areas of mathematics such as the Cartesian product of sets, the direct product of groups or rings, and the product of topological spaces. Essentially, the product of a family of objects is the "most general" object which admits a morphism to each of the given objects.

## Definition

### Product of two objects

Fix a category **C**. Let *X*_{1} and *X*_{2} be objects of **C**. A product of *X*_{1} and *X*_{2} is an object *X*, typically denoted *X*_{1} × *X*_{2}, equipped with a pair of morphisms *π*_{1} : *X* → *X*_{1}, *π*_{2} : *X* → *X*_{2} satisfying the following universal property:

- For every object
*Y*and every pair of morphisms*f*_{1}:*Y*→*X*_{1},*f*_{2}:*Y*→*X*_{2}, there exists a unique morphism*f*:*Y*→*X*_{1}×*X*_{2}such that the following diagram commutes:

Whether a product exists may depend on **C** or on *X*_{1} and *X*_{2}. If it does exist, it is unique up to canonical isomorphism, because of the universal property, so one may speak of *the* product.

The morphisms *π*_{1} and *π*_{2} are called the **canonical projections** or **projection morphisms**. Given *Y* and *f*_{1}, *f*_{2}, the unique morphism *f* is called the **product of morphisms** *f*_{1} and *f*_{2} and is denoted ⟨*f*_{1}, *f*_{2}⟩.

### Product of an arbitrary family

Instead of two objects, we can start with an arbitrary family of objects indexed by a set *I*.

Given a family (*X*_{i})_{i∈I} of objects, a **product** of the family is an object *X* equipped with morphisms *π*_{i} : *X* → *X*_{i} satisfying the following universal property:

- For every object
*Y*and every*I*-indexed family of morphisms*f*_{i}:*Y*→*X*_{i}, there exists a unique morphism*f*:*Y*→*X*such that the following diagrams commute for all*i*in*I*:

The product is denoted ∏_{i∈I} *X*_{i}. If *I* = {1, …, *n*}, then it is denoted *X*_{1} × ⋯ × *X*_{n} and the product of morphisms is denoted ⟨*f*_{1}, …, *f*_{n}⟩.

### Equational definition

Alternatively, the product may be defined through equations. So, for example, for the binary product:

- Existence of
*f*is guaranteed by existence of the operation ⟨⋅, ⋅⟩. - Commutativity of the diagrams above is guaranteed by the equality ∀
*f*_{1}, ∀*f*_{2}∀*i*∈ {1, 2},*π*_{i}∘ ⟨*f*_{1},*f*_{2}⟩ =*f*_{i}. - Uniqueness of
*f*is guaranteed by the equality ∀*g*:*Y*→*X*_{1}×*X*_{2}, ⟨*π*_{1}∘*g*,*π*_{2}∘*g*⟩ =*g*.^{[1]}

### As a limit

The product is a special case of a limit. This may be seen by using a discrete category (a family of objects without any morphisms, other than their identity morphisms) as the diagram required for the definition of the limit. The discrete objects will serve as the index of the components and projections. If we regard this diagram as a functor, it is a functor from the index set *I* considered as a discrete category. The definition of the product then coincides with the definition of the limit, { *f* }_{i} being a cone and projections being the limit (limiting cone).

### Universal property

Just as the limit is a special case of the universal construction, so is the product. Starting with the definition given for the universal property of limits, take **J** as the discrete category with two objects, so that **C**^{J} is simply the product category **C** × **C**. The diagonal functor Δ : **C** → **C** × **C** assigns to each object *X* the ordered pair (*X*, *X*) and to each morphism *f* the pair (*f*, *f*). The product *X*_{1} × *X*_{2} in **C** is given by a universal morphism from the functor Δ to the object (*X*_{1}, *X*_{2}) in **C** × **C**. This universal morphism consists of an object *X* of **C** and a morphism (*X*, *X*) → (*X*_{1}, *X*_{2}) which contains projections.

## Examples

In the category of sets, the product (in the category theoretic sense) is the Cartesian product. Given a family of sets *X*_{i} the product is defined as

- ∏
_{i∈I}*X*_{i}:= { (*x*_{i})_{i∈I}| ∀*i*∈*I*,*x*_{i}∈*X*_{i}}

with the canonical projections

*π*_{j}: ∏_{i∈I}*X*_{i}→*X*_{j},*π*_{j}((*x*_{i})_{i∈I}) :=*x*_{j}.

Given any set *Y* with a family of functions *f*_{i} : *Y* → *X*_{i},
the universal arrow *f* : *Y* → ∏_{i∈I} *X*_{i} is defined by *f*(*y*) := (*f*_{i}(*y*))_{i∈I} .

Other examples:

- In the category of topological spaces, the product is the space whose underlying set is the Cartesian product and which carries the product topology. The product topology is the coarsest topology for which all the projections are continuous.
- In the category of modules over some ring
*R*, the product is the Cartesian product with addition defined componentwise and distributive multiplication. - In the category of groups, the product is the direct product of groups given by the Cartesian product with multiplication defined componentwise.
- In the category of graphs, the product is the tensor product of graphs.
- In the category of relations, the product is given by the disjoint union. (This may come as a bit of a surprise given that the category of sets is a subcategory of the category of relations.)
- In the category of algebraic varieties, the product is given by the Segre embedding.
- In the category of semi-abelian monoids, the product is given by the history monoid.
- A partially ordered set can be treated as a category, using the order relation as the morphisms. In this case the products and coproducts correspond to greatest lower bounds (meets) and least upper bounds (joins).

## Discussion

An example in which the product does not exist: In the category of fields, the product **Q** × **F**_{p} does not exist, since there is no field with homomorphisms to both **Q** and **F**_{p}.

Another example: An empty product (i.e. *I* is the empty set) is the same as a terminal object, and some categories, such as the category of infinite groups, do not have a terminal object: given any infinite group *G* there are infinitely many morphisms , so *G* cannot be terminal.

If *I* is a set such that all products for families indexed with *I* exist, then one can treat each product as a functor **C**^{I} → **C**.^{[2]} How this functor maps objects is obvious. Mapping of morphisms is subtle, because the product of morphisms defined above does not fit. First, consider the binary product functor, which is a bifunctor. For *f*_{1} : *X*_{1} → *Y*_{1}, *f*_{2} : *X*_{2} → *Y*_{2} we should find a morphism *X*_{1} × *X*_{2} → *Y*_{1} × *Y*_{2}. We choose ⟨ *f*_{1} ∘ π_{1}, *f*_{2} ∘ π_{2} ⟩. This operation on morphisms is called **Cartesian product of morphisms**.^{[3]} Second, consider the general product functor. For families {*X*}_{i},{*Y*}_{i}, *f*_{i} : *X*_{i} → *Y*_{i} we should find a morphism ∏_{i∈I} *X*_{i} → ∏_{i∈I} *Y*_{i}. We choose the product of morphisms {*f*_{i} ∘ π_{i}}_{i}.

A category where every finite set of objects has a product is sometimes called a **Cartesian category**^{[3]}
(although some authors use this phrase to mean "a category with all finite limits").

The product is associative. Suppose **C** is a Cartesian category, product functors have been chosen as above, and 1 denotes a terminal object of **C**. We then have natural isomorphisms

These properties are formally similar to those of a commutative monoid; a Cartesian category with its finite products is an example of a symmetric monoidal category.

## Distributivity

For any objects X, Y, and Z of a category with finite products and coproducts, there is a canonical morphism *X* × *Y* + *X* × *Z* → *X* × (*Y* + *Z*), where the plus sign here denotes the coproduct. To see this, note that the universal property of the coproduct *X* × *Y* + *X* × *Z* guarantees the existence of unique arrows filling out the following diagram (the induced arrows are dashed):

The universal property of the product *X* × (*Y* + *Z*) then guarantees a unique morphism *X* × *Y* + *X* × *Z* → *X* × (*Y* + *Z*) induced by the dashed arrows in the above diagram. A distributive category is one in which this morphism is actually an isomorphism. Thus in a distributive category, one has the canonical isomorphism

## See also

- Coproduct – the dual of the product
- Diagonal functor – the left adjoint of the product functor.
- Limit and colimits
- Equalizer
- Inverse limit
- Cartesian closed category
- Categorical pullback

## References

**^**Lambek J., Scott P. J. (1988).*Introduction to Higher-Order Categorical Logic*. Cambridge University Press. p. 304.**^**Lane, S. Mac (1988).*Categories for the working mathematician*(1st ed.). New York: Springer-Verlag. p. 37. ISBN 0-387-90035-7.- ^
^{a}^{b}Michael Barr, Charles Wells (1999).*Category Theory – Lecture Notes for ESSLLI*. p. 62. Archived from the original on 2011-04-13.

- Adámek, Jiří; Horst Herrlich; George E. Strecker (1990).
*Abstract and Concrete Categories*(PDF). John Wiley & Sons. ISBN 0-471-60922-6. - Barr, Michael; Charles Wells (1999).
*Category Theory for Computing Science*(PDF). Les Publications CRM Montreal (publication PM023). Archived from the original (PDF) on 2016-03-04. Retrieved 2016-03-21. Chapter 5. - Mac Lane, Saunders (1998).
*Categories for the Working Mathematician*. Graduate Texts in Mathematics**5**(2nd ed.). Springer. ISBN 0-387-98403-8. - Definition 2.1.1 in Borceux, Francis (1994).
*Handbook of categorical algebra*. Encyclopedia of mathematics and its applications 50–51, 53 [i.e. 52]. Volume 1. Cambridge University Press. p. 39. ISBN 0-521-44178-1.`|volume=`

has extra text (help)

## External links

- Interactive Web page which generates examples of products in the category of finite sets. Written by Jocelyn Paine.
- Product in
*nLab*