Method

Procedure 1. Two-ended search.

Search expands from the axioms and from the target. Each end keeps a frontier of at most 15 lemmas. The ends alternate one move each until the gap reaches 0.

forward back gap gt Mathlib axioms Ft (≤15) Bt (≤15) Target T
gt=min⁡u∈Ft,  v∈Btd(u,v),stop when gt=0g_t = \min_{u \in F_t,\; v \in B_t} d(u, v), \qquad \text{stop when } g_t = 0

Here FtF_t is the forward frontier at round tt, BtB_t the backward frontier, d(u,v)d(u,v) the shortest implication path from uu to vv, gtg_t the gap.

Definition 2. Middle points.

A middle point is a statement that completes the proof once proved from both sides. The search keeps 5 of them per target and each end works toward its nearest one.

F m1 m2 m3 T
M={m:F⊢m  ∧  m⊢T},m∗=arg⁡min⁡m∈M[d(F,m)+d(m,T)]M = \{ m : F \vdash m \;\wedge\; m \vdash T \}, \qquad m^{*} = \arg\min_{m \in M} \big[ d(F, m) + d(m, T) \big]

Here MM is the set of middle points, FF the forward frontier, TT the target, m∗m^{*} the cheapest middle point.

Definition 3. Lemma frontier.

Each end ranks candidate lemmas by coverage per cost and keeps the top 15. The ranking is recomputed after every round.

sort, cut candidates ℓ score cpc(ℓ) frontier, top 15
cpc(ℓ)=R(ℓ) P(ℓ)τ(ℓ)\mathrm{cpc}(\ell) = \frac{R(\ell)\, P(\ell)}{\tau(\ell)}

Here ℓ\ell is a candidate lemma, R(ℓ)R(\ell) its weighted downstream reach, P(ℓ)P(\ell) the probability it is provable, τ(ℓ)\tau(\ell) the tokens to prove it.

Procedure 4. Bridge finding.

From the target, ask what would need to be true for it to be true. Each answer becomes a new statement one step closer to the forward frontier.

h ⇒ s s ⇒ T h (H2) h′ (H2) s (H1) T (H0)
H0={T},Hk+1={h:h⇒s for some s∈Hk}H_0 = \{T\}, \qquad H_{k+1} = \{ h : h \Rightarrow s \text{ for some } s \in H_k \}

Here HkH_k is the set of bridge hypotheses after kk backward steps, TT the target, hh a hypothesis, ss a statement already in HkH_k.

Procedure 5. Cheapest question first.

Each goal gets three attempts in order of cost: disprove it, prove its double negation, prove it directly. A proof of the double negation gives the goal with Classical.choice, one of the 3 allowed axioms.

1 2 3 goal P disprove ¬P prove ¬¬P prove P
¬¬P  →  P(classical),order: ¬P  ≺  ¬¬P  ≺  P\neg\neg P \;\to\; P \quad \text{(classical)}, \qquad \text{order: } \neg P \;\prec\; \neg\neg P \;\prec\; P

Here PP is the goal statement, ¬P\neg P its negation, and ≺\prec means "is tried before".

Definition 6. Optimal question.

The best question closes the most open goals per token. For targets it is the problem whose solution unlocks the most downstream problems. For lemmas it is the sub-lemma that closes the most subgoals.

question q open goal g1 open goal g2 open goal g3 |C(q)| = 3
q∗=arg⁡max⁡q∣C(q)∣τ(q)q^{*} = \arg\max_{q} \frac{|C(q)|}{\tau(q)}

Here qq is a candidate question, C(q)C(q) the set of open goals closed by answering qq, τ(q)\tau(q) the tokens to answer it.

Definition 7. Failure lemma bank.

Every Lean-verified sub-lemma from a failed attempt enters the bank if it is non-trivial. Its score is the number of open goals it closes.

