This is the work in progress port of mathlib to Lean 4.
A guide on how to port a file from mathlib3 to mathlib4 can be found in the wiki.
The porting effort is coordinated through zulip,
if you want to contribute to the port please come to the mathlib4
stream.
- Make sure Lean is not running, and close all instances of VSCode running Lean processes.
- Get the newest version of
elan
. If you already have installed a version of Lean, you can runIf the above command fails, or if you need to installelan self update
elan
, runIf this also fails, follow the instructions undercurl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh
Regular install
here. - To build
mathlib4
runlake build
. To build and run all tests, runmake
. - You can use
lake build +Mathlib.Import.Path
to build a particular file, e.g.lake build +Mathlib.Algebra.Group.Defs
. - If you added a new file, run the following command to update
Mathlib.lean
find Mathlib -name "*.lean" | env LC_ALL=C sort | sed 's/\.lean//;s,/,.,g;s/^/import /' > Mathlib.lean
Building HTML documentation locally is straightforward:
lake -Kdoc=on build Mathlib:docs
The HTML files can then be found in build/doc
.
If you want to update dependencies, use lake update -Kdoc=on
.
This will update the lean_packages/manifest.json
file correctly.
You will need to make a PR after committing the changes to this file.