VSS25: The Lean Programming Language and Theorem Prover

Tuesday 12th August, Morning Session

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:

Additional materials may be circulated nearer the day, but students are asked to install Lean 4 on their machines in advance.

For installing Lean 4, please see their download pages. Information about the community of Lean users and the mathematical components library Mathlib can be found at the Lean Community website.

SPEAKERS:

Dr Sebastian Ullrich headshot

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.

Dr Joachim Breitner

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.