Product (category theory)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

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, the direct product of 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

Let C be a category with some objects X1 and X2. An object X is a product of X1 and X2, denoted X1 × X2, iff it satisfies this universal property:

there exist morphisms π1 : XX1, π2 : XX2 such that for every object Y and pair of morphisms f1 : YX1, f2 : YX2 there exists a unique morphism f : YX such that the following diagram commutes:
Universal product of the product

The unique morphism f is called the product of morphisms f1 and f2 and is denoted < f1, f2 >. The morphisms π1 and π2 are called the canonical projections or projection morphisms.

Above we defined the binary product. Instead of two objects we can take an arbitrary family of objects indexed by some set I. Then we obtain the definition of a product.

An object X is the product of a family (Xi)iI of objects iff there exist morphisms πi : XXi, such that for every object Y and a I-indexed family of morphisms fi : YXi there exists a unique morphism f : YX such that the following diagrams commute for all iI:

Universal product of the product

The product is denoted ΠiI Xi; if I = {1, ..., n}, then denoted X1 × ... × Xn and the product of morphisms is denoted < f1, ..., fn >.

Equational definition

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

  • Existence of f is guaranteed by the operation < -,- >.
  • Commutativity of the diagrams above is guaranteed by the equality f1, ∀f2, ∀i∈{1, 2}, πi o < f1, f2 > = fi.
  • Uniqueness of f is guaranteed by the equality g : YX, < π1 o g, π2 o 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 CJ is simply the product category C × C. The diagonal functor Δ : CC × C assigns to each object X the ordered pair (X, X) and to each morphism f the pair (f, f). The product X1 × X2 in C is given by a universal morphism from the functor Δ to the object (X1, X2) in C × C. This universal morphism consists of an object X of C and a morphism (X, X) → (X1, X2) 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 Xi the product is defined as

ΠiI Xi := { (xi)iI | iI, xiXi }

with the canonical projections

πj : ΠiI XiXj, πj((xi)iI) := xj.

Given any set Y with a family of functions

fi : YXi,

the universal arrow f is defined as

f : Y → ΠiI Xi, f(y) := (fi(y))iI .

Other examples:

Discussion

The product does not necessarily exist. For 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 ℤ → G, 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 CIC.[2] How this functor maps objects is obvious. Mapping of morphisms is subtle, because product of morphisms defined above does not fit. First, consider binary product functor, which is a bifunctor. For f1 : X1Y1, f2 : X2Y2 we should find a morphism X1 × X2Y1 × Y2. We choose < f1 o π1, f2 o π2 >. This operation on morphisms is called cartesian product of morphisms.[3] Second, consider product functor. For families {X}i, {Y}i, fi : XiYi we should find a morphism ΠiI Xi → ΠiI Yi. We choose the product of morphisms {fi o π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 the terminal object of C. We then have natural isomorphisms

X\times (Y \times Z)\simeq (X\times Y)\times Z\simeq X\times Y\times Z
X\times 1 \simeq 1\times X \simeq X
X\times Y \simeq Y\times X

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

Distributivity

In a category with finite products and coproducts, there is a canonical morphism X×Y+X×ZX×(Y+Z), where the plus sign here denotes the coproduct. To see this, note that we have various canonical projections and injections which fill out the diagram

The universal property for X×(Y+Z) then guarantees a unique morphism X×Y+X×ZX×(Y+Z). A distributive category is one in which this morphism is actually an isomorphism. Thus in a distributive category, one has the canonical isomorphism

X\times (Y + Z)\simeq (X\times Y)+ (X \times Z).

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found. Chapter 5.
  • Lua error in package.lua at line 80: module 'strict' not found.

External links