In category theory, the coproduct, or categorical sum, is a construction which includes as examples the disjoint union of sets and of topological spaces, the free product of groups, and the direct sum of modules and vector spaces. The coproduct of a family of objects is essentially the "least specific" object to which each object in the family admits a morphism. It is the category-theoretic dual notion to the categorical product, which means the definition is the same as the product but with all arrows reversed. Despite this seemingly innocuous change in the name and notation, coproducts can be and typically are dramatically different from products.
Let be a category and let and be objects of An object is called the coproduct of and written or or sometimes simply if there exist morphisms and satisfying the following universal property: for any object and any morphisms and there exists a unique morphism such that and That is, the following diagram commutes:
The definition of a coproduct can be extended to an arbitrary family of objects indexed by a set The coproduct of the family is an object together with a collection of morphisms such that, for any object and any collection of morphisms there exists a unique morphism such that That is, the following diagram commutes for each :
The coproduct of the family is often denoted or
Sometimes the morphism may be denoted to indicate its dependence on the individual s.
The coproduct in the category of sets is simply the disjoint union with the maps ij being the inclusion maps. Unlike direct products, coproducts in other categories are not all obviously based on the notion for sets, because unions don't behave well with respect to preserving operations (e.g. the union of two groups need not be a group), and so coproducts in different categories can be dramatically different from each other. For example, the coproduct in the category of groups, called the free product, is quite complicated. On the other hand, in the category of abelian groups (and equally for vector spaces), the coproduct, called the direct sum, consists of the elements of the direct product which have only finitely many nonzero terms. (It therefore coincides exactly with the direct product in the case of finitely many factors.)
Given a commutative ring R, the coproduct in the category of commutative R-algebras is the tensor product. In the category of (noncommutative) R-algebras, the coproduct is a quotient of the tensor algebra (see free product of associative algebras).
In the case of topological spaces coproducts are disjoint unions with their disjoint union topologies. That is, it is a disjoint union of the underlying sets, and the open sets are sets open in each of the spaces, in a rather evident sense. In the category of pointed spaces, fundamental in homotopy theory, the coproduct is the wedge sum (which amounts to joining a collection of spaces with base points at a common base point).
Despite all this dissimilarity, there is still, at the heart of the whole thing, a disjoint union: the direct sum of abelian groups is the group generated by the "almost" disjoint union (disjoint union of all nonzero elements, together with a common zero), similarly for vector spaces: the space spanned by the "almost" disjoint union; the free product for groups is generated by the set of all letters from a similar "almost disjoint" union where no two elements from different sets are allowed to commute.
The coproduct of a poset category is the join operation.
The coproduct construction given above is actually a special case of a colimit in category theory. The coproduct in a category can be defined as the colimit of any functor from a discrete category into . Not every family will have a coproduct in general, but if it does, then the coproduct is unique in a strong sense: if and are two coproducts of the family , then (by the definition of coproducts) there exists a unique isomorphism such that for each .
As with any universal property, the coproduct can be understood as a universal morphism. Let be the diagonal functor which assigns to each object the ordered pair and to each morphism the pair . Then the coproduct in is given by a universal morphism to the functor from the object in .
If is a set such that all coproducts for families indexed with exist, then it is possible to choose the products in a compatible fashion so that the coproduct turns into a functor . The coproduct of the family is then often denoted by
and the maps are known as the natural injections.
That this map is a surjection follows from the commutativity of the diagram: any morphism is the coproduct of the tuple
That it is an injection follows from the universal construction which stipulates the uniqueness of such maps. The naturality of the isomorphism is also a consequence of the diagram. Thus the contravariant hom-functor changes coproducts into products. Stated another way, the hom-functor, viewed as a functor from the opposite category to Set is continuous; it preserves limits (a coproduct in is a product in ).
If is a finite set, say , then the coproduct of objects is often denoted by . Suppose all finite coproducts exist in C, coproduct functors have been chosen as above, and 0 denotes the initial object of C corresponding to the empty coproduct. We then have natural isomorphisms
If the category has a zero object , then we have a unique morphism (since is terminal) and thus a morphism . Since is also initial, we have a canonical isomorphism as in the preceding paragraph. We thus have morphisms and , by which we infer a canonical morphism . This may be extended by induction to a canonical morphism from any finite coproduct to the corresponding product. This morphism need not in general be an isomorphism; in Grp it is a proper epimorphism while in Set* (the category of pointed sets) it is a proper monomorphism. In any preadditive category, this morphism is an isomorphism and the corresponding object is known as the biproduct. A category with all finite biproducts is known as a semiadditive category.
If all families of objects indexed by have coproducts in , then the coproduct comprises a functor . Note that, like the product, this functor is covariant.