2021.2 🐈 Category theory (IMD0102)

Contact:thanos@imd.ufrn.br (though you should use Zulip instead)
Older semesters: ..



  • required:
    • mathematical maturity: you should be able to reason and to express mathematical ideas in natural language;
    • familiarity with mathematical logic and set theory;
    • familiarity with the general ideas and tools of abstract algebra;
  • obvious:
    • {will, time} to {pratice, study, research}
  • you must have learned the main subjects of FMC1 and FMC2 (see fmcbook, mostly: Ch.1–4,7,8,10,12–17.)

(Obs. 1: learnpass.)

(Obs. 2: studyread.)


Categories: definitions and examples. Commutative diagrams. Definitions using arrows. Languages of functional programming as categories. Constructions in categories. Universal constructions. Epis and monos. Duality principle. Products and coproducts. Equalizers and coequalizers. Limits and colimits. Functors. Deduction systems as categories. Exponentials. CCC (Cartesian closed categories) and lambda calculus. Natural transformations. Yoneda lemma. Adjunction. Monads.


(Heard of libgen.rs?)

Main texts




Tools and tech

Obs.: The following list of tools might change, with the exception of the first item.

  2. Zulip: read the instructions
  3. TeX / LaTeX / ConTeXt. (Online editor/compiler: Overleaf.)
  4. Anything with a camera to scan things you’ve written down (see #1)
  5. Google Meet

(Install and/or create accounts where needed.)

Grading and roll calls

Disclaimer. I assume that the students of this class have chosen to enroll out of interest in understanding and learning its subject. Ideally you should completely ignore bureaucracies of the grade/roll-call sort and just dive in and enjoy the ride.


The final grade of each student will be based in one or more of the following:¹

(i) posted solutions of exercises; (ii) feedback on solutions of others (especially containing corrections or alternative paths); (iii) participation in discussions; (iv) solutions of problem sets (if any), written in TeX/LaTeX/ConTeXt; (v) notebook evaluation; (vi) oral exams via video call (private or open to class).

¹ this means that you should not count on any of them.

Note that:

  • Each student is responsible for maintaining an organized and well-written notes corresponding to their studies for this class.

Roll calls

I will be assigning (enumerated) Goals, which include text to study, which in turn includes excercises to be solved. Roll call presence correspond to any of the following: posting solutions; posting feedback; posting request-for-help. Tasks of goal n correspond to the classes of week n (in our case: to the 4 class-hours of the nth Saturday of the semester).

How to study, being a student of this class²

Attack the assigned problems. As soon as you’ve got a solution, post it if nobody else has beaten you to it. If someone already posted their solution, study it, compare it to yours, and give your opinion. Mark with a “reaction” such posts of other students to indicate that you’ve read it. Avoid posting a quick and superficial «seems OK», because in case such solution is wrong your comment will be seen as an error of yours, which may and will be used against you! And no, by the way, you do not have the right to remain silent.

If you cannot solve an exercise, worry not: post a new topic under the appropriate stream asking for help. Explain what you’ve done (if anything), where you’re stuck, etc. Same thing in case you have difficulties understanding any part of the assigned text.

About the partial function firstSolver : Exercises → Students I hope that:

  • it will be total
  • it will be surjective

So, if you have solved a bunch of problems: choose a few, post them (so that you become the firstSolver for them), and leave some for the rest. If the rest seems dead, do post what you have. Who knows, this might bring them back from the dead.

…With strange aeons, even death may die.

² as opposed to a lone wolf who is studying cats by themself


  1. Use Zulip’s channels whenever you need help!
  2. Never write something that you do not understand. In a resolution you should know (i) what the things you wrote mean; (ii) their role in your solution.
  3. It is forbidden to consult the solutions appendix (or other solutions found elsewhere) to solve any of the assigned homework.


Dynamic content


There might be a scoreboard here.

Problem Sets (PS)

None for the time being (and possibly in general).


Assigned on Zulip in #meta/cats


  • Studying a subject from a book obviously includes (at least an attempt to) solving all exercises and problems.
  • «(up) to/until» are always inclusive.
  • After studying any subject, an essential homework is always (automatically) assigned: without looking at your notes, define all the notions and prove all the theorems encountered;
    while (failed) {
      try again;
  • Except when explicitly permitted, all hw’s should be worked on without consulting any books/texts/sites/etc.


Goal 1

  1. [CTCS] Ch. 1

Goal 2

  1. [CTCS] §2.1–§2.3
  2. [Leinster] Ch. 0

Goal 3

  1. [Awodey] §1.1–§1.6
  2. [CTCS] §2.4–§2.6
  3. [Leinster] §1.1

Goal 4

  1. [CTCS] §2.7
  2. [Leinster] §1.2
  3. [Awodey] §1.7

Goal 5

  1. [CTCS] §2.8
  2. [Awodey] §1.9 (Exercises: 1–12)
  3. Catch up with pending goals

Goal 6

  1. [CTCS] §2.9–§2.10
  2. [Awodey] §2.1

Goal 7–8

  1. [Awodey] §2.1–§2.5

Goal 9

  1. [CTCS] §3.1
  2. [Awodey] §2.6–§2.8

Goal 10

  1. [CTCS] cap. 3
  2. [Awodey] cap. 3
  3. [leinster] §3.1, §3.3 (bed-time reading)

Goal 11

  1. [CTCS] 4.1, 4.2, 4.3
  2. [Awodey] 5.1, 5.2, 5.3

Goal 12

  1. [Leinster] §1.3; §2.1; Intro of chap.4
  2. [Awodey] 6.1, 6.2, 6.5, 6.6


This semester is over!

Last update: Thu Mar 3 22:37:18 -03 2022