Announcements

Sep 23

Today's class will meet on Zoom. Join the meeting.

Aug 26

The first class is Wednesday, September 2. Join on Zoom. Bring a laptop. Before class, you can try to install Lean and the VS Code extension, but we will not need it on the first day. We will begin with the Natural Number Game.

Schedule and course materials

Lecture files and course worksheets will be linked from the corresponding week as the semester runs.

Fall 2026 course schedule
DateLean conceptsApplicationsCourse work
Introduction to LeanExpressions, definitions, theorem statements, the editor, and Infoview.Elementary arithmetic with the Natural Number Game.Lean setup
W1
Logic, proof terms, and tacticsProofs as terms; logical connectives; forward and backward reasoning.Proofs in elementary logic and combinatorics. Two ways of writing proofs in Lean.Homework 1
W2
Dependent type theoryDependent functions, definitional equality, polymorphism, and universes.Types as specifications: subtypes, vectors, matrices, & continuous functions.Quiz 1
W3
Inductive types, recursion, and inductionInductive data and propositions; structural recursion and induction.Proving theorems about lists and trees.Homework 2
W4
W5Structures, typeclasses, and algebraic structuresInstances, inheritance, synthesis, and generic theorems.Build a small hierarchy of algebraic structures.Quiz 2
W6Linear algebra in MathlibMathlib's algebraic hierarchy, coercions, and generic theorems.An application of linear algebra: Linear regression and least squares.Homework 3
No classLegislative Day: NYU follows a Monday schedule.——
W7Working effectively with MathlibFinding definitions and lemmas; namespaces, rewriting, and automation.Analysis and optimization examples.Quiz 3
W8Executable Lean and monadsOption, Except, State, do notation, and IO.Turn the linear algebra and optimization examples into executable code.Homework 4
W9Program verificationSpecifications, correctness, termination, and inductive semantics.Operational semantics and Hoare logic.Quiz 4
W10Lean under the hoodSyntax, macros, elaboration, expressions, and kernel checking.Build a small language inside Lean.Make-up quizzes
W11Tactic metaprogrammingGoals, metavariables, expressions, and recursive tactics.Build a small positivity tactic.Project work
W12Trusted proof automationReflection, certificates, and the boundary between trusted and untrusted computation.Build a small sum-of-squares certificate checker.Project work
W13Agentic Lean proof generation IExplore a generate–check–retry proof agent.Project work
W14Agentic Lean proof generation IIRun and evaluate an existing prover-training system.Project work

Weeks 10–14. The discussion section may split into an advanced mathematics track (for example, topology and measure theory) and an AI4Lean track (proof search, agents, and reinforcement learning).

The plan may change slightly as the semester progresses.

Course work

  • Homework 1–4. Lean worksheets due at the end of weeks 2, 4, 6, and 8. Submission is through Gradescope.

  • Quizzes 1–4. Short in-person quizzes in lab during weeks 3, 5, 7, and 9.

  • Final project. Project instructions and the due date will be posted here.

Books and Lean files

The course draws from these online books and their accompanying Lean repositories.

Main references

  • Mathematics in Lean(MiL) — Jeremy Avigad and Patrick Massottext · GitHub repo
  • Theorem Proving in Lean 4(TPiL) — Jeremy Avigad, Leonardo de Moura, Soonho Kong, Sebastian Ullrich, with contributions from the Lean Communitytext · GitHub repo
  • Functional Programming in Lean(FPiL) — David Thrane Christiansentext · GitHub repo
  • Metaprogramming in Lean 4(MPiL) — Arthur Paulino, Damiano Testa, Edward Ayers, Evgenia Karunus, Henrik Böving, Jannis Limperg, Siddhartha Gadgil, and Siddharth Bhattext · GitHub repo

Additional references

  • The Mechanics of Proof(MoP) — Heather Macbethtext · GitHub repo
  • The Hitchhiker's Guide to Logical Verification — 2026 edition(LoVe) — Anne Baanen, Alexander Bentkamp, Jasmin Blanchette, Xavier Généreux, Johannes Hölzl, and Jannis Limpergtext · GitHub repo

Setup and reference

Course information

Instructor
Jaume de Dios Pont · jdedios@nyu.edu
Office hours
Tuesdays, 4–5 pm · 60 Fifth Avenue, office 615
Teaching assistant
Niket Patel · nnp5656@nyu.edu
TA office hours
Fridays, 2–3 pm · 60 Fifth Avenue, CDS room 244
Discussion section
Thursdays, 11:15 am–12:05 pm · Tisch Hall (40 W 4th St), room LC9
Zoom
Join meeting
Syllabus
PDF