pitmonticone / LeanDojo

Tool for data extraction and interacting with Lean programmatically.

Home Page:https://leandojo.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 (⚠️ experimental for Apple silicon)
  • Git >= 2.25
  • 3.9 <= Python <= 3.10
  • 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 .

⚠️ Known issue: If you encounter errors related to ray and pydantic, see this temporary workaround: ray-project/ray#37019. The error will be fixed when Ray 2.6 is released.

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
Under review, NeurIPS (Datasets and Benchmarks Track), 2023
Kaiyu Yang, Aidan Swope, Alex Gu, Rahul Chalamala,
Peiyang Song, Shixing Yu, Saad Godil, Ryan Prenger, Anima Anandkumar

@article{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},
  journal={arXiv preprint arXiv:2306.15626},
  year={2023}
}

About

Tool for data extraction and interacting with Lean programmatically.

https://leandojo.org

License:MIT License


Languages

Language:Python 67.1%Language:Jupyter Notebook 22.4%Language:Lean 10.2%Language:Dockerfile 0.1%Language:Shell 0.1%