COMP0009 Logic
University College London · Computer Science · 2026–27
Second-year course on mathematical logic for computer scientists, organised around one question: how can we be sure? The course runs from propositional logic to Gödel's theorems and on to the design of logics for particular problems. These notes accompany the lectures and contain the full mathematics, the exercises and the story that connects the weeks.
Lecture Notes
-
Chapter 1: CombinatorsWhy a type checker says no before a program runs: combinators, reduction, and the typing that polices them.
-
Chapter 2: Hilbert ProofsWhat a proof is: Hilbert-style proofs as checkable certificates, and why the compiler was checking one all along.
-
Chapter 3: Simply Typed Lambda CalculusPrograms as proofs: the simply typed lambda calculus, natural deduction, and the Curry–Howard correspondence.
-
Chapter 4: PolymorphismSpecifications: polymorphic types and the quantifier rules, with sorting as the worked example.
Introduction to Proof-theoretic Semantics
ESSLLI 2025 · Taught with Tao Gu
A five-day introductory course on proof-theoretic semantics (P-tS): an inferentialist alternative to the model-theoretic tradition, on which the meaning of a logical expression is constituted by the rules governing its use in proof rather than by reference to truth conditions in a model. The course was designed for graduate students, young researchers, and other non-specialists with a working knowledge of logic, and does not presuppose prior exposure to P-tS.
Across five lectures, the course develops the subject from first principles: proof theory and the shift from denotational to inferential semantics; Prawitz's theory of proof-theoretic validity; Sandqvist's base-extension semantics for classical and intuitionistic logic, and its connections to resolution calculi and logic programming; base-extension semantics for classical logic set against Kripke's model-theoretic semantics, and its extension to modal logic; and its extension to substructural logics, illustrated through intuitionistic multiplicative linear logic and inferentialist resource semantics.
Lecture Slides
-
Lecture 1: General Proof TheoryWhat logic is, natural deduction and proof theory, and the shift from denotationalism to inferentialism as a theory of meaning.
-
Lecture 2: Proof-theoretic ValidityPrawitz's normalization theorem and the analysis of proof-theoretic validity, including Prawitz's Conjecture.
-
Lecture 3: Base-extension SemanticsSandqvist's base-extension semantics for classical and intuitionistic propositional logic, and its connections to resolution calculi and logic programming.
-
Lecture 4: Classical Logic & Kripke SemanticsBase-extension semantics for classical logic set against Kripke's model-theoretic semantics, and its extension to modal and intuitionistic logic.
-
Lecture 5: Substructural LogicBase-extension semantics for substructural logics, with intuitionistic multiplicative linear logic as a case study, and its application to inferentialist resource semantics.