Lean pass failed attempt verified ℓ filter NT(ℓ) bank, s(ℓ)
s(ℓ)=∣{ g∈Gopen:ℓ closes g }∣,NT(ℓ)  ⟺  exact?, simp, omega, decide, grind all fail in 10 ss(\ell) = \big|\{\, g \in G_{\mathrm{open}} : \ell \text{ closes } g \,\}\big|, \qquad \mathrm{NT}(\ell) \iff \text{exact?, simp, omega, decide, grind all fail in } 10\,\mathrm{s}

Here ℓ\ell is a verified sub-lemma, GopenG_{\mathrm{open}} the open goals, s(ℓ)s(\ell) the bank score, NT\mathrm{NT} the non-trivial filter.

Definition 8. Coverage graph.

The graph joins LeanGraph (388,105 nodes, 11.3M edges) with the 909 formal-conjectures Erdős files and the 68 FME conjectures. Reach counts open nodes weighted by distance.

v w1, d = 1 w2, d = 2 R(v) = 1.5
R(v)=∑w∈O(v)1d(v,w)R(v) = \sum_{w \in O(v)} \frac{1}{d(v, w)}

Here vv is a node, O(v)O(v) the open nodes reachable from vv, d(v,w)d(v,w) the bridge distance from vv to ww, R(v)R(v) the weighted downstream reach.

Definition 9. AI-rated hypotheses.

A model rates which bridge hypotheses and middle points to try. The rating combines four inputs.

provability p distance dF distance dB novelty n rating ρ(h)
ρ(h)=f(p(h),  dF(h),  dB(h),  n(h))\rho(h) = f\big( p(h),\; d_F(h),\; d_B(h),\; n(h) \big)

Here hh is a hypothesis, pp the estimated provability, dFd_F and dBd_B the distances to the forward and backward frontiers, nn the concept novelty, ff the combining function fitted on past success.

Procedure 10. Shortener cascade.

Five steps shorten a verified proof. Every step must Lean-verify. Steps 1 to 3 run twice on CPU as an idempotence test: a second pass that shortens again is a defect in the first.

π0 simplify collapse grind have2lemma meta-short, π5
red(π)=1−∣π5∣∣π0∣,∣πi+1∣=∣πi∣ on a second pass\mathrm{red}(\pi) = 1 - \frac{|\pi_{5}|}{|\pi_{0}|}, \qquad |\pi_{i+1}| = |\pi_i| \text{ on a second pass}

Here π0\pi_0 is the input proof, πi\pi_i the proof after step ii, ∣π∣|\pi| its step count, red\mathrm{red} the reduction.

Procedure 11. Physarum shortest path.

Conductivity on each implication edge grows with the flow it carries and decays otherwise. Edges on short bridges end with high conductivity. The method keeps several parallel paths and adapts as the bank grows.

source (Ft) e1: D high e2: D low sink (Bt)
Qe=DeLe (pi−pj),dDedt=∣Qe∣−DeQ_e = \frac{D_e}{L_e}\,(p_i - p_j), \qquad \frac{dD_e}{dt} = |Q_e| - D_e

Here e=(i,j)e=(i,j) is an edge, DeD_e its conductivity, LeL_e its length, pip_i and pjp_j the pressures at its ends, QeQ_e the flow.

Definition 12. One shared engine.

One function scores targets, scores lemmas, and defines the objective that Optuna maximizes in C4. The optimizer and the system therefore rank by the same quantity.

target selection lemma selection C4 Optuna objective engine cpc = RP/τ
cpc=R⋅Pτ,J=Nnttcpu\mathrm{cpc} = \frac{R \cdot P}{\tau}, \qquad J = \frac{N_{\mathrm{nt}}}{t_{\mathrm{cpu}}}

Here RR is weighted downstream reach, PP the probability of being provable, τ\tau the tokens, JJ the C4 objective, NntN_{\mathrm{nt}} the non-trivial verified solves on the held-out PutnamBench slice, tcput_{\mathrm{cpu}} the CPU-minutes.