Discover / Category theory / Reading path

Learn category theory: the best books to read in order

@sciencesherpaBeginner → Expert
9
Books
111
Hours
5
Stages
Not yet rated

This curriculum is designed for expert learners — those already comfortable with abstract mathematics or typed functional programming — who want to achieve deep, rigorous mastery of category theory. The path moves from precise foundational intuition, through the core machinery of functors, natural transformations, and adjoints, into advanced structural theory and applied categorical semantics for programmers, with each stage building directly on the vocabulary and proof techniques of the last.

1

Foundations: Objects, Morphisms & the Categorical Mindset

Beginner

Internalize the core definitions — categories, functors, natural transformations, universality — and develop the right geometric and compositional intuition before any heavy abstraction.

Study plan for this stage

Pace: 6–8 weeks, ~40–50 pages/day (Awodey Chapters 1–3, then Mac Lane Chapters I–II). Expect 2–3 days per chapter for deep engagement with definitions and examples.

Key concepts
  • Categories as abstract structures: objects, morphisms (arrows), composition, and identity laws
  • Functors as structure-preserving maps between categories; covariance and contravariance
  • Natural transformations as morphisms between functors; the 2-categorical perspective
  • Universality and universal properties (initial/terminal objects, products, coproducts) as the language of 'optimal solutions'
  • Concrete examples: Set, Grp, Top, Pos, and small categories like posets and monoids to ground abstraction
  • Commutative diagrams as the primary language for reasoning about categorical structures
  • Duality principle: every categorical statement has a dual obtained by reversing arrows
  • The categorical mindset: thinking in terms of relationships and structure-preservation rather than elements
You should be able to answer
  • What are the three components of a category, and why must composition be associative and have identities?
  • How do functors differ from homomorphisms, and what does it mean for a functor to be faithful, full, or essentially surjective?
  • What is a natural transformation, and how does it formalize the intuition of 'a family of morphisms that commute with the action of functors'?
  • Define a universal property and explain why products in Set are Cartesian products using the universal property definition.
  • What is the duality principle in category theory, and how does it relate to coproducts being the dual of products?
  • How do commutative diagrams encode compositional reasoning, and why are they central to categorical proofs?
Practice
  • Verify that Set, Grp, and Top are categories by checking closure under composition and identity laws.
  • Construct a functor from the category of finite sets to the category of finite groups and prove it preserves composition.
  • Draw commutative diagrams for the universal property of products in Set and verify that the Cartesian product satisfies it.
  • Work through Awodey's examples of natural transformations (e.g., the determinant as a natural transformation from GL_n to the multiplicative group) and write out the naturality square.
  • Prove that the opposite category C^op has the same objects but reversed arrows, and show how duality swaps products and coproducts.
  • Identify initial and terminal objects in Set, Grp, Top, and Pos; explain why they are unique up to isomorphism.
  • Construct a small category (e.g., a poset or monoid viewed as a category) and define a functor from it to Set.
  • For a given functor F: C → D, determine whether it is faithful, full, or essentially surjective by examining its action on morphisms.

Next up: Mastery of these foundations—especially the ability to recognize universal properties and reason with natural transformations—equips you to study limits and colimits, which unify products, coproducts, and many other constructions under a single categorical umbrella.

Category theory
Steve Awodey · 2006 · 256 pp

The single best entry point for mathematically mature readers: rigorous yet conversational, it builds from first principles through functors and adjoints with crystal-clear motivation. Read this first to establish precise vocabulary.

Categories for the Working Mathematician
Saunders Mac Lane · 1998 · 329 pp

The canonical reference by one of category theory's founders. After Awodey provides intuition, Mac Lane's terse, authoritative treatment cements definitions and exposes the full classical landscape including limits, adjoints, and Kan extensions.

2

Core Machinery: Limits, Adjoints & Representability

Intermediate

Master the workhorse constructions — limits and colimits, adjoint functors, the Yoneda lemma, and representable functors — understanding why adjoints are everywhere and how universality unifies mathematics.

Study plan for this stage

Pace: 8–10 weeks, ~40–50 pages/day (Conceptual Mathematics first: 3–4 weeks; Algebra second: 5–6 weeks)

Key concepts
  • Limits and colimits as universal constructions capturing products, coproducts, pullbacks, and pushouts
  • Adjoint functors: definition, existence, and why they are ubiquitous across mathematics
  • The Yoneda lemma and its proof—natural transformations and representable functors as the bridge between abstract and concrete
  • Representable functors and the Yoneda embedding: how objects are determined by their relationships to all other objects
  • Universal properties and universality as a unifying principle—why adjoints, limits, and representability are manifestations of the same idea
  • Concrete examples: free functors, forgetful functors, homology functors, and how they relate via adjunction
  • Natural transformations as the 'morphisms between functors' and their role in expressing universality
