category with duals (list of them)
dualizable object (what they have)
ribbon category, a.k.a. tortile category
monoidal dagger-category?
In the strict sense of the word, a cartesian product is a product in Set, the category of sets. Hence for $S_1$ and $S_2$ two sets, their cartesian product is the set denoted $S_1\times S_2$ whose elements are pairs of elements in $S_1$ and $S_2$, respectively.
The abstract concept of such products generalizes from Set to any other category (as a special case of a category-theoretic limit), only that in general products of any given objects may or may not actually exist in that category.
(If they all exists, then one speaks of a cartesian monoidal category. Especially if the category is also a monoidal category with respect to some other tensor product, then one says “Cartesian product” to distinguish the two. For instance one speaks of the cartesian product on Cat and on 2Cat in contrast to the Gray tensor product.)
A product created by the forgetful functor of a concrete category, especially in algebra, is often called a direct product (for instance a direct product of groups).
Given any family $(A_i)_{i:I}$ of sets, the cartesian product $\prod_i A_i$ of the family is the set of all functions $f$ from the index set $I$ with $f_j$ in $A_j$ for each $j$ in $I$.
As stated, the target of such a function depends on the argument, which is natural in dependent type theory; but if you don’t like this, then define $\prod_i A_i$ to be the set of those functions $f$ from $I$ to the disjoint union $\biguplus_i A_i$ such that $f_j \in A_j$ (treating $A_j$ as a subset of $\biguplus_i A_i$ as usual) for each $j$ in $I$.
In traditional forms of set theory, one can also take the target of $f$ to be the union $\bigcup_i A_i$ or even the class of all objects (equivalently, leave it unspecified).
Given any category $\mathcal{C}$, and any set $\{X_i\}_{i \in I}$ of its objects, then the product of all these objects is, if it exists, an object denoted
and equipped with morphisms
(the projections), for each $i \in I$, such that it is universal with this property, i.e. such that given any other object $Q \in \mathcal{C}$ with morphisms
for $i \in I$, then there is a unique morphism
which factors the $f_i$ through the $p_i$, i.e. such that all these diagrams commute:
for all $i \in I$.
The case of a binary products it is also denoted by “$(-)\times(-)$”:
Given sets $A$ and $B$, the cartesian product of the binary family $(A,B)$ is written $A \times B$; its elements $(a,b)$ are called ordered pairs. (In set theory, one often makes a special definition for this case, defining
rather than as a function so that ordered pairs can then be used in the definition of function. From a structural perspective, however, this is unnecessary.)
Given sets $A_1$ through $A_n$, the cartesian product of the $n$-ary family $(A_1,\ldots,A_n)$ is written $\prod_{i=1}^n A_i$; its elements $(a_1,\ldots,a_n)$ are called ordered $n$-tuples.
Given sets $A_1$, $A_2$, etc, the cartesian product of the countably infinitary family $(A_1,A_2,\ldots)$ is written $\prod_{i=1}^\infty A_i$; its elements $(a_1,a_2,\ldots,)$ are called infinite sequences.
Given a set $A$, the cartesian product of the unary family $(A)$ may be identified with $A$ itself; that is, we identify the ordered singleton $(a)$ with $a$.
The cartesian product of the empty family $()$ is the point, a set whose only element is the empty list $()$; we often call this set $1$ (or $\pt$, when we're Urs) and write its element as $*$.
For algebraic categories like Grp, where the objects are sets equipped with (globally defined) specified operations that satisfy specified universally quantified identities, products are always constructed in the way you’d expect, viz. by taking products at the level of the underlying sets and endowing them with operations defined in the evident pointwise fashion, just like the way it works in $Grp$. More commentary on this in more general contexts will be given below.
For a non-example: the category of fields does not admit products, even though some might consider that an algebraic example (in some loose or informal sense).
In categories of topological type, products are again constructed in a common sense manner; see for instance product topological space for a prototype.
For topological categories, which include examples like Top and Preord, products (e.g. product topological spaces) are always constructed in the way one expects, by taking products at the level of the underlying sets and endowing them with an initial lift structure; e.g., in the case of $Top$, the smallest or initial topology for which the projection maps are continuous.
This principle continues to hold even for infinitary products, where the correct structure might not be obvious without guidance from categorical considerations. For example, for topological spaces, for an infinite product $\prod_{i \in I} X_i$, we use the product topology, and not say the box topology? which might be the first thing one would try.
In any presheaf category, i.e., a category of type $Set^C$ where $C$ is a small category, products are calculated in obvious pointwise fashion, where $(F \times G)(c) = F(c) \times G(c)$ with the pointwise product projection maps. This even works if $C$ is large (making $Set^C$ ‘very large’).
If $D$ has products and $C \hookrightarrow D$ is a reflective subcategory, products in $C$ exist and are calculated as they are in $D$. For example, this applies to any Grothendieck topos, as a category of sheaves on a site forming a reflective subcategory of a category of presheaves (on the underlying category of the site).
Generalizing the last example still further, if $U: A \to X$ is a monadic functor, then products and more generally limits in $A$ are created (or reflected) from products/limits in $X$. In other words, products of algebras over a monad $T: X \to X$ are given by products in $X$, equipped with the evident “pointwise” $T$-algebra structure.
If $D$ has products and $i: C \hookrightarrow D$ is a coreflective subcategory, where $i$ has a right adjoint (co-reflector) $r$, then products in $C$ can be formed by taking products in $D$ and then applying $r$.
Products in $C^{op}$ are given by coproducts in $C$.
In some cases, this formal tautology gives the only sensible way to construct products. For example, to form products $X \times Y$ in the category Loc of locales, one must take the formal dual of the coproduct (denoted $\mathcal{O}(X) \otimes \mathcal{O}(Y)$) in the category of frames.
Similarly, the product of two affine schemes is the formal dual of the coproduct of their corresponding coordinate rings, again given by a tensor product.
Relative to a symmetric monoidal category $C$ with monoidal product $\otimes$, products in the category of cocommutative comonoids are given by the tensor product $X \otimes Y$ in the underlying smc category.
For categories $C$ enriched in the category of commutative monoids, finite products are biproducts and hence coincide with coproducts in a controlled fashion (via matrices). However, this is usually not the case for infinite products. For such examples, finite products are absolute limits.
In the category SupLat of sup-lattices, arbitrary products coincide with coproducts (and in fact the functor $X \mapsto X^{op}$ that takes a sup-lattice to its posetal opposite is part of a perfect duality $SupLat^{op} \to SupLat$, taking a sup-lattice map $f: X \to Y$ to $g^{op}: Y^{op} \to X^{op}$ where $f \dashv g$). This example descends to $Rel$ itself, so we conclude that products in $Rel$ are actually given by coproducts in $Rel$ which in turn are given by coproducts in $Set$.
In the Cat the cartesian product is the product of categories.
See also
Under the relation between category theory and type theory products in a category correspond to product types in type theory.
type theory | category theory | |
---|---|---|
syntax | semantics | |
natural deduction | universal construction | |
product type | product | |
type formation | $\frac{\vdash \;A \colon Type \;\;\;\;\; \vdash \;B \colon Type}{\vdash A \times B \colon Type}$ | $A,B \in \mathcal{C} \Rightarrow A \times B \in \mathcal{C}$ |
term introduction | $\frac{\vdash\; a \colon A\;\;\;\;\; \vdash\; b \colon B}{ \vdash \; (a,b) \colon A \times B}$ | $\array{ && Q\\ & {}^{\mathllap{a}}\swarrow &\downarrow_{\mathrlap{(a,b)}}& \searrow^{\mathrlap{b}}\\ A &&A \times B&& B }$ |
term elimination | $\frac{\vdash\; t \colon A \times B}{\vdash\; p_1(t) \colon A} \;\;\;\;\;\frac{\vdash\; t \colon A \times B}{\vdash\; p_2(t) \colon B}$ | $\array{ && Q\\ &&\downarrow^{t} && \\ A &\stackrel{p_1}{\leftarrow}& A \times B &\stackrel{p_2}{\to}& B}$ |
computation rule | $p_1(a,b) = a\;\;\; p_2(a,b) = b$ | $\array{ && Q \\ & {}^{\mathllap{a}}\swarrow &\downarrow_{(a,b)}& \searrow^{\mathrlap{b}} \\ A &\stackrel{p_1}{\leftarrow}& A \times B& \stackrel{p_2}{\to} & B}$ |
In material set theory, the existence of binary cartesian products follows from the axiom of pairing and the axiom of weak replacement? (which is very weak). In structural set theory, their existence generally must be stated as an axiom: the axiom of products. See ordered pair for more details.