LeanDojo is a Python library for learning–based theorem provers in Lean, providing two main features:
- Extracting data (proof states, tactics, premises, etc.) from Lean repos.
- Interacting with Lean programmatically.
LeanDojo's current version is compatible with Lean 4 v4.3.0-rc2
or later. We strongly suggest using the current version. However, you may use the legacy
branch if you want to work with earlier versions (including Lean 3).
- Supported platforms: Linux, Windows WSL, and macOS
- Git >= 2.25
- 3.9 <= Python < 3.12
- wget
- elan
- Generate a GitHub personal access token and set the environment variable
GITHUB_ACCESS_TOKEN
to it
LeanDojo is available on PyPI and can be installed via pip:
pip install lean-dojo
It can also be installed locally from the Git repo:
pip install .
- For general questions and discussions, please use GitHub Discussions.
- To report a potential bug, please open an issue. In the issue, please include your OS information, the version of LeanDojo, the exact steps to reproduce the error, and complete logs in debug mode (setting the environment variable
VERBOSE
to 1). The more details you provide, the better we will be able to help you.
- LeanDojo Website: The official website of LeanDojo.
- LeanDojo Benchmark : The dataset used in our paper, consisting of theorems and proofs extracted from mathlib by generate-benchmark-lean3.ipynb.
- LeanDojo Benchmark 4 : The Lean 4 version of LeanDojo Benchmark, consisting of theorems and proofs extracted from mathlib4 by generate-benchmark-lean4.ipynb.
- ReProver: The ReProver (Retrieval-Augmented Prover) model in our paper.
- LeanDojo ChatGPT Plugin
- Lean Copilot: Running language models as copilots for theorem proving in Lean
LeanDojo: Theorem Proving with Retrieval-Augmented Language Models
Neural Information Processing Systems (NeurIPS), 2023
Kaiyu Yang, Aidan Swope, Alex Gu, Rahul Chalamala,
Peiyang Song, Shixing Yu, Saad Godil, Ryan Prenger, Anima Anandkumar
@inproceedings{yang2023leandojo,
title={{LeanDojo}: Theorem Proving with Retrieval-Augmented Language Models},
author={Yang, Kaiyu and Swope, Aidan and Gu, Alex and Chalamala, Rahul and Song, Peiyang and Yu, Shixing and Godil, Saad and Prenger, Ryan and Anandkumar, Anima},
booktitle={Neural Information Processing Systems (NeurIPS)},
year={2023}
}