You should be able to answer
  • What is a limit in category theory, and how do products, pullbacks, and equalizers fit into this framework?
  • Define an adjoint pair of functors. Why are left adjoints unique (up to isomorphism) when they exist?
  • State the Yoneda lemma precisely. What does it tell us about natural transformations from a representable functor?
  • What is a representable functor, and why does the Yoneda embedding show that every category embeds into a functor category?
  • How do universal properties, adjoint functors, and representable functors express the same underlying idea of universality?
  • Give three concrete examples of adjoint pairs and explain why the left adjoint is 'free' or 'universal' in each case.
Practice
  • Work through Conceptual Mathematics's treatment of universal mapping properties: verify that the free group on a set is left adjoint to the forgetful functor, and write out the bijection of hom-sets explicitly.
  • Prove that limits in a category are unique up to isomorphism by using the universal property definition.
  • Compute a pullback in the category of sets and in the category of groups; verify the universal property holds.
  • State and prove the Yoneda lemma for a small category; apply it to show that a functor is determined by its values on representable functors.
  • Given a specific adjoint pair (e.g., free abelian group ⊣ forgetful), draw the commutative diagrams showing the unit and counit of the adjunction, and verify the triangle identities.
  • Construct the Yoneda embedding for a small category and verify that it is fully faithful.
  • Work through Mac Lane's treatment of adjoint functors in the context of homological algebra: identify the adjoint pairs in derived functors and explain why they preserve or reflect exactness.

Next up: This stage equips you with the universal language of adjoints, limits, and representability—the foundational tools that make advanced category theory (such as abelian categories, derived categories, and topos theory) tractable and conceptually transparent.

Conceptual Mathematics
F. William Lawvere · 1997 · 376 pp

Lawvere, a founding figure of categorical logic, presents category theory as a unifying language for all of mathematics. Reading this alongside deeper texts sharpens the philosophical and structural intuition behind universal constructions.

Algebra
Saunders Mac Lane · 1967 · 598 pp

Co-authored with Birkhoff, this classic grounds categorical constructions — products, coproducts, free objects — in concrete algebraic examples, making abstract universal properties feel inevitable and well-motivated.

3

Categorical Logic & Topos Theory

Intermediate

Understand how categories model logic and set theory via toposes, sheaves, and internal languages — bridging pure category theory with foundations of mathematics and type theory.

Study plan for this stage

Pace: 8–10 weeks, ~40–50 pages/day (with 2–3 days/week for exercises and review). Start with "Sheaves in Geometry and Logic" (Chapters 1–8, ~6 weeks), then move to "Sketches of an Elephant" Part A and B (2–4 weeks for selective deep dives into topos axiomatics and internal language).

Key concepts
  • Sheaves as generalized functions and their role in capturing local-to-global phenomena across topology and algebra
  • Grothendieck topologies and sites: axiomatizing 'open covers' abstractly to define sheaves in non-topological contexts
  • Elementary toposes as categorical models of intuitionistic logic and set theory, with the subobject classifier as the truth-value object
  • Internal language (Mitchell–Bénabou language): translating external categorical statements into intuitive type-theoretic reasoning within a topos
  • Geometric morphisms and essential geometric transformations between toposes, preserving logical structure
  • Presheaves and representable functors as the foundation for understanding sheaf categories and Yoneda embedding
  • Logical operations in toposes: how conjunction, disjunction, implication, and quantification are realized categorically via limits and colimits
  • Connections between toposes and type theory: how toposes provide categorical semantics for dependent type systems and constructive mathematics
You should be able to answer
  • What is a sheaf on a topological space, and how does the sheaf condition (compatibility across open covers) generalize to Grothendieck topologies?
  • How does the subobject classifier Ω in a topos encode truth values, and why is its existence equivalent to the ability to interpret logic internally?
  • Explain the Mitchell–Bénabou internal language: how do you translate a categorical statement (e.g., about morphisms and limits) into type-theoretic language within a topos?
  • What is a geometric morphism between toposes, and how does it preserve the logical structure (e.g., finite limits, power objects)?
  • How do presheaves and the Yoneda embedding provide the foundation for understanding sheaf categories and representable functors?
  • Describe the relationship between toposes and intuitionistic logic: why do toposes model constructive mathematics, and what role does the law of excluded middle play?
