Getting Lean running on your computer

Here’s an example of a simple logic proof in Lean. It’s a proof that that if P and Q are propositions (that is, true/false statements), and if P is true and P Q is true, then Q is true.

example (P Q : Prop) (h1 : P) (h2 : P → Q) : Q :=
begin
  apply h2,
  exact h1
end

The first line of the code states the theorem. Hypothesis h1 is that P is true, and hypothesis h2 is that P implies Q (note that Lean uses a regular arrow for implication rather than the more common sign). The conclusion, after the colon, is that Q is true. The proof is between the begin and the end and it’s clear that it somehow uses both hypothesis h1 and hypothesis h2. But just reading the proof, it’s hard to see exactly what is going on. We can’t learn Lean this way.

The whole point of using a theorem prover is that it makes proofs like this interactive. So, before we get going, we need to get this and other proofs running on your computer somehow. There are several ways to do it.

The best way: install Lean on your computer

The main advantage of this method is that, once you have it all working, Lean will be quick. It will start up instantly and it will run fast.

You will need to install Lean 3, and the Lean community tools. Instructions on how to get these things installed on your computer are here (right click and open in new tab if you don’t want to lose your place).

Once you have them, you can install the Lean repository formalising-mathematics-2022 associated with this course. Fire up your command line, navigate to the place where you want to install the repository, and type

leanproject get ImperialCollegeLondon/formalising-mathematics-2022

Then use VS Code’s “open folder” open and open the formalising-mathematics-2022 directory.

An alternative: Gitpod

You will need to set up an account in some way, but it is possible to access the course repository using Gitpod.

Right click here and “open link in new tab” to access the repository using Gitpod.

It takes longer to fire up, and I’ve had problems with some browsers, but I’ve got it working with Chrome. The disadvantages of this method: you are not able to save your work, you are not able to create your own projects, and I believe there is some time limit for the amount that you can use gitpod for free. However if you are just dabbling then this might be the solution for you.