# Category Theory

* Definition, examples
* Monoidal categories
* Enriched categories
* Natural transformations
* Representable functors and Yoneda's lemma
* (Co-)cones and (co-)limits
* Adjoint functors
* Subcategories
* Categories of sets
* Categories of ordered sets
* Categories of graphs
* Additive categories
* Abelian categories

## Introduction

This Wikibook is an introduction to category theory. It is written for those who have some understanding of one or more branches of abstract mathematics, such as group theory, analysis or topology. The book contains many examples drawn from various branches of math. If you are not familiar with some of the kinds of math mentioned, don’t worry. If all the examples are unfamiliar, it may be wise to research a few before continuing.

### What is a category?

A category is a mathematical structure, like a group or a vector space, abstractly defined by axioms. Groups were defined in this way in order to study symmetries (of physical objects and equations, among other things). Vector spaces are an abstraction of vector calculus.
What makes category theory different from the study of other structures is that in a sense the concept of category is an abstraction of a kind of mathematics. (This cannot be made into a precise mathematical definition!) This makes category theory unusually self-referential and capable of treating many of the same questions that mathematical logic treats. In particular, it provides a language that unifies many concepts in different parts of math.
In more detail, a category has objects and morphisms or arrows. (It is best to think of the morphisms as arrows: the word “morphism” makes you think they are set maps, and they are not always set maps. The formal definition of category is given in the chapter on categories.)
* The category of groups has groups as objects and homomorphisms as arrows.
* The category of vector spaces has vector spaces as objects and linear maps as arrows.
The maps between categories that preserve structure are called functors.
* The underlying set of a group determines a functor from the category of groups to the category of sets.
* The fundamental group of a pointed space determines a functor from the category of pointed topological spaces to the category of groups. The fact that it is a functor means that a continuous point-preserving map from a pointed space S to a pointed space T induces a group homomorphism from the fundamental group of S to the fundamental group of T.
Categories form a category as well, with functors as arrows. Most fundamentally, functors between specific categories form a category: its morphisms are called natural transformations. The fact that category theory has natural transformations is arguably the single feature that makes category theory so important.

### History

Category theory was invented by Samuel Eilenberg and Saunders Mac Lane in the 1940s as a way of expressing certain constructions in algebraic topology. Category theory was developed rapidly in the subsequent decades. It has become an autonomous part of mathematics, studied for its own sake as well as being widely used as a unified language for the expression of mathematical ideas relating different fields.
For example, algebraic topology relates domains of interest in geometry to domains of interest in algebra. Algebraic geometry, on the other hand, goes in the opposite direction, associating, for example, with each commutative ring its spectrum of prime ideals. These fields were among the earliest to be studied using tools of category theory. Later applications came to abstract algebra, logic, computing science and physics, among others.

### Aspects of category theory

Because the concept of a category is so general, it is to be expected that theorems provable for all categories will not usually be very deep. Consequently, many theorems of category theory are stated and proved for particular classes of categories.
* Homological algebra is concerned with Abelian categories, which exhibit features suggested by the category of Abelian groups.
* Logic is studied using topos theory: a topos is a category with certain properties in common with the category of sets but which allows the logic of the topos to be weaker than classical logic. It is characteristic of the malleability of category theory that toposes were originally developed to study algebraic geometry.
Categorical reasoning can identify particular arguments or results as consequences of more general theory. For example, in the study of the theory of the GCD, the fact that it is essentially unique simply follows from the uniqueness of the product in any category and is thus merely one example of a more general result. On the other hand, the fact that the GCD of the integers A and B can be expressed as a linear combination of A and B with integer coefficients—GCD(a, b) = ma + nb, for some integers m and n—is a much deeper fact that is special to a much more restricted situation.

### Note on terminology

Most variations in terminology are discussed in the place where the terminology is defined. Here it is important to point out one annoying terminological problem: The adjective corresponding to “category” is “categorical”. Since “categorical” in logic means having only one model up to isomorphism, this can cause cognitive dissonance; in any case, the use of “categorical” in this book has nothing to do with the idea of having only one model.
Some authors use “categorial” instead. Unfortunately, this means something else in linguistics. This book follows majority usage with “categorical”.