The Lean Kernel Arena presents, tests and benchmarks proof checkers for the Lean Theorem Prover.
Checkers
| Checker | Version | π | β | π« | β±οΈ | π§ | |
|---|---|---|---|---|---|---|---|
| sokonanoda | master (0fab887) | 121/121 | 62/62 | 0 | 2.4β―m | 6.7β―GB | |
| zignodamus | master (1113722) | 121/121 | 62/62 | 0 | 3.6β―m | 7.8β―GB | |
| nanoclo | main (b27e4c5) | 121/121 | 62/62 | 0 | 7.9β―m | 6.6β―GB | |
| nanoda | master (4183202) | 119/119 | 55/55 | 9 | 22.1β―m | 7.9β―GB | |
| nanobruijn | master (8cd5f61) | 121/121 | 62/62 | 0 | 26.3β―m | 5.5β―GB | |
| official | v4.33.0 | 121/121 | 62/62 | 0 | 29.3β―m | 9.2β―GB | |
| official-nightly | 2026-08-01 | 121/121 | 62/62 | 0 | 29.6β―m | 7.6β―GB | |
| kiota | 0.1.0 | 116/116 | 62/62 | 5 | - | - | |
| evmlean | 0.2.0 | 101/101 | 60/60 | 22 | - | - | |
| lean4lean | arena (ecb3b66) | 120/121 | 62/62 | 0 | 1.1β―h | 10.5β―GB | |
| mini | master (7ea4f55) | 104/106 | 58/58 | 20 | - | - | |
| vow-lean-kernel | 0.1.0 | 110/113 | 59/60 | 10 | - | - | |
| rpylean | v2026.7.6 | 116/120 | 61/62 | 1 | - | - | |
| official-v4.28.0 | 4.28.0 | 121/121 | 59/61 | 1 | 41.4β―m | 9.3β―GB | |
| still-nanoda | cache-study-port (06a07b7) | 119/121 | 59/62 | 0 | 15.5β―m | 5.2β―GB | |
| nyaya | master (a748f56) | 106/110 | 57/60 | 13 | - | - | |
| parse-only | 4.32.2 | 121/121 | 6/62 | 0 | 4.7β―m | 8.5β―GB |
Tests
Details
The data above is generated by running each checker on a suite of test inputs. Test inputs are either valid proofs that should be accepted (column π), or invalid proofs that should be rejected (column β). The checkers are scored based on their ability to correctly accept and reject these tests.
The time and space measurements refer to the mathlib test case, the largest correct test in the suite. The β±οΈ column shows virtual CPU time, calculated from instruction counts using a fixed rate of 6.0β―Ginstr/s. This provides consistent performance comparison across different hardware, though it does not reflect parallel processing capabilities that some checkers may use.
For performance-compared tests (such as the perf/ group), the cells show the runtime relative to the official checker. A dark green background marks the fastest checker for that test, and a light green background marks checkers that are at least 10% faster than the official checker.
Checkers that do not implement all features may choose to explicitly decline to process certain tests (column π«). These tests are not taken into account for correctness scoring. Tests that crash the checker (π₯) also considered declined.
Tests can come without an expected outcome (shown as π€·). These test corner cases that are not known to be soundness relevant and not typically relevant in practice, and where it is acceptable for a checker to accept or to reject. They are excluded from the completeness and soundness scoring.
For more details on the interface for external checks, and how to submit these, see the project's README.md file.
A tarball of the test suite (excluding tests larger than 10 MB) is available for download: lean-arena-tests.tar.gz (116 good tests, 62 bad tests, 2.6β―MB). The tarball contains subdirectories good/ and bad/ based on expected results, making it easy to test your own checker implementation.
The raw data behind this page is available as results.json (2.5β―MB). It contains the checker metadata (checkers), the test metadata (tests) and the array of all individual results (results), and may be useful for further analysis of the data.
The test suite includes a set of tutorial test cases that exercise individual features of the Lean type system step by step, from basic definitions through inductives, recursors, projections, definitional equality rules, and quotient types. Each tutorial test is a small self-contained environment, making them a useful starting point for developing and debugging a new kernel checker.
We are interested in extending our test suite, in particular tests that should be rejected are a useful help for authors of new kernel checkers.