Category Theory

Arrows, Structures and Functors: The Categorical Language


Category theory studies structural aspects of mathematics that are common to many fields of mathematics: e.g., algebra, topology, functional analysis, logic, and computer science. Thus, category theorists tend to have many diverse interests. My research interests have included: relational categories, categories of some abstract structures and categorical semantics of programming languages.

 
A Brief History of Category Theory


Category theory is a mathematical language which arose in the study of limits for universal coefficient theorems in Cech cohomology by Eilenberg and Mac Lane (1942); so the topic has its origins in some sophisticated topology.
However, soon category theory became a field in itself. The reason for this is that it provides a unifying mathematical modeling language. It lends itself very well to extracting and generalizing elementary and essential notions and constructions from many mathematical disciplines. Thanks to its general nature, the language of category theory enables one to "transport" problems from one area of mathematics, via suitable "functors", to another area, where the solution may be easier to find.

Categories have successfully been applied in formulating and solving problems in topology, algebra, geometry and functional analysis. Moreover, in the sixties Lawvere started a project aiming at a purely categorical foundation of all mathematics, beginning with an appropriate axiomatization of the category of sets. This has led to a huge interest in and development of sheaf and topos theory.

More recently, computer science discovered category theory. It quickly found applications in the field of algebraic semantics and the theory of (functional) programming languages; it is still unclear what kind of applications might be expected in the scope of cognitive science.

 
A Brief Description of Category Theory


The basic notions of the language are actually quite simple.
A category consists of a set of OBJECTS and a set of MORPHISMS.
Every morphism has a SOURCE object and a TARGET object.
Given objects X and Y, we write Hom(X,Y) for the set of morphisms from X to Y (i.e., having X as source and Y as target).
The axioms for a category are that it consist of a set of objects and for any 2 objects X and Y a set Hom(X,Y) of morphisms from X to Y, and
(i) Given a morphism g in Hom(X,Y) and a morphism f in Hom(Y,Z), there is morphism which we call f*g in Hom(X,Z). (This binary operation * is called COMPOSITION.)
(ii) Composition is associative: (f*g)*h = f*(g*h).
(iii) For each object X there is a morphism id|X from X to X, called the IDENTITY ON X.
(iv) Given any f in Hom(X,Y), f*id|X = f and id|Y*f = f.

The classic example is Set, the category with sets as objects and functions as morphisms, and the usual composition as composition! Or else
Vect --- vector spaces as objects, linear maps as morphisms
Group --- groups as objects, homomorphisms as morphisms
Top --- topological spaces as objects, continuous functions as morphisms
Diff --- smooth manifolds as objects, smooth maps as morphisms
Ring --- rings as objects, ring homomorphisms as morphisms

Note that in all these cases the morphisms are actually a special sort of functions. That need not be the case in general! For example, an ordered set is a category with its elements as objects and one morphism in each Hom(X,Y) if X is less than or equal to Y, but none otherwise.

 
Life takes place within -- and between -- categories.

 

Many nice things in mathematics are functors. A functor is a kind of map between categories. A FUNCTOR F from a category C to a category D is a map from the set of objects of C to the set of objects of D together with a map from the set Hom(X,Y) for any objects X,Y of C to Hom(F(X),F(Y)). That is, objects go to objects and morphisms go to morphisms.

Category theory is popular among algebraic topologists. Typically an algebraic topologist will try to assign algebraic invariants to topological structures. The golden rule of such invariants is that they should be FUNCTORIAL. That is, they should be functors! For example, the fundamental group is functorial. Topologists know how to cook up a group called the fundamental group from any space. (The group keeps track of how many holes the space has.) But ALSO, any map between spaces determines a homomorphism of the fundamental groups. So the fundamental group is really a functor from the category Top to the category Group.

 

This allows us to completely transpose any situation involving spaces and continuous maps between them to a parallel situation involving groups and homomorphisms, and thus reduce some topology problems to algebra problems!

The category version of the definition of a group:  A group is a category with one object in which all the morphisms are isomorphisms.

 

A representation of a group, if we think of a group as a category as is just a functor from that category to the category Vect of vector spaces. So we can define a representation of a category to be a functor from that category to the category of vector spaces.

 
What's a natural transformation?


There are NATURAL TRANSFORMATIONS between functors. Suppose we have two functors F and G from the category C to the category D. A natural transformation n from F to G consists of:
(i) for each object X in C, a morphism n(X) from F(X) to G(X), such that
(ii) the following diagram commutes:
n(Y)*F(f) = G(f)*n(X): F(X) --------> G(Y)

An example would be "abelianization", which maps a group H to the abelian group H/[H,H]. If F were the fundamental group and G were the first homology group, we could say that abelianization is a natural transformation from F to G.
If you want to get into deeper waters, think about this question:


What sort of thing is the "category of all categories"?

 

It turns out to be, not just a category, but a 2-category. That means that in addition to objects and morphisms, it has "2-morphisms", that is, morphisms between morphisms. To see how this goes, let's call the 2-category of all categories "Cat". Then the objects of Cat are categories, the morphisms of Cat are functors, and the 2-morphisms are natural transformations!
Let me just say a bit about where things go from here. First of all, it turns out that we can keep playing this game ad infinitum. We can define a notion of "n-category" having objects, morphisms between objects, 2-morphisms between morphisms, and so on up to n-morphisms... and it turns out that "category of all n-categories" is really an (n+1)-category.
Just as we can talk about a representation of a category, that is, a functor to Vect, we can talk about a representation of an n-category. This is the same as an "n-functor to nVect", where nVect is the n-category of "n-vector spaces". While this doubtless may seem like insane generalization for its own sake,

Apart from the possibility of studying properties of given structures by formulating them within such a category, one can look at them in respect to other types of structures. This is were the concept of functor comes in: a functor is nothing but a mapping between two categories, again fulfilling some elementary properties concerning its behavior on the objects and arrows of the "source" category.
On top of the framework given by the two basic notions of category and functor, a whole theory of typical constructions has been built, including natural transformations, adjoint functors, and limits. While it is beyond the scope of this introduction to explain these in detail, it should be stressed here that all of those abound in all fields of mathematics, sometimes obviously so, sometimes quite heavily disguised. It is precisely in discovering such disguises where category theory has proven most useful, since this leads to more insight in the studied structures.

For example, It is interesting to note why associativity without commutativity is studied so much more than commutativity without associativity. Basically, because most of our examples of binary operations can be interpreted as composition of functions. For example, if write simply x for the operation of adding x to a real number (where x is a real number), then x + y is just x composed with y. Composition is always associative so the + operation is associative!

If we try to generalize the heck out of the concept of a group, keeping associativity as a sacred property, we get the notion of a category. Categories are some of the most basic structures in mathematics.

TOPOLOGY and CATEGORY THEORY SITES

Applied and Computational Category Theory at RISC-Linz

Topology Atlas

Topology Atlas: Questions in Topology

Ask a Topologist Bulletin Board Topology Atlas: Commentary

Topological Types

Bell's Boolean Spaces Machine

Monty Harper Song Lyrics - Topologically Speaking

Categories Home Page (at Mount Allison University)

Theory and Applications of Categories

Groupoid Home Page

Luca Mauri / Category Theory

Centre de Recherche en Théorie des Catégories -- Montréal

Links to ftp and WWW Sites of Categorical Interest

Electronic Journal on Theory and Applications of Categories

Information on the Xy-pic package for LaTeX documents

 

 


Maintained by:  Mara Alagic
Curriculum and Instruction Department
Wichita State University
Wichita, KS 67260-0028

Updated March 17, 2000