Category theory

It was introduced by Samuel Eilenberg and Saunders Mac Lane in the middle of the 20th century in their foundational work on algebraic topology.

In particular, many constructions of new mathematical objects from previous ones that appear similarly in several contexts are conveniently expressed and unified in terms of categories.

Examples include quotient spaces, direct products, completion, and duality.

Many areas of computer science also rely on category theory, such as functional programming and semantics.

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 commutative: 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.

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.

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.

Another basic example is to consider a 2-category with a single object; these are essentially monoidal categories.

It should be observed first that the whole concept of a category is essentially an auxiliary one; our basic concepts are essentially those of a functor and of a natural transformation [...]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,[3] these concepts were introduced in a more general sense, together with the additional notion of categories, in a 1945 paper by the same authors[2] (who discussed applications of category theory to the field of algebraic topology).

[4] Their work was an important part of the transition from intuitive and geometric homology to 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.

[citation needed] Eilenberg was Polish, and studied mathematics in Poland in the 1930s.

[5] 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;[6] Noether realized that understanding a type of mathematical structure requires understanding the processes that preserve that structure (homomorphisms).

[citation needed] 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.

Applications to mathematical logic and semantics (categorical abstract machine) came later.

Certain categories called topoi (singular topos) can even serve as an alternative to axiomatic set theory as a foundation of mathematics.

These foundational applications of category theory have been worked out in fair detail as a basis for, and justification of, constructive mathematics.

Categorical logic is now a well-defined field based on type theory for intuitionistic logics, with applications in functional programming and domain theory, where a cartesian closed category is taken as a non-syntactic description of a lambda calculus.

At the very least, category theoretic language clarifies what exactly these related areas have in common (in some abstract sense).

For example, John Baez has shown a link between Feynman diagrams in physics and monoidal categories.

Schematic representation of a category with objects X , Y , Z and morphisms f , g , g f . (The category's three identity morphisms 1 X , 1 Y and 1 Z , if explicitly represented, would appear as three arrows, from the letters X , Y , and Z to themselves, respectively.)
Commutative diagram defining natural transformations
Commutative diagram defining natural transformations