Views
No views yet
| Model | miniF2F-test | miniF2F-valid | ProofNet-test |
|---|---|---|---|
| 👉 BFS-Prover-V2-7B | 82.4% | - | - |
| BFS-Prover-V2-32B | 86.1% | 85.5% | 41.4% |
| BFS-Prover-V2-32B w/ Planner | 95.08% | 95.5% | - |
"{state}:::" where {state} is a Lean4 tactic state.::: serves as a special indicator to signal the model to generate a tactic for the given state.1# Example code for loading and using the tactic generator model
2from transformers import AutoModelForCausalLM, AutoTokenizer
3model = AutoModelForCausalLM.from_pretrained("ByteDance-Seed/BFS-Prover-V2-7B")
4tokenizer = AutoTokenizer.from_pretrained("ByteDance-Seed/BFS-Prover-V2-7B")
5
6# imo_1964_p2 from miniF2F
7state = """a b c : ℝ
8
9 h₀ : 0 < a ∧ 0 < b ∧ 0 < c
10
11 h₁ : c < a + b
12
13 h₂ : b < a + c
14
15 h₃ : a < b + c
16
17 ⊢ a ^ 2 * (b + c - a) + b ^ 2 * (c + a - b) + c ^ 2 * (a + b - c) ≤ 3 * a * b * c"""
18
19# Tactic generation
20sep = ":::"
21prompt = state + sep
22inputs = tokenizer(prompt, return_tensors="pt")
23outputs = model.generate(**inputs)
24tactic = tokenizer.decode(outputs[0], skip_special_tokens=True).split(sep)[1]
25print(tactic)
26
27# Generated tactic: "nlinarith [sq_nonneg (a - b), sq_nonneg (c - a), sq_nonneg (b - c)]"1@article{xin2025scaling,
2 title={Scaling up Multi-Turn Off-Policy RL and Multi-Agent Tree Search for LLM Step-Provers},
3 author={Xin, Ran and Zheng, Zeyu and Nie, Yanchen and Yuan, Kun and Xiao, Xia},
4 journal={arXiv preprint arXiv:2509.06493},
5 year={2025}
6}