Legendre
Named after Legendre, the mathematician who invented the transformation at the heart of theoretical physicsH=pq˙−L

Legendre Leaderboard: which Lean search engine is the best?

Published Lean search engines each evaluate on their own corpus with their own metrics, so their numbers are not comparable to one another — and nobody has measured how general-purpose embedding models do on Lean-specific retrieval. Every system here is scored on one pinned corpus, with one document renderer, using exact search with no approximate index to confound the result. Every system publishes a full R@k curve, not a cut-off.

Recall curves

A cut-off is a single point on a curve, and two systems with the same nDCG@10 can climb very differently. Everything here is derived from the stored per-query rank positions and shipped as static JSON, so the curves render with no backend and no runtime compute.

Task
Systems
Max lines
MetricP@k suppressed — single relevant declaration per query; nDCG@k is the rank-sensitive one that still applies
Breakdown
Recall@k — Theorem search
MathlibQR, released with the LeanSearch v2 paper and used unmodified: 200 Mathlib declarations × up to 6 query styles (Lean-ish, LaTeX, Natural language, Slogan, Nickname, Special case) = 946 queries, 254 of the 1,200 slots being blank in the source. One relevant declaration per query, so P@k is a mechanical R@k⁄k decay and is suppressed; nDCG@k asks where in the top k it landed. Gold resolves by full_name against mathlib-4280 (310,579 declarations); 11 of the 200 are absent at the pinned revision, so their queries count as unresolved, not misses. Dashed curves are engines we did not run: every benchmark query was POSTed to the service its authors operate — Lean Finder v2 at POST lean-lsp-proxy.leanfinder.workers.dev, Lean Finder v1 at POST bxrituxuhpc70w8w.us-east-1.aws.endpoints.huggingface.cloud, LeanSearch v2 at POST leansearch.net/search and LeanExplore at POST leanexplore.com/api/v2/search — and the ranking that came back is what is scored. The model, the index, the reranker and the corpus snapshot behind those curves are theirs; only the queries and the metrics are ours. MathLeap-Qwen (from Qwen3-Embedding-8B) and MathLeap-Octen (from Octen-Embedding-8B, itself a Qwen3-Embedding-8B fine-tune) were fine-tuned for this task on Mathlib informalizations from the same source family this corpus renders, one snapshot apart, so their numbers are in-domain rather than zero-shot. MathLeap-Qwen and Qwen3-8B are the same weights before and after that training and both are plotted, holding architecture, dimensionality, pooling and prompt format fixed. LeanSearch v2 ends at k=50: the service returns no more results, so the metric is undefined above that rather than flat.
k=10k=20k=50k=1001251020501002000%20%40%60%80%100%k (log scale)Recall@kLean Finder v2MathLeap-QwenLean Finder v1MathLeap-OctenNemotron3-8BLeanSearch v2Qwen3-4BQwen3-8BLeanExploreNemotron3-1BQwen3-0.6BEmbGemma-300MBM25BGE-M3
  • Lean Finder v2published engine
  • Lean Finder v1published engine
  • MathLeap-Qwen
  • LeanSearch v2published engine
  • MathLeap-Octen
  • Nemotron3-8B
  • Qwen3-8B
  • Qwen3-4B
  • LeanExplorepublished engine
  • Nemotron3-1B
  • Qwen3-0.6B
  • BGE-M3
  • EmbGemma-300M
  • BM25
Table view — the same curves as values at the cut-offs the papers report.
SystemnR@1R@5R@10R@20R@50R@100
Lean Finder v289455.0%82.8%89.4%92.4%95.6%97.3%
Lean Finder v189445.7%66.6%72.6%78.4%83.6%86.9%
MathLeap-Qwen89442.4%65.3%72.8%78.3%83.8%87.8%
LeanSearch v2k≤5089440.3%67.7%74.4%77.9%78.9%n/a
MathLeap-Octen89441.4%64.3%71.6%77.7%83.1%86.9%
Nemotron3-8B89436.9%62.3%68.3%74.0%79.5%83.7%
Qwen3-8B89431.9%53.4%60.1%65.8%73.9%77.9%
Qwen3-4B89429.2%49.8%57.3%64.0%72.5%77.7%
LeanExplore89423.4%45.5%56.5%65.5%74.7%78.7%
Nemotron3-1B89421.1%43.5%51.0%60.1%69.5%73.9%
Qwen3-0.6B89421.1%38.8%46.4%52.5%60.9%66.9%
BGE-M389416.8%31.2%37.9%43.4%50.7%56.3%
EmbGemma-300M89414.3%29.0%36.1%44.1%51.8%58.3%
BM2589414.7%26.2%32.6%39.0%47.1%53.9%

At k = 10

Best overall
0.725nDCG@10
Lean Finder v2 — published engine; R@10 89.4%
Lead over next
+22.7%nDCG@10
vs Lean Finder v1, and not a tie: the R@10 intervals do not overlap (89.4% vs 72.6%)
Best embedding model
0.572nDCG@10
MathLeap-Qwen-8B — the best model we embedded ourselves, on the same 894 queries
Queries scored
894
of 946 in MathlibQR; the remainder have a gold declaration absent from this corpus

The leaderboard has the same systems as a sortable table with model metadata, licenses and latency; explore the datasets to see the ground-truth pairs behind every number, or run a live query against these systems side by side.