Skip to content

Tool for data extraction and interacting with Lean programmatically.

License

Notifications You must be signed in to change notification settings

davis-matthew/LeanDojo

 
 

Repository files navigation

LeanDojo: Machine Learning for Theorem Proving in Lean

LeanDojo

LeanDojo is a Python library for learning–based theorem provers in Lean, supporting both Lean 3 and Lean 4. It provides two main features:

  • Extracting data (proof states, tactics, premises, etc.) from Lean repos.
  • Interacting with Lean programmatically.

Documentation Status PyPI GitHub license Code style: black


Requirements

  • Supported platforms: Linux, Windows (WSL), and macOS (:warning: experimental for Apple silicon)
  • Git >= 2.25
  • 3.9 <= Python < 3.11
  • wget
  • Docker strongly recommended

Installation

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 .

Documentation

Questions and Bugs

  • 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.

Related Links

Citation

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}
}

About

Tool for data extraction and interacting with Lean programmatically.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 50.7%
  • Jupyter Notebook 41.2%
  • Lean 7.9%
  • Other 0.2%