NJUDeepEngine/llm_based_atp

Code for paper: "LLM-based Automated Theorem Proving Hinges on Scalable Synthetic Data Generation"

Python

4

7 commits

updated Jul 28, 2026

See the code

README

LLM-based Automated Theorem Proving Hinges on Scalable Synthetic Data Generation

paper Hugging Face

This repository contains the implementation of our DoBeVi proposed in the paper: LLM-based Automated Theorem Proving Hinges on Scalable Synthetic Data Generation [πŸ“„ arXiv:2505.12031]

We thank LeanDojo for its significant contributions to the ATP community, upon which our DoBeVi framework is proudly built.


πŸ“ Directory Structure

llm_base_atp/
β”œβ”€β”€ README.md                    # Project documentation
β”œβ”€β”€ Visual/                      # The visualization of tree-search proof results for MiniF2F
β”œβ”€β”€ DoBeVi/                      # Core implementation of DoBeVi
β”‚   β”œβ”€β”€ requirements.txt         # Python dependencies
β”‚   └── src/                     # Source code
β”‚       β”œβ”€β”€ __init__.py          # Package initializer
β”‚       β”œβ”€β”€ dojo/                # Lightweight LeanDojo wrapper for Lean 4 interaction
β”‚       β”œβ”€β”€ search/              # Proof search algorithms and logic
β”‚       β”œβ”€β”€ eval.py              # Entry point for evaluation
β”‚       β”œβ”€β”€ config.py            # Configuration settings 
β”‚       β”œβ”€β”€ utils.py             # Utility functions
β”‚       └── .env.template        # Template for environment setup

βš™οΈ Setup Instructions

1. Create and Activate Conda Environment

conda create -n dobevi python=3.11 -y
conda activate dobevi

2. Install Python Dependencies

pip install -r requirements.txt

3. Install Graphviz (Required for Visualization)

conda install -c conda-forge graphviz

4. Download the Policy Model

Please download the pretrained policy model from Hugging Face.


πŸ§ͺ Evaluation

Step 1: Prepare a Lean 4 Project

Ensure you have a Lean 4 repository that builds successfully using:

lake build

Step 2: Configure Environment Variables

Copy and edit the template config file to match your local setup:

cd src/
cp .env.template .env

You’ll need to set values for:

  • Benchmark project path
  • Model path
  • Tree search budget
  • Output path for results

Step 3: Run the Evaluation

python -m eval

🚧 TODO / Future Work

  • Release code for synthetic data generation
  • Add support for whole-proof methods and fine-tuning

πŸ™‹ Contributing & Issues

We welcome issues, feature requests, and feedback from the community. Please feel free to open an issue if you encounter any problems or have suggestions!



πŸ“š Citation

If you use this work in your research, please cite:

@article{lai2025llm,
  title={LLM-based Automated Theorem Proving Hinges on Scalable Synthetic Data Generation},
  author={Lai, Junyu and Zhang, Jiakun and Xu, Shuo and Chen, Taolue and Wang, Zihang and Yang, Yao and Zhang, Jiarui and Cao, Chun and Xu, Jingwei},
  journal={arXiv preprint arXiv:2505.12031},
  year={2025}
}

NJUDeepEngine/llm_based_atp

Code for paper: "LLM-based Automated Theorem Proving Hinges on Scalable Synthetic Data Generation"

Python

4

7 commits

updated Jul 28, 2026

See the code

README

LLM-based Automated Theorem Proving Hinges on Scalable Synthetic Data Generation

paper Hugging Face

This repository contains the implementation of our DoBeVi proposed in the paper: LLM-based Automated Theorem Proving Hinges on Scalable Synthetic Data Generation [πŸ“„ arXiv:2505.12031]

We thank LeanDojo for its significant contributions to the ATP community, upon which our DoBeVi framework is proudly built.


πŸ“ Directory Structure

llm_base_atp/
β”œβ”€β”€ README.md                    # Project documentation
β”œβ”€β”€ Visual/                      # The visualization of tree-search proof results for MiniF2F
β”œβ”€β”€ DoBeVi/                      # Core implementation of DoBeVi
β”‚   β”œβ”€β”€ requirements.txt         # Python dependencies
β”‚   └── src/                     # Source code
β”‚       β”œβ”€β”€ __init__.py          # Package initializer
β”‚       β”œβ”€β”€ dojo/                # Lightweight LeanDojo wrapper for Lean 4 interaction
β”‚       β”œβ”€β”€ search/              # Proof search algorithms and logic
β”‚       β”œβ”€β”€ eval.py              # Entry point for evaluation
β”‚       β”œβ”€β”€ config.py            # Configuration settings 
β”‚       β”œβ”€β”€ utils.py             # Utility functions
β”‚       └── .env.template        # Template for environment setup

βš™οΈ Setup Instructions

1. Create and Activate Conda Environment

conda create -n dobevi python=3.11 -y
conda activate dobevi

2. Install Python Dependencies

pip install -r requirements.txt

3. Install Graphviz (Required for Visualization)

conda install -c conda-forge graphviz

4. Download the Policy Model

Please download the pretrained policy model from Hugging Face.


πŸ§ͺ Evaluation

Step 1: Prepare a Lean 4 Project

Ensure you have a Lean 4 repository that builds successfully using:

lake build

Step 2: Configure Environment Variables

Copy and edit the template config file to match your local setup:

cd src/
cp .env.template .env

You’ll need to set values for:

  • Benchmark project path
  • Model path
  • Tree search budget
  • Output path for results

Step 3: Run the Evaluation

python -m eval

🚧 TODO / Future Work

  • Release code for synthetic data generation
  • Add support for whole-proof methods and fine-tuning

πŸ™‹ Contributing & Issues

We welcome issues, feature requests, and feedback from the community. Please feel free to open an issue if you encounter any problems or have suggestions!



πŸ“š Citation

If you use this work in your research, please cite:

@article{lai2025llm,
  title={LLM-based Automated Theorem Proving Hinges on Scalable Synthetic Data Generation},
  author={Lai, Junyu and Zhang, Jiakun and Xu, Shuo and Chen, Taolue and Wang, Zihang and Yang, Yao and Zhang, Jiarui and Cao, Chun and Xu, Jingwei},
  journal={arXiv preprint arXiv:2505.12031},
  year={2025}
}