Trinity College Dublin

Skip to main content.

Top Level TCD Links


Module CS4002: Category theory

Credit weighting (ECTS)
5 credits
Semester/term taught
Hilary term 2013-14
Contact Hours
11 weeks, 3 lectures including tutorials per week
Prof. Arthur Hughes (Computer Science)
Learning Outcomes

On successful completion of this module, students will be able to explain why:

  • Many objects of interest in mathematics congregate in concrete categories.
  • Many objects of interest to mathematicians are themselves small categories.
  • Many objects of interest to mathematicians may be viewed as functors from small categories to the category of Sets.
  • Many important concepts in mathematics arise as adjoints, right or left, to previously known functors.
  • Many equivalence and duality theorems in mathematics arise as an equivalence of fixed subcategories induced by a pair of adjoint functors.
  • Many categories of interest are the Eilenberg-Moore or Kleisli categories of monads on familiar categories2
  • Many data types of interest to computing science are algebras for endofunctors.
  • Many process of interest to computing science are coalgebras for endofunctors.
Module Content

What is category theory? As a first approximation, one could say that category theory is the mathematical study of (abstract) algebras of functions. Just as group theory is the abstraction of the idea of a system of permutations of a set or symmetries of a geometric object, category theory arises from the idea of a system of functions among some objects.

We think of the composition g â°¦ f (f ; g often used in CS) as a sort of â``product'' of the functions f and g, and consider abstract â``algebras'' of the sort arising from collections of functions. A category is just such an â``algebra'', consisting of objects A, B, C, ¼ and arrows f \colon A â® B, g \colon B â® C, ..., that are closed under composition and satisfy certain conditions typical of the composition of functions1.


  • Categories - functions of sets, definition of a category, examples of categories, isomorphisms, constructions on categories, free categories, foundations: large, small, and locally small.
  • Abstract structures - epis and monos, initial and terminal objects, generalized elements, sections and retractions, products, examples of products, categories with products, Hom-sets.
  • Duality - the duality principle, coproducts, equalizers, coequalizers.
  • Groups and categories - groups in a category, the category of groups, groups as categories, finitely presented categories.
  • Limits and colimits - subobjects, pullbacks, properties of pullbacks, limits, preservation of limits, colimits.
  • Exponentials - exponential in a category, cartesian closed categories, Heyting algebras, equational definition, l-calculus.
  • Functors and naturality - category of categories, representable structure, stone duality, naturality, examples of natural transformations, exponentials of categories, functor categories, equivalence of categories, examples of equivalence.
  • Categories of diagrams - Set-valued functor categories, the Yoneda embedding, the Yoneda Lemma, applications of the Yoneda Lemma, Limits in categories of diagrams, colimits in categories of diagrams, exponentials in categories of diagrams, Topoi.
  • Adjoints - preliminary definition, Hom-set definition, examples of adjoints, order adjoints, quantifiers as adjoints, RAPL, locally cartesian closed categories, adjoint functor theorem.
Bibliography: Awodey, S. (2006). Category Theory. Oxford Logic Guides 49, Oxford University Press.
Module Prerequisite
Assessment Detail
This module will be examined in a 2 hour examination in Trinity term.