Schematic representation of a category with objects X, Y, Z and morphisms f, g, g ∘ f. (The category's three identity morphisms 1X, 1Y and 1Z, if explicitly represented, would appear as three arrows, from the letters X, Y, and Z to themselves, respectively.)
category is formed by two sorts of
objects of the category, and the
morphisms, which relate two objects called the source and the target of the morphism. One often says that a morphism is an arrow that maps its source to its target. Morphisms can be composed if the target of the first morphism equals the source of the second one, and morphism composition has similar properties as
function composition (
associativity and existence of
identity morphisms). Morphisms are often some sort of
function, but this is not always the case. For example, a
monoid may be viewed as a category with a single object, whose morphisms are the elements of the monoid.
The second fundamental concept of category is the concept of a
functor, which plays the role of a morphism between two categories and it maps objects of to objects of and morphisms of to morphisms of in such a way that sources are mapped to sources and targets are mapped to targets (or, in the case of a
contravariant functor, sources are mapped to targets and vice-versa). A third fundamental concept is a
natural transformation that may be viewed as a morphism of functors.
A class hom(C), whose elements are called
maps or arrows. Each morphism f has a source object a and target object b. The expression f : a → b, would be verbally stated as "f is a morphism from a to b". The expression hom(a, b) – alternatively expressed as homC(a, b), mor(a, b), or C(a, b) – denotes the hom-class of all morphisms from a to b.
binary operation ∘, called composition of morphisms, such that for any three objects a, b, and c, we have
∘ : hom(b, c) × hom(a, b) → hom(a, c).
The composition of f : a → b and g : b → c is written as g ∘ f or gf,[a] governed by two axioms:
Functors are structure-preserving maps between categories. They can be thought of as morphisms in the category of all (small) categories.
A (covariant) functor F from a category C to a category D, written F : C → D, consists of:
for each object x in C, an object F(x) in D; and
for each morphism f : x → y in C, a morphism F(f) : F(x) → F(y) in D,
such that the following two properties hold:
For every object x in C, F(1x) = 1F(x);
For all morphisms f : x → y and g : y → z, F(g ∘ f) = F(g) ∘ F(f).
A contravariant functor F: C → D is like a covariant functor, except that it "turns morphisms around" ("reverses all the arrows"). More specifically, every morphism f : x → y in C must be assigned to a morphism F(f) : F(y) → F(x) in D. In other words, a contravariant functor acts as a covariant functor from the
opposite categoryCop to D.
A natural transformation is a relation between two functors. Functors often describe "natural constructions" and natural transformations then describe "natural homomorphisms" between two such constructions. Sometimes two quite different constructions yield "the same" result; this is expressed by a natural isomorphism between the two functors.
If F and G are (covariant) functors between the categories C and D, then a natural transformation η from F to G associates to every object X in C a morphism ηX : F(X) → G(X) in D such that for every morphism f : X → Y in C, we have ηY ∘ F(f) = G(f) ∘ ηX; this means that the following diagram is
The two functors F and G are called naturally isomorphic if there exists a natural transformation from F to G such that ηX is an isomorphism for every object X in C.
Using the language of category theory, many areas of mathematical study can be categorized. Categories include sets, groups and topologies.
Each category is distinguished by properties that all its objects have in common, such as the
empty set or the
product of two topologies, yet in the definition of a category, objects are considered atomic, i.e., we do not know whether an object A is a set, a topology, or any other abstract concept. Hence, the challenge is to define special objects without referring to the internal structure of those objects. To define the empty set without referring to elements, or the product topology without referring to open sets, one can characterize these objects in terms of their relations to other objects, as given by the morphisms of the respective categories. Thus, the task is to find universal properties that uniquely determine the objects of interest.
Numerous important constructions can be described in a purely categorical way if the category limit can be developed and dualized to yield the notion of a colimit.
It is a natural question to ask: under which conditions can two categories be considered essentially the same, in the sense that theorems about one category can readily be transformed into theorems about the other category? The major tool one employs to describe such a situation is called equivalence of categories, which is given by appropriate functors between two categories. Categorical equivalence has found
numerous applications in mathematics.
Further concepts and results
The definitions of categories and functors provide only the very basics of categorical algebra; additional important topics are listed below. Although there are strong interrelations between all of these topics, the given order can be considered as a guideline for further reading.
functor categoryDC has as objects the functors from C to D and as morphisms the natural transformations of such functors. The
Yoneda lemma is one of the most famous basic results of category theory; it describes representable functors in functor categories.
Duality: Every statement, theorem, or definition in category theory has a dual which is essentially obtained by "reversing all the arrows". If one statement is true in a category C then its dual is true in the dual category Cop. This duality, which is transparent at the level of category theory, is often obscured in applications and can lead to surprising relationships.
Adjoint functors: A functor can be left (or right) adjoint to another functor that maps in the opposite direction. Such a pair of adjoint functors typically arises from a construction defined by a universal property; this can be seen as a more abstract and powerful view on universal properties.
Many of the above concepts, especially equivalence of categories, adjoint functor pairs, and functor categories, can be situated into the context of higher-dimensional categories. Briefly, if we consider a morphism between two objects as a "process taking us from one object to another", then higher-dimensional categories allow us to profitably generalize this by considering "higher-dimensional processes".
For example, a (strict)
2-category is a category together with "morphisms between morphisms", i.e., processes which allow us to transform one morphism into another. We can then "compose" these "bimorphisms" both horizontally and vertically, and we require a 2-dimensional "exchange law" to hold, relating the two composition laws. In this context, the standard example is Cat, the 2-category of all (small) categories, and in this example, bimorphisms of morphisms are simply
natural transformations of morphisms in the usual sense. Another basic example is to consider a 2-category with a single object; these are essentially
Bicategories are a weaker notion of 2-dimensional categories in which the composition of morphisms is not strictly associative, but only associative "up to" an isomorphism.
Whilst specific examples of functors and natural transformations had been given by
Samuel Eilenberg and
Saunders Mac Lane in a 1942 paper on
group theory, these concepts were introduced in a more general sense, together with the additional notion of categories, in a 1945 paper by the same authors (who discussed applications of category theory to the field of
algebraic topology). Their work was an important part of the transition from intuitive and geometric
homological algebra, Eilenberg and Mac Lane later writing that their goal was to understand natural transformations, which first required the definition of functors, then categories.
Stanislaw Ulam, and some writing on his behalf, have claimed that related ideas were current in the late 1930s in Poland. Eilenberg was Polish, and studied mathematics in Poland in the 1930s. Category theory is also, in some sense, a continuation of the work of
Emmy Noether (one of Mac Lane's teachers) in formalizing abstract processes; Noether realized that understanding a type of mathematical structure requires understanding the processes that preserve that structure (
homomorphisms). Eilenberg and Mac Lane introduced categories for understanding and formalizing the processes (
functors) that relate
topological structures to algebraic structures (
topological invariants) that characterize them.
Certain categories called
topoi (singular topos) can even serve as an alternative to
axiomatic set theory as a foundation of mathematics. A topos can also be considered as a specific type of category with two additional topos axioms. These foundational applications of category theory have been worked out in fair detail as a basis for, and justification of,
Topos theory is a form of abstract
sheaf theory, with geometric origins, and leads to ideas such as
Category theory has been applied in other fields as well. For example,
John Baez has shown a link between
Feynman diagrams in
physics and monoidal categories. Another application of category theory, more specifically: topos theory, has been made in mathematical music theory, see for example the book The Topos of Music, Geometric Logic of Concepts, Theory, and Performance by
More recent efforts to introduce undergraduates to categories as a foundation for mathematics include those of
William Lawvere and Rosebrugh (2003) and Lawvere and
Stephen Schanuel (1997) and Mirroslav Yotov (2012).
^Some authors compose in the opposite order, writing fg or f ∘ g for g ∘ f. Computer scientists using category theory very commonly write f ; g for g ∘ f
^Instead of the notation 1x, the identity morphism for x may be denoted as idx.
^Note that a morphism that is both epic and monic is not necessarily an isomorphism! An elementary counterexample: in the category consisting of two objects A and B, the identity morphisms, and a single morphism f from A to B, f is both epic and monic but is not an isomorphism.