Learning Lean 4 #

There are many ways to start learning Lean, depending on your background and taste. They are all fun and rewarding, but also difficult and occasionally frustrating. Proof assistants are still difficult to use, and you cannot expect to become proficient after one afternoon of learning.

All the resources listed on this page are about Lean 4. Some have Lean 3 versions, but there is no point learning Lean 3 at this stage.

Hands-on approaches #

Books #

If you prefer reading a book (with exercises), there are a number of freely available Lean books. These are available as html or PDFs, but are usually meant to be read interactively in VSCode, doing Lean exercises on the fly:

(Meta)-programming and tactic writing #

More on foundations #

If you are interested in foundations of Lean, you can first read a very rough sketch here. If you want a bit more detail, you can read the first chapter of the HoTT book, ignoring anything where univalence is mentioned.

If you're interested in the nuts and bolts of Lean's kernel, writing your own external type checker for Lean, or exporting proofs, you can read more in Type Checking in Lean 4.

Another potentially useful resource is this page from Coq's documentation. The foundations of Coq are very very close to those of Lean. The most relevant differences to keep in mind are:

If you can read the above Coq documentation then you are ready for this paper by Mario Carneiro which precisely describes the type theory of Lean.

Note that understanding type-theoretic foundations is not at all necessary to use Lean.

Meetings #

A number of meetings have helped welcome newcomers to the Lean community. The following have links to online talks and other material that may be of interest. Note that all items until the year 2022 used Lean 3, but they may still contain relevant information.

More events can be found on the events page. We also have a YouTube channel which includes playlists of videos from the above conferences, and also other conferences with Lean-relevant content.