Practice
  • Work through Mac Lane–Moerdijk's construction of the sheaf category Sh(X) for a concrete topological space (e.g., ℝ or a finite poset); verify the sheaf condition explicitly for a few examples (continuous functions, locally constant functions).
  • Define a Grothendieck topology on a small category (e.g., the opposite of the category of open subsets of ℝ, or a poset); construct sheaves on this site and verify they satisfy the gluing axiom.
  • In a topos, construct the subobject classifier Ω and verify that subobjects of an object X correspond bijectively to morphisms X → Ω; work out this correspondence for a concrete topos like Set or Sh(X).
  • Translate a categorical proof (e.g., about limits or adjoint functors) into the internal language of a topos using the Mitchell–Bénabio language; practice writing 'internal' quantifiers and logical connectives.
  • Compute a geometric morphism between two toposes (e.g., between Sh(X) and Sh(Y) induced by a continuous map, or between presheaf toposes); verify that it preserves finite limits and power objects.
  • Analyze a non-trivial example of a topos that is not a sheaf category (e.g., the effective topos or a realizability topos from Johnstone); identify its subobject classifier and internal logic.

Next up: Mastery of toposes and their internal languages equips you to understand how categorical logic formalizes constructive mathematics and type theory, preparing you to explore dependent type systems, higher toposes, and the univalent foundations program in subsequent stages.

Sheaves in geometry and logic
Saunders Mac Lane · 1992 · 628 pp

The definitive text on topos theory, co-authored with Moerdijk. It reveals how a topos generalizes both set theory and topology, and introduces the internal logic that connects category theory to formal logic and type theory.

Sketches of an Elephant
Peter T. Johnstone · 2002 · 730 pp

Johnstone's encyclopedic treatment is the deepest reference on topos theory available. Read selectively after Mac Lane–Moerdijk to explore fibrations, classifying toposes, and geometric morphisms at research depth.

4

Applied Category Theory for Programmers: Functors, Monads & Types

Intermediate

Translate categorical abstractions directly into typed functional programming — functors, monads, applicatives, and adjunctions — understanding Haskell and functional design through a categorical lens.

Study plan for this stage

Pace: 8–10 weeks, ~40–50 pages/day (Milewski first 4–5 weeks, Taylor 3–4 weeks, with 1–2 weeks for integration and projects)

Key concepts
  • Functors as structure-preserving maps between categories; contravariance and covariance in Haskell type constructors
  • Monads as computational patterns: bind (>>=), return, and their categorical origins in adjoint functors
  • Applicative functors as intermediate abstraction between Functors and Monads; applicative style and effects
  • Natural transformations as polymorphic functions; parametric polymorphism as naturality in Haskell
  • Adjoint functors and their relationship to monads; left/right adjoints and universal properties
  • Concrete type-level programming: type classes (Functor, Monad, Applicative) as categorical structures
  • Practical reasoning about effects: Reader, Writer, State monads as categorical constructions
  • Limits and colimits as universal constructions; products, coproducts, and their programming analogues
You should be able to answer
  • What is a functor in category theory, and how does it manifest in Haskell as a type class? What is the difference between covariance and contravariance?
  • Explain the relationship between monads, adjoint functors, and the bind operation. Why does every monad arise from an adjunction?
  • What is a natural transformation, and how does parametric polymorphism in Haskell correspond to naturality?
  • How do applicative functors fit between functors and monads? What computational patterns do they capture that monads do not?
  • Describe a concrete example (e.g., Reader, State, or List monad) and explain its categorical structure using adjunctions or universal properties.
  • What are limits and colimits? How do products and coproducts in programming relate to these categorical concepts?
Practice
  • Implement custom Functor, Applicative, and Monad instances for a simple data type (e.g., a tree or parser combinator); verify they satisfy the laws using property-based testing (QuickCheck).
  • Write a natural transformation between two functors (e.g., from List to Maybe, or from Reader to IO); prove it is natural by checking commutativity of diagrams in code.
  • Refactor an imperative or callback-heavy program using Reader, Writer, or State monads; compare the categorical structure before and after.
  • Implement a simple adjoint pair (e.g., forgetful functor and free functor) in Haskell; demonstrate the unit and counit of the adjunction.
  • Solve 5–10 exercises from Milewski's 'Category Theory for Programmers' (Parts Two and Three) involving functor laws, monad laws, and natural transformations.
  • Work through Taylor's 'Practical Foundations' exercises on limits, colimits, and universal properties; translate at least two into concrete Haskell code (e.g., products as tuples, coproducts as Either).

Next up: This stage equips you with the categorical vocabulary and functional programming patterns to tackle advanced topics—such as category theory in logic, topos theory, or domain-specific language design—where functors, monads, and adjunctions become the primary tools for reasoning about complex systems.

