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 <math>C.</math> Let <math>X_1</math> and <math>X_2</math> be objects of <math>C.</math> A product of <math>X_1</math> and <math>X_2</math> is an object <math>X,</math> typically denoted <math>X_1 \times X_2,</math> equipped with a pair of morphisms <math>\pi_1 : X \to X_1,</math> <math>\pi_2 : X \to X_2</math> satisfying the following universal property:

  • For every object <math>Y</math> and every pair of morphisms <math>f_1 : Y \to X_1,</math> <math>f_2 : Y \to X_2,</math> there exists a unique morphism <math>f : Y \to X_1 \times X_2</math> such that the following diagram commutes:
  • :280px|center|Universal property of the product|alt=Universal property of the product commutative diagram

Whether a product exists may depend on <math>C</math> or on <math>X_1</math> and <math>X_2.</math> If it does exist, it is unique up to canonical isomorphism, because of the universal property, so one may speak of the product. This has the following meaning: if <math>X', \pi_1', \pi_2'</math> is another product, there exists a unique isomorphism <math>h : X' \to X_1 \times X_2</math> such that <math>\pi_1' = \pi_1 \circ h</math> and <math>\pi_2' = \pi_2 \circ h</math>.

The morphisms <math>\pi_1</math> and <math>\pi_2</math> are called the canonical projections or projection morphisms; the letter <math>\pi</math> alliterates with projection. Given <math>Y</math> and <math>f_1,</math> <math>f_2,</math> the unique morphism <math>f</math> is called the product of morphisms <math>f_1</math> and <math>f_2</math> and may be denoted <math>\langle f_1, f_2 \rangle</math>, <math> f_1 \times f_2</math>, or <math>f_1 \otimes f_2</math>.

Product of an arbitrary family

Instead of two objects, we can start with an arbitrary family of objects indexed by a set <math>I.</math>

Given a family <math>\left(X_i\right)_{i \in I}</math> of objects, a product of the family is an object <math>X</math> equipped with morphisms <math>\pi_i : X \to X_i,</math> satisfying the following universal property:

  • For every object <math>Y</math> and every <math>I</math>-indexed family of morphisms <math>f_i : Y \to X_i,</math> there exists a unique morphism <math>f : Y \to X</math> such that the following diagrams commute for all <math>i \in I:</math>
  • :center|Universal product of the product|alt=Universal product of the product commutative diagram

The product is denoted <math>\prod_{i \in I} X_i.</math> If <math>I = \{1, \ldots, n\},</math> then it is denoted <math>X_1 \times \cdots \times X_n</math> and the product of morphisms is denoted <math>\langle f_1, \ldots, f_n \rangle.</math>

Equational definition

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

  • Existence of <math>f</math> is guaranteed by existence of the operation <math>\langle \cdot,\cdot \rangle.</math>
  • Commutativity of the diagrams above is guaranteed by the equality: for all <math>f_1, f_2</math> and all <math>i \in \{1, 2\},</math> <math>\pi_i \circ \left\langle f_1, f_2 \right\rangle = f_i</math>
  • Uniqueness of <math>f</math> is guaranteed by the equality: for all <math>g : Y \to X_1 \times X_2,</math> <math>\left\langle \pi_1 \circ g, \pi_2 \circ g \right\rangle = g.</math>

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 <math>I</math> considered as a discrete category. The definition of the product then coincides with the definition of the limit, <math>\{f\}_i</math> 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 <math>\mathbf{J}</math> as the discrete category with two objects, so that <math>\mathbf{C}^{\mathbf{J</math> is simply the product category <math>\mathbf{C} \times \mathbf{C}.</math> The diagonal functor <math>\Delta : \mathbf{C} \to \mathbf{C} \times \mathbf{C}</math> assigns to each object <math>X</math> the ordered pair <math>(X, X)</math> and to each morphism <math>f</math> the pair <math>(f, f).</math> The product <math>X_1 \times X_2</math> in <math>C</math> is given by a universal morphism from the functor <math>\Delta</math> to the object <math>\left(X_1, X_2\right)</math> in <math>\mathbf{C} \times \mathbf{C}.</math> This universal morphism consists of an object <math>X</math> of <math>C</math> and a morphism <math>(X, X) \to \left(X_1, X_2\right)</math> 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 <math>X_i</math> the product is defined as

<math display=block>\prod_{i \in I} X_i := \left\{\left(x_i\right)_{i \in I} : x_i \in X_i \text{ for all } i \in I\right\}</math>

with the canonical projections

<math display=block>\pi_j : \prod_{i \in I} X_i \to X_j, \quad \pi_j\left(\left(x_i\right)_{i \in I}\right) := x_j.</math>

Given any set <math>Y</math> with a family of functions <math>f_i : Y \to X_i,</math>

the universal arrow <math>f : Y \to \prod_{i \in I} X_i</math> is defined by <math>f(y) := \left(f_i(y)\right)_{i \in I}.</math>

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 <math>R,</math> 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.
  • In the category of Banach spaces and short maps, the product carries the L-infinity| norm.
  • 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 <math>\Q \times F_p</math> does not exist, since there is no field with homomorphisms to both <math>\Q</math> and <math>F_p.</math>

Another example: An empty product (that is, <math>I</math> 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 <math>G</math> there are infinitely many morphisms <math>\Z \to G,</math> so <math>G</math> cannot be terminal.

If <math>I</math> is a set such that all products for families indexed with <math>I</math> exist, then one can treat each product as a functor <math>\mathbf{C}^I \to \mathbf{C}.</math> 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 <math>f_1 : X_1 \to Y_1, f_2 : X_2 \to Y_2</math> we should find a morphism <math>X_1 \times X_2 \to Y_1 \times Y_2.</math> We choose <math>\left\langle f_1 \circ \pi_1, f_2 \circ \pi_2 \right\rangle.</math> This operation on morphisms is called Cartesian product of morphisms. Second, consider the general product functor. For families <math>\left\{X\right\}_i, \left\{Y\right\}_i, f_i : X_i \to Y_i</math> we should find a morphism <math>\prod_{i \in I} X_i \to \prod_{i \in I} Y_i.</math> We choose the product of morphisms <math>\left\{f_i \circ \pi_i\right\}_i.</math>

A category where every finite set of objects has a product is sometimes called a Cartesian category