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.
| Date | Lean concepts | Applications | Course work |
|---|---|---|---|
| Introduction to LeanExpressions, definitions, theorem statements, the editor, and Infoview. | Elementary arithmetic with the Natural Number Game. |
Lean setup
| |
| 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. | ||
| 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. | ||
W4
| |||
| Structures, typeclasses, and algebraic structuresInstances, inheritance, synthesis, and generic theorems. | Build a small hierarchy of algebraic structures. |
Quiz 2
| |
W5
| |||
| Error-correcting codes in LeanBuild a small mathematical theory from definitions: Hamming distance, finite codes, linear maps, decoders, and counting bounds. | Repetition, parity-check, and the [7,4,3] Hamming code. | — | |
W6
| |||
| No classLegislative Day: NYU follows a Monday schedule. | — | — | |
| Introduction to monadsOption, bind, do notation, and the monad laws. | Safe arithmetic evaluation and a stateful counter. |
Homework 3
| |
W7
| |||
| Functors, applicatives, and IOMapping, accumulating validation, monadic sequencing, and loops in do notation. | Read, validate, and evaluate a table of calculations. | — | |
W8
| |||
| Metaprogramming I: Lean under the hoodNotation, syntax trees, macros, and the first steps in TacticM. | Extend our arithmetic language and write small tactics. |
Quiz 3
| |
W9
| |||
| Metaprogramming II: Asking another computerExpressions, metavariables, tactic construction, and external results. | Call a Python sum-of-squares library and verify its certificate in Lean. | — | |
| W11 | Metaprogramming III: Trusted proof automationReflection, certificates, and the boundary between trusted and untrusted computation. | Build a small sum-of-squares certificate checker. |
Make-up quizzes
|
| W12 | Program verificationSpecifications, correctness, termination, and inductive semantics. | Operational semantics and Hoare logic. |
Project work
|
| W13 | Agentic Lean proof generation I | Explore a generate–check–retry proof agent. |
Project work
|
| W14 | Agentic Lean proof generation II | Run 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, 7, and 9. Submission is through Gradescope.
-
Quizzes 1–3. Short in-person quizzes in lab during weeks 3, 5, 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)text · GitHub repo
- Theorem Proving in Lean 4(TPiL)text · GitHub repo
- Functional Programming in Lean(FPiL)text · GitHub repo
- Metaprogramming in Lean 4(MPiL)text · GitHub repo
Additional references
- The Mechanics of Proof(MoP)text · GitHub repo
- The Hitchhiker's Guide to Logical Verification — 2026 edition(LoVe)text · 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 · No office hours Friday, Nov 6
- Discussion section
- Thursdays, 11:15 am–12:05 pm · Tisch Hall (40 W 4th St), room LC9
- Zoom
- Join meeting
- Syllabus