Curry-Howard seminar

Mon, Mar 19, 2018

This is the webpage for the Curry-Howard seminar, which is about logic, categories and computation. The seminar is on Thursdays from 2-3pm in Room 107 of Peter Hall at the University of Melbourne. For announcements you can subscribe to the mailing list or follow the seminar on Twitter. For previous semesters of the seminar, scroll down!

Our aim this semester is to understand how to use adjoint functors and topoi to organise mathematical knowledge, following Mac Lane and Moerdijk’s book “Sheaves in Geometry and Logic”. For an explanation of this aim see the seminar announcement and the first lecture below. For some additional motivation, see:

The seminar is supported by funding from Data61, DST group and ACEMS as part of a collaboration which aims to develop new tools to aid human reasoning about mathematics and software.

Talk schedule

  • 8-3 Daniel Murfet “An invitation to topos theory” (lecture notes | video)
  • 15-3 Daniel Murfet “The Curry-Howard correspondence (Part 1)” (lecture notes | video | more notes | response to Sam’s question)
  • 22-3 Will Troiani “Monads and programs” (lecture notes | video)
  • 29-3 James Clift “The definition of a topos (Part 1)” (lecture notes | video)
  • 5-4 No talk
  • 12-4 James Clift “The definition of a topos (Part 2)” (lecture notes | video)
  • 19-4 Patrick Elliott “Sheaves of sets (Part 1)” (lecture notes)
  • 26-4 Patrick Elliott “Sheaves of sets (Part 2)”
  • 3-5 Daniel Murfet “Geometric functors”
  • 10-5 Will Troiani “Higher-order logic and topoi (Part 1)”
  • 17-5 TBD “Higher-order logic and topoi (Part 2)”
  • 24-5 TBD “Classifying topoi (Part 1)”
  • 31-5 TBD “Classifying topoi (Part 2)”


  • Mac lane, Moerdijk “Sheaves in Geometry and Logic”.
  • Lambek, Scott “Introduction to higher-order categorical logic”
  • Barr, Wells “Toposes, triples and theories”
  • Sorensen, Urzyczyn “Lectures on the Curry-Howard isomorphism”.

Previous semesters of the seminar

S2 2016

Our aim was to read Sorensen and Urzyczyn’s book “Lectures on the Curry-Howard isomorphism”, up to the proof of the original Curry-Howard correspondence (between simply-typed lambda calculus and intuitionistic logic) in Chapter 4.

  • 14-7 William Troiani “The Church-Rosser Theorem” (lecture notes)
  • 2-8 William Troiani “Introduction to lambda calculus” (Sections 1.1-1.3, lecture notes)
  • 9-8 Samuel Lyons “All partial recursive functions are lambda-definable” (Section 1.7, lecture notes)
  • 16-8 James Clift “Simply-typed lambda calculus and strong normalisation” (Chapter 3, lecture notes)
  • 23-8 Shawn Standefer “Introduction to natural deduction” (Chapter 2, lecture notes)
  • 30-8 Daniel Murfet “The category of simply-typed lambda terms” (lecture notes)
  • 6-9 Shawn Standefer “Kripke semantics of intuitionistic logic” (lecture notes)
  • 13-9 No talk, instead we’ll watch Wadler’s Propositions as types and discuss
  • 20-9 Daniel Murfet “The category of simply-typed lambda terms II” (lecture notes and an appendix)
  • 4-10 Daniel Murfet “The Curry-Howard principle” (lecture notes)
  • 11-10 James Clift “System F: Polymorphic lambda calculus” (lecture notes)
  • 18-10 William Troiani “System F in the real world: Haskell and functional programming” (lecture notes) (the referenced talk by Rich Hickey is “Simple made easy”)

The references:

For the more categorical aspects, see:

  • Taylor “Practical foundations for mathematics”
  • Lambek, Scott “Introduction to higher-order categorical logic”
  • Barr, Wells “Toposes, triples and theories”
  • Lawvere “Equality in hyperdoctrines and comprehension schema as an adjoint functor”


  • The functional programming language Haskell compiles to an extension of System F. There was a recent blog post by Stephen Diehl on this, and a talk by Simon Peyton Jones.

  • An interesting podcast on Type Theory.

  • Videos from the ICFP 2016 functional programming conference.

  • Videos from a recent functional programming conference Compose in Melbourne.

  • Video of Yann LeCun on Deep Learning and the Future of AI. Perhaps there is a missing differentiable column in the Curry-Howard correspondence. From 49:30 of the video: “Analogy through algebra: this is very important because a lot of us have been thinking that reasoning should not be done through logic or rules, but should be done through continuous mathematics. And the reason for that is that instead of symbols you have vectors, instead of logical operations you have continuous mathematical operations like linear algebra. The reason for doing is that is that now every operation the machine does is differentiable, so you can train it to do reasoning.” (see 55:00 for memory).