In

_{''x''} : ''x'' → ''x'' (some authors write ''id''_{''x''}) called the ''identity morphism for x'', such that every morphism ''f'' : ''a'' → ''x'' satisfies 1_{''x''} ∘ ''f'' = ''f'', and every morphism ''g'' : ''x'' → ''b'' satisfies ''g'' ∘ 1_{''x''} = ''g''.
We write ''f'': ''a'' → ''b'', and we say "''f'' is a morphism from ''a'' to ''b''". We write hom(''a'', ''b'') (or hom_{''C''}(''a'', ''b'') when there may be confusion about to which category hom(''a'', ''b'') refers) to denote the hom-class of all morphisms from ''a'' to ''b''.Some authors write Mor(''a'', ''b'') or simply ''C''(''a'', ''b'') instead. From these axioms, one can prove that there is exactly one identity morphism for every object. Some authors use a slight variation of the definition in which each object is identified with the corresponding identity morphism.

^{op}.

_{1}'' = ''fg_{2}'' implies ''g_{1}'' = ''g_{2}'' for all morphisms ''g''_{1}, ''g_{2}'' : ''x'' → ''a''.
* an ''epimorphism'' (or ''epic'') if it is right-cancellable, i.e. ''g_{1}f'' = ''g_{2}f'' implies ''g_{1}'' = ''g_{2}'' for all morphisms ''g_{1}'', ''g_{2}'' : ''b'' → ''x''.
* a ''bimorphism'' if it is both a monomorphism and an epimorphism.
* a ''retract (category theory), retraction'' if it has a right inverse, i.e. if there exists a morphism ''g'' : ''b'' → ''a'' with ''fg'' = 1_{''b''}.
* a ''section (category theory), section'' if it has a left inverse, i.e. if there exists a morphism ''g'' : ''b'' → ''a'' with ''gf'' = 1_{''a''}.
* an ''isomorphism'' if it has an inverse, i.e. if there exists a morphism ''g'' : ''b'' → ''a'' with ''fg'' = 1_{''b''} and ''gf'' = 1_{''a''}.
* an ''endomorphism'' if ''a'' = ''b''. The class of endomorphisms of ''a'' is denoted end(''a'').
* an ''automorphism'' if ''f'' is both an endomorphism and an isomorphism. The class of automorphisms of ''a'' is denoted aut(''a'').
Every retraction is an epimorphism. Every section is a monomorphism. The following three statements are equivalent:
* ''f'' is a monomorphism and a retraction;
* ''f'' is an epimorphism and a section;
* ''f'' is an isomorphism.
Relations among morphisms (such as ''fg'' = ''h'') can most conveniently be represented with commutative diagrams, where the objects are represented as points and the morphisms as arrows.

_{''K''}, the hom-sets hom(''a'', ''b'') are not just sets but actually abelian groups, and the composition of morphisms is compatible with these group structures; i.e. is Bilinear form, bilinear. Such a category is called preadditive category, preadditive. If, furthermore, the category has all finite product (category theory), products and coproducts, it is called an additive category. If all morphisms have a kernel (category theory), kernel and a cokernel, and all epimorphisms are cokernels and all monomorphisms are kernels, then we speak of an abelian category. A typical example of an abelian category is the category of abelian groups.
* A category is called complete category, complete if all small limit (category theory), limits exist in it. The categories of sets, abelian groups and topological spaces are complete.
* A category is called cartesian closed category, cartesian closed if it has finite direct products and a morphism defined on a finite product can always be represented by a morphism defined on just one of the factors. Examples include Category of sets, Set and CPO, the category of complete partial orders with Scott continuity, Scott-continuous functions.
* A topos is a certain type of cartesian closed category in which all of mathematics can be formulated (just like classically all of mathematics is formulated in the category of sets). A topos can also be used to represent a logical theory.

mathematics
Mathematics (from Greek: ) includes the study of such topics as numbers ( and ), formulas and related structures (), shapes and spaces in which they are contained (), and quantities and their changes ( and ). There is no general consensus abo ...

