Learn Lean

Lean is a functional programming language and theorem prover built for formalizing math and for formal verification, but is flexible enough for general coding. If you’re a beginner, we recommend the Natural Number Game. If you feel ready to dive deeper, there are great textbooks, tutorials and interactive games to be found on this page.

Core documentation

Further reading

Interactive Games and Tutorials

Resources

How to cite Lean

Lean 4

To cite Lean 4 please reference The Lean 4 Theorem Prover and Programming Language published in CADE-28 - The 28th International Conference on Automated Deduction. PDF

Bibtex

@inproceedings{10.1007/978-3-030-79876-5_37,
  title = {The Lean 4 Theorem Prover and Programming Language},
  author = {Moura, Leonardo de and Ullrich, Sebastian},
  year = {2021},
  isbn = {978-3-030-79875-8},
  publisher = {Springer-Verlag},
  address = {Berlin, Heidelberg},
  url = {https://doi.org/10.1007/978-3-030-79876-5_37},
  doi = {10.1007/978-3-030-79876-5_37},
  abstract = {Lean 4 is a reimplementation of the Lean interactive theorem prover (ITP) in Lean itself. It addresses many shortcomings of the previous versions and contains many new features. Lean 4 is fully extensible: users can modify and extend the parser, elaborator, tactics, decision procedures, pretty printer, and code generator. The new system has a hygienic macro system custom-built for ITPs. It contains a new typeclass resolution procedure based on tabled resolution, addressing significant performance problems reported by the growing user base. Lean 4 is also an efficient functional programming language based on a novel programming paradigm called functional but in-place. Efficient code generation is crucial for Lean users because many write custom proof automation procedures in Lean itself.},
  booktitle = {Automated Deduction – CADE 28: 28th International Conference on Automated Deduction, Virtual Event, July 12–15, 2021, Proceedings},
  pages = {625–635},
  numpages = {11}
}

Lean 3

To cite Lean 3 please reference The Lean Theorem Prover (System Description) published in Lecture Notes in Computer Science. PDF.

Bibtex

@inproceedings{inproceedings,
  author = {de Moura, Leonardo and Kong, Soonho and Doorn, Floris and Raumer, Jakob},
  year = {2015},
  month = {08},
  pages = {378-388},
  title = {The Lean Theorem Prover (System Description)},
  volume = {9195},
  isbn = {978-3-319-21400-9},
  doi = {10.1007/978-3-319-21401-6_26}
}