Announcements
theorem vs lemma.example, with #check pointers to the corresponding Mathlib names. Use the Mathlib names in your proofs.let vs have in tactic mode.· focusing is optional.#golf).P01_Introduction.Formalized Math in Lean
Block Course at the Freie Universität Berlin — March 2026
This is the second time this course is being held. The structure will largely follow last year’s with some additions and modifications, but is nevertheless subject to (spontaneous) change. Constructive feedback is welcomed throughout the course and afterwards.
Teaching team
Christoph Spiegel will teach this course. He is a researcher at ZIB in Prof. Pokutta’s IOL group, working on combinatorics, optimization, machine learning, and proof formalization. Silas Rathke will serve as the teaching assistant. He is a Ph.D. student at FUB in Prof. Szabo’s group, focusing on extremal combinatorics and related formalization projects.
Time and venue
The course takes place from Monday the 2nd of March to Friday the 13th of March 2026, split into two daily sessions (9:30–12:30 and 14:00–17:00). It will be held in Seminarraum 119 (A3/SR 119) at Arnimallee 3 on the FUB Dahlem Campus.
Registration and credit
The course is open to everyone, including guest auditors (Gasthörer), not just those who need it for their degree. Priority will be given to FU students who need the course as part of their ABV degree program. The course will also be offered for Master students at the FUB as well as a BMS Advanced Course for the first time this year!
For the aktive Teilnahme, Master-level participants will be required to solve additional and more advanced problems in the exercise sessions compared to Bachelor-level students. Both Bachelor and Master-level students will sit the same final exam on the second Friday. Master-level students will additionally receive a small formalization project to complete in the one or two weeks following the course. The exact scope and evaluation format has not yet been determined but may include an in-person presentation.
Prerequisites
Completion of Analysis I and Linear Algebra I should provide a sufficient mathematical background, though participants should have a strong command of these subjects, as formal proof verification is very “unforgiving”. No prior programming experience is required, but a certain technical affinity and interest is needed. Besides formal proof verification, you will be in contact with many other tools such as git and GitHub, Patrick Massot’s leanblueprint, CI/CD in the form of GitHub Actions, as well as various ML tools.
Participants need to bring a laptop to follow along and work on exercises. The course will be conducted in English, but Bachelor students taking the course as part of their ABV requirements may express themselves in German if they prefer.
Navigation
- Course Outline — parts, sections, slides, and exercises
- Setup — installation, project creation, and troubleshooting
- Unicode Input — backslash commands for all symbols used in the course
- Tactic Reference — every tactic used in the course, by section
- Resources — textbooks, documentation, talks, and games
- Addendum — follow-ups and clarifications from the lectures