, a category (sometimes called an abstract category to distinguish it from a concrete category
In mathematics
Mathematics (from Greek: ) includes the study of such topics as numbers ( and ), formulas and related structures (), shapes and spaces in which they are contained (), and quantities and their changes ( and ). There is no gener ...

) is a collection of "objects" that are linked by "arrows". A category has two basic properties: the ability to compose the arrows associatively and the existence of an identity arrow for each object. A simple example is the category of setsIn the mathematical
Mathematics (from Greek
Greek may refer to:
Greece
Anything of, from, or related to Greece
Greece ( el, Ελλάδα, , ), officially the Hellenic Republic, is a country located in Southeast Europe. Its population is ...

, whose objects are sets and whose arrows are functions
Function or functionality may refer to:
Computing
* Function key
A function key is a key on a computer
A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern comp ...

.
''Category theory
Category theory formalizes mathematical structure and its concepts in terms of a Graph labeling, labeled directed graph called a ''Category (mathematics), category'', whose nodes are called ''objects'', and whose labelled directed edges are cal ...

'' is a branch of mathematics that seeks to generalize all of mathematics in terms of categories, independent of what their objects and arrows represent. Virtually every branch of modern mathematics can be described in terms of categories, and doing so often reveals deep insights and similarities between seemingly different areas of mathematics. As such, category theory provides an alternative foundation for mathematics to set theory
illustrating the intersection of two sets
Set theory is the branch of mathematical logic that studies sets, which can be informally described as collections of objects. Although objects of any kind can be collected into a set, set theory, as ...

and other proposed axiomatic foundations. In general, the objects and arrows may be abstract entities of any kind, and the notion of category provides a fundamental and abstract way to describe mathematical entities and their relationships.
In addition to formalizing mathematics, category theory is also used to formalize many other systems in computer science, such as the semantics of programming languages
In programming language theory
Programming language theory (PLT) is a branch of computer science
Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as pract ...

.
Two categories are the same if they have the same collection of objects, the same collection of arrows, and the same associative method of composing any pair of arrows. Two ''different'' categories may also be considered "equivalence of categories, equivalent" for purposes of category theory, even if they do not have precisely the same structure.
Well-known categories are denoted by a short capitalized word or abbreviation in bold or italics: examples include category of sets, Set, the category of sets and function (mathematics), set functions; category of rings, Ring, the category of ring (mathematics), rings and ring homomorphisms; and category of topological spaces, Top, the category of topological spaces and continuous maps. All of the preceding categories have the identity function, identity map as identity arrows and function composition, composition as the associative operation on arrows.
The classic and still much used text on category theory is ''Categories for the Working Mathematician'' by Saunders Mac Lane. Other references are given in the #References, References below. The basic definitions in this article are contained within the first few chapters of any of these books.
Any monoid can be understood as a special sort of category (with a single object whose self-morphisms are represented by the elements of the monoid), and so can any preorder.
Definition

There are many equivalent definitions of a category. One commonly used definition is as follows. A category ''C'' consists of * a Class (set theory), class ob(''C'') of objects, * a class hom(''C'') of morphisms, or arrows, or maps between the objects, *a domain, or source object class function $\backslash mathrm\backslash colon\; \backslash mathrm(C)\backslash rightarrow\; \backslash mathrm(C)$, *a codomain, or target object class function $\backslash mathrm\backslash colon\; \backslash mathrm(C)\backslash rightarrow\; \backslash mathrm(C)$, * for every three objects ''a'', ''b'' and ''c'', a binary operation hom(''a'', ''b'') × hom(''b'', ''c'') → hom(''a'', ''c'') called ''composition of morphisms''; the composition of ''f'' : ''a'' → ''b'' and ''g'' : ''b'' → ''c'' is written as ''g'' ∘ ''f'' or ''gf''. (Some authors use "diagrammatic order", writing ''f;g'' or ''fg''). Note: Here hom(''a'', ''b'') denotes the subclass of morphisms ''f'' in hom(''C'') such that $\backslash mathrm(f)\; =\; a$ and $\backslash mathrm(f)\; =\; b$. Such morphisms are often written as ''f'' : ''a'' → ''b''. such that the following axioms hold: * (associativity) if ''f'' : ''a'' → ''b'', ''g'' : ''b'' → ''c'' and ''h'' : ''c'' → ''d'' then ''h'' ∘ (''g'' ∘ ''f'') = (''h'' ∘ ''g'') ∘ ''f'', and * (identity (mathematics), identity) for every object ''x'', there exists a morphism 1Small and large categories

A category ''C'' is called small if both ob(''C'') and hom(''C'') are actually Set (mathematics), sets and not proper classes, and large otherwise. A locally small category is a category such that for all objects ''a'' and ''b'', the hom-class hom(''a'', ''b'') is a set, called a homset. Many important categories in mathematics (such as the category of sets), although not small, are at least locally small. Since, in small categories, the objects form a set, a small category can be viewed as an algebraic structure similar to a monoid but without requiring closure (mathematics), closure properties. Large categories on the other hand can be used to create "structures" of algebraic structures.Examples

The class (set theory), class of all sets (as objects) together with all function (mathematics), functions between them (as morphisms), where the composition of morphisms is the usual function composition, forms a large category, category of sets, Set. It is the most basic and the most commonly used category in mathematics. The category category of relations, Rel consists of all Set (mathematics), sets (as objects) with binary relations between them (as morphisms). Abstracting from Relation (mathematics), relations instead of functions yields Allegory (category theory), allegories, a special class of categories. Any class can be viewed as a category whose only morphisms are the identity morphisms. Such categories are called discrete category, discrete. For any given Set (mathematics), set ''I'', the ''discrete category on I'' is the small category that has the elements of ''I'' as objects and only the identity morphisms as morphisms. Discrete categories are the simplest kind of category. Any Preorder, preordered set (''P'', ≤) forms a small category, where the objects are the members of ''P'', the morphisms are arrows pointing from ''x'' to ''y'' when ''x'' ≤ ''y''. Furthermore, if ''≤'' is antisymmetric relation, antisymmetric, there can be at most one morphism between any two objects. The existence of identity morphisms and the composability of the morphisms are guaranteed by the reflexive relation, reflexivity and the transitive relation, transitivity of the preorder. By the same argument, any partially ordered set and any equivalence relation can be seen as a small category. Any ordinal number can be seen as a category when viewed as an total order, ordered set. Any monoid (any algebraic structure with a single associative binary operation and an identity element) forms a small category with a single object ''x''. (Here, ''x'' is any fixed set.) The morphisms from ''x'' to ''x'' are precisely the elements of the monoid, the identity morphism of ''x'' is the identity of the monoid, and the categorical composition of morphisms is given by the monoid operation. Several definitions and theorems about monoids may be generalized for categories. Similarly any group (mathematics), group can be seen as a category with a single object in which every morphism is ''invertible'', that is, for every morphism ''f'' there is a morphism ''g'' that is both Morphism#Some specific morphisms, left and right inverse to ''f'' under composition. A morphism that is invertible in this sense is called an isomorphism. A groupoid is a category in which every morphism is an isomorphism. Groupoids are generalizations of groups, Group action (mathematics), group actions and equivalence relations. Actually, in the view of category the only difference between groupoid and group is that a groupoid may have more than one object but the group must have only one. Consider a topological space ''X'' and fix a base point $x\_0$ of ''X'', then $\backslash pi\_1(X,x\_0)$ is the fundamental group of the topological space ''X'' and the base point $x\_0$, and as a set it has the structure of group; if then let the base point $x\_0$ runs over all points of ''X'', and take the union of all $\backslash pi\_1(X,x\_0)$, then the set we get has only the structure of groupoid (which is called as the fundamental groupoid of ''X''): two loops (under equivalence relation of homotopy) may not have the same base point so they cannot multiply with each other. In the language of category, this means here two morphisms may not have the same source object (or target object, because in this case for any morphism the source object and the target object are same: the base point) so they can not compose with each other. Any directed graph Generating set, generates a small category: the objects are the Vertex (graph theory), vertices of the graph, and the morphisms are the paths in the graph (augmented with loop (graph theory), loops as needed) where composition of morphisms is concatenation of paths. Such a category is called the ''free category'' generated by the graph. The class of all preordered sets with monotonic functions as morphisms forms a category, category of preordered sets, Ord. It is aconcrete category
In mathematics
Mathematics (from Greek: ) includes the study of such topics as numbers ( and ), formulas and related structures (), shapes and spaces in which they are contained (), and quantities and their changes ( and ). There is no gener ...

, i.e. a category obtained by adding some type of structure onto Set, and requiring that morphisms are functions that respect this added structure.
The class of all groups with group homomorphisms as morphisms and function composition as the composition operation forms a large category, Category of groups, Grp. Like Ord, Grp is a concrete category. The category category of abelian groups, Ab, consisting of all abelian groups and their group homomorphisms, is a full subcategory of Grp, and the prototype of an abelian category. Other examples of concrete categories are given by the following table.
Fiber bundles with bundle maps between them form a concrete category.
The category category of small categories, Cat consists of all small categories, with functors between them as morphisms.
Construction of new categories

Dual category

Any category ''C'' can itself be considered as a new category in a different way: the objects are the same as those in the original category but the arrows are those of the original category reversed. This is called the Opposite category, ''dual'' or ''opposite category'' and is denoted ''C''Product categories

If ''C'' and ''D'' are categories, one can form the ''product category'' ''C'' × ''D'': the objects are pairs consisting of one object from ''C'' and one from ''D'', and the morphisms are also pairs, consisting of one morphism in ''C'' and one in ''D''. Such pairs can be composed N-tuple, componentwise.Types of morphisms

A morphism ''f'' : ''a'' → ''b'' is called * a ''monomorphism'' (or ''monic'') if it is left-cancellable, i.e. ''fgTypes of categories

* In many categories, e.g. category of abelian groups, Ab or K-Vect, VectSee also

* Enriched category * Higher category theory * Quantaloid * Table of mathematical symbolsNotes

References

* (now free on-line edition, GNU Free Documentation License, GNU FDL). * . * . *. * . * * . * . * . * . * . * . * {{Authority control Category theory, *