BACKGROUND:
Lean is a functional programming language that can be also used as an interactive theorem prover. Lean programming primarily involves defining types and functions. This allows your focus to remain on the problem domain and manipulating its data, rather than the details of programming. The Lean project was launched by Leonardo de Moura in 2013 as an open source project, hosted on GitHub.
PREPARATION:
The material for the tutorial can be found on https://github.com/leanprover/vetss2025. Please see the section “Preparing for the Tutorial” for more details.
To prepare for the tutorial, please do the following:
- Install Lean
- Clone this repository
- Ensure that you can build the code by running
lake build
from the command line - Ensure that your editor is correctly connected to Lean by opening one of the files, introducing an error, and checking that there is feedback
SPEAKERS:

Dr Ullrich is a Programming Languages researcher and engineer. He is one of the core contributor to the development of the Lean programming language and theorem prover. After finishing his PhD on the design of the current version of Lean, Lean 4, in 2023, he co-founded the Lean Focused Research Organization together with Leonardo de Moura, the creator of Lean, with the goal of tackling the challenges of scalability, usability, and proof automation in the Lean theorem prover.
Ever since Joachim has found beauty and elegance in Functional Programming, he’s been working with and on functional programming languages, in particular Haskell. He’s also always been fascinated by Interactive Theorem Proving and his academic persona used Isabelle and Coq for formalize mathematics and verify programs. These two interests find their natural synthesis in the Lean programming language, and Joachim joined the Lean FRO to work on the Lean compiler itself. Besides such serious nerdery, you’ll find Joachim dancing Swing and Tango (in particular when traveling to conferences, so talk to him if you want to join), paragliding and unapologetically making bad puns.