# Category Theory 101

A Learning Lounge course about Category Theory.The basics:

- A category is a thing with objects and arrows (called morphisms) that lead between the objects. The arrows have heads and tails. They are abstract in the sense that they can represent anything with complex structure or even no structure at all. Many categories are different, and there are types of categories.
- All categories follow some basic rules. The differences otherwise
can be enormous, though:
- For every object there is an identity arrow over that object that
just leads from that object to that object. There may be other
identities over that object, but one is distinctly
*the identity*. - If one arrow leads to an object from which another arrow leads, then those arrows can compose. All such arrows compose, but what you can say about the resulting arrow differs from category to category.
- Some arrows are the reverse or inverse of others.

- For every object there is an identity arrow over that object that
just leads from that object to that object. There may be other
identities over that object, but one is distinctly
- There are some basic examples of categories: one is Set, whose objects are sets and whose arrows are (total) functions between sets. The category Set's natural composition is therefore function composition.
- The general benefit of the category abstraction is that it allows you to take a kind of entity and use the natural similarities (morphisms) between them to describe a certain structure that they have. You would say that the category of your objects is isomorphic (has the same shape as) to some more familiar computational metaphor, and then you can deal with those abstract things in the same way as the simpler ones.

Short introduction:

- Category Theory entry on the Stanford Encyclopedia of Philosophy.
- Category Theory entry on Eric Weisstein's World of Mathematics by Eric W. Weisstein.
- A Categorical Manifesto by Joseph Goguen.
*Note:*this paper tells you Why Category Theory Matters, but it will not be of much help in actually learning category theory - perhaps will help you to relate categorical concepts to more concrete issues in mathematics and computer science. - Category theory for beginners

Online textbooks:

- Andrea Asperti and Giuseppe Longo, Categories, Types and Structures. An introduction to Category Theory for the working computer scientist. Available online only because it is out of print. A heavyweight tome.
- A Categorical Primer.
- A gentle introduction to category theory by Maarten M. Fokkinga. Does not covers triples (aka monads, see Monads 101), but covers categories, functors, naturality, adjointness, duality, initiality/finality, products/sums, limits/colimits.
- You may also integrate with the challenging tutorial written by David Madore: An introduction to the theory of categories. The tutorial is 50 pages long, dense with concepts and using examples mainly from ... er ... algebraic geometry? You may also find some stuff on categorical logic, but only in French. See under mathematics/dissertations and mathematics/thoughts.

Offline textbooks:

__Conceptual mathematics: a first introduction to categories__, F. William Lawvere, Stephen H. Schanuel. Cambridge, New York: Cambridge University Press, 1997. This book is very pedagogical and doesn't require any mathematical bewanderedness above highschool algebra.__Practical Foundations of Mathematics__, Paul Taylor. Cambridge university Press, 1999. This offline (and online) book is about most*everything*: Having topos theory and constructivist logic as its main thread, it encompasses roughly the courses Basic Logic 101, Basic Computer Science, Category Theory 101, algebra and more. The homepage for the book, with its online version. Alas, the online HTML version has only a limited number of formulas and no graphics, therefore you definitely want the printed one.__Categories for the Working Mathematician__, Saunders Mac Lane. Springer-Verlag, New York-Berlin, 1971. This is*the*book on category theory from the mathematician who actually introduced categories and functors. Highly Challenging, and not much related with computer science for what I (schizophonic) know.

**This page is linked from: ** Categorical Abstract Machine Category Theory Learning Lounge Monads 101 Morphism TUNES vs the WWW