Category Theory for Programmers
Bortosz Milewski · 2018

The most accessible bridge between category theory and functional programming (Haskell/Scala). Read here — after the math foundations — to see how monads, functors, and natural transformations map precisely onto type-class abstractions.

Practical foundations of mathematics
Taylor, Paul · 1999 · 572 pp

Connects categorical logic, type theory, and proof theory in a unified framework. Essential for programmers who want to understand the deep relationship between category theory, dependent types, and the Curry–Howard correspondence.

5

Advanced Frontiers: Enriched, Higher & Applied Category Theory

Expert

Reach the research frontier — enriched categories, monoidal categories, higher categories (∞-categories), and modern applied category theory — equipped to read current literature and apply categorical thinking to new domains.

Study plan for this stage

Pace: 12–16 weeks, ~40–50 pages/day (with 2–3 days/week for deep study of proofs and worked examples). Expect 3–4 weeks on foundational material (∞-categories, simplicial sets), 4–5 weeks on the core theory (presentability, stability, t-structures), and 4–5 weeks on applications and frontier topics.

Key concepts
  • Simplicial sets and their role as a foundational language for ∞-categories
  • ∞-categories (weak Kan complexes) as a generalization of ordinary categories with coherent higher morphisms
  • Functors and natural transformations in the ∞-categorical setting, including derived functors
  • Presentable ∞-categories and the adjoint functor theorem in this context
  • Stable ∞-categories, triangulated structures, and t-structures as tools for homological algebra
  • Higher categorical algebra: monoids, modules, and tensor products in ∞-categories
  • The ∞-categorical Yoneda lemma and representability
  • Applications to derived algebraic geometry, spectral sequences, and modern homotopy theory
You should be able to answer
  • What is a simplicial set, and why is the simplicial category Δ the natural indexing category for ∞-categorical structures?
  • How do weak Kan complexes generalize ordinary categories, and what role do inner and outer horns play in defining ∞-categories?
  • State and explain the ∞-categorical Yoneda lemma: how does it differ from the classical version, and what does representability mean for ∞-categories?
  • What is a presentable ∞-category, and why is presentability essential for applying the adjoint functor theorem in the ∞-categorical setting?
  • Define stable ∞-categories and explain how t-structures enable the recovery of classical triangulated categories and homological algebra.
  • How do monoidal and symmetric monoidal structures lift to ∞-categories, and what is the significance of the tensor product in this context?
  • Describe the relationship between ∞-categories and derived algebraic geometry: how does Lurie's framework enable the study of derived schemes and stacks?
Practice
  • Work through the construction of the nerve of an ordinary category and verify that it is a simplicial set; compute the nerve for small categories (e.g., the walking arrow, the simplex category).
  • Prove that the standard simplex Δⁿ is a Kan complex, and identify which horn inclusions are inner vs. outer.
  • Construct explicit examples of weak Kan complexes and non-Kan complexes; verify the Kan condition for small simplicial sets by hand.
  • For a given ∞-category C, compute the mapping spaces Map_C(x, y) using the simplicial hom and verify functoriality.
  • Apply the ∞-categorical Yoneda lemma to show that a functor F: C → D is fully faithful if and only if it induces equivalences on mapping spaces.
  • Construct a presentable ∞-category from a small ∞-category via ind-completion; verify that the adjoint functor theorem applies.
  • Work with a stable ∞-category (e.g., the derived ∞-category of a ring); identify a t-structure and recover the associated abelian category.
  • Study the monoidal structure on the ∞-category of spectra; compute tensor products and verify associativity and unitality up to coherent homotopy.

Next up: Mastery of Higher Topos Theory positions you to engage with current research in derived algebraic geometry, homotopy theory, and categorical logic, and prepares you to tackle specialized monographs on ∞-topoi, condensed mathematics, and applications of category theory to physics and computer science.

Higher Topos Theory (AM-170)
Jacob Lurie · 2009 · 935 pp

Lurie's landmark work defines the modern theory of (∞,1)-categories and ∞-toposes. Demanding but essential for anyone pursuing homotopy type theory, derived algebraic geometry, or the cutting edge of categorical foundations.

Discussion

Keep reading

Paths that share books, cover the same subject, or open a related topic.

Shares 1 book

Functional programming: a reading path to think in functions

Intermediate8books57 hrs3 stages
More on Set theory

Learn set theory: the best books in order

Beginner8books69 hrs4 stages
More on Astrophysics

Learn astrophysics: the best books to read in order

Beginner9books146 hrs4 stages
More on Classical mechanics

Learn classical mechanics: the best books in order

Beginner7books90 hrs4 stages