Downloads · 30 days
8
8% of all-time downloads
xl-zhao/formal_proof_generator_v2_iter3
formal_proof_generator_v2_iter3 is a machine learning model from xl-zhao. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as llama3.
SubgoalXL is an advanced model for formal theorem proving, leveraging subgoal-based expert learning to enhance LLMs' formal reasoning capabilities. It addresses the challenges of scarce theorem-proving data and multi-…
Downloads · 30 days
8
8% of all-time downloads
All-time downloads
104
Public
Parameters
8B
32.1 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors32.1 GB · 100%
From the Hugging Face model README
SubgoalXL is an advanced model for formal theorem proving, leveraging subgoal-based expert learning to enhance LLMs' formal reasoning capabilities. It addresses the challenges of scarce theorem-proving data and multi-step reasoning by optimizing data efficiency and employing subgoal-level supervision. SubgoalXL iteratively refines formal statement, proof, and subgoal generators, allowing it to extract richer information from limited proofs and generate more precise formal proofs.
Below is an example code for using SubgoalXL with its custom prompt template for generating formal proofs:
from transformers import AutoModelForCausalLM, AutoTokenizer
# Load the model and tokenizer
tokenizer = AutoTokenizer.from_pretrained("xl-zhao/formal_proof_generator_v1_iter3")
model = AutoModelForCausalLM.from_pretrained("xl-zhao/formal_proof_generator_v1_iter3")
informal_statement = "" # Your informal statement here
formal_statement = "" # The formal statement generated by the model will be inserted here
# Define the prompt
prompt = f"### Problem:\n{informal_statement}\n\n### Proof:\n{formal_statement}"
# Tokenize and generate the formal proof
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=2048, temperature=0.8)
# Decode the output
formal_proof = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(formal_proof)
This model is intended for automated theorem proving, especially in environments that require high levels of mathematical rigor, such as Isabelle. By employing subgoal-based proof generation and expert learning, SubgoalXL is optimized for solving complex reasoning tasks in formal mathematics.
SubgoalXL sets a new state-of-the-art benchmark in formal theorem proving within the Isabelle environment, achieving an accuracy of 56.1% on the miniF2F dataset, an absolute improvement of 4.9% over previous approaches. The model has successfully solved the following problems:
For more information on the model's design and performance, please refer to the paper SubgoalXL: Subgoal-Based Expert Learning for Theorem Proving.
While SubgoalXL excels in formal theorem proving, its usage is tailored to this specific domain and may not generalize well to other tasks beyond formal logic and proof generation.
If you use SubgoalXL in your research, please cite our paper:
@article{zhao2024subgoalxl,
title = {SubgoalXL: Subgoal-based Expert Learning for Theorem Proving},
author = {Zhao, Xueliang and Zheng, Lin and Bo, Haige and Hu, Changran and Thakker, Urmish and Kong, Lingpeng},
journal={arXiv preprint arXiv:2408.11172},
url={https://arxiv.org/abs/2408.11172},
year = {2024},
}
For more information, please visit the project's GitHub repository or reach out via email at [email protected].