This webpage is about Lean 3, which is effectively obsolete; the community has migrated to Lean 4.
Jump to the corresponding page on the main Lean 4 website.
Installing Lean and mathlib on Linux #
This document explains how to get started with Lean and mathlib on a generic Linux distribution (there is a specific page for Debian and derived distributions such as Ubuntu).
All commands below should be typed inside a terminal.
-
Lean itself doesn't depend on much infrastructure, but supporting tools needed by most users require
git
,curl
, andpython3
(on Debian and Ubuntu alsopython3-pip
andpython3-venv
). So the first step is to get those. -
The next step installs a small tool called
elan
which will handle updating Lean according to the needs of your current project (hit Enter when a question is asked). It will live in$HOME/.elan
and add a line to$HOME/.profile
.curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh
-
You will also need a code editor that has a Lean plugin. The recommended choice is Visual Studio Code. The alternative is to use Emacs, and its lean-mode.
- Install VS Code.
- Launch VS Code.
- Click on the extension icon
(or in older versions) in the side bar on the left edge of
the screen (or press ShiftCtrlX) and search for
leanprover
. - Select the
lean
extension (unique namejroesch.lean
). There is also alean4
extension, but that one does not work with mathlib. - Click "install" (In old versions of VS Code, you might need to click "reload" afterwards)
- Verify Lean is working, for example by saving a file
test.lean
and entering#eval 1+1
. A green line should appear underneath#eval 1+1
, and hovering the mouse over it you should see2
displayed.
-
Then we install a small tool called
leanproject
that which will handle updating mathlib according to the needs of your current project. We use pipx to perform the installation.python3 -m pip install --user pipx python3 -m pipx ensurepath source ~/.profile pipx install mathlibtools
Lean Projects #
You can now read instructions about creating and working on Lean projects