THE KERNEL INDEX

what formal libraries actually rest on

Each library here was measured directly. The two middle columns are the ones to read: how many theorems rest on a proof that was never finished, and how many were settled by running compiled code rather than by the kernel.

Measured with gonzalgo · Lean 4.32.1 with Mathlib · Metamath set.mm, iset.mm, nf.mm, ql.mm, hol.mm

librarysystemfoundationtheoremsunfinishedcompiler-trustedoptional axiom
MathlibLean 4Dependent type theory437,4290066.62%
Lean core (Init)Lean 4Dependent type theory45,0510023.91%
StdLean 4Dependent type theory34,5100056.66%
Lean core (Lean)Lean 4Dependent type theory9,2810012.83%
BatteriesLean 4Dependent type theory5,2490032.63%
AesopLean 4Dependent type theory7710012.97%
ProofWidgetsLean 4Dependent type theory1650027.88%
PlausibleLean 4Dependent type theory87006.9%
QqLean 4Dependent type theory360019.44%
set.mmMetamathZFC set theory, classical first-order logic47,62101.22%
iset.mmMetamathIntuitionistic set theory16,2360
nf.mmMetamathQuine's New Foundations5,9760
ql.mmMetamathQuantum logic1,1400
hol.mmMetamathHigher-order logic1510

Red marks a non-zero count — theorems resting on an unfinished proof, or on the compiler. unfinished counts theorems reaching a sorry (Lean) or a ?-bearing proof (Metamath) anywhere upstream, not only those that state one. optional axiom is the share of theorems depending on Classical.choice in Lean and on full choice in set.mm; the other databases declare no choice axiom.

Get the data

kernel-index.json · kernel-index.csv · CC-BY-4.0 · version 2026-08-05

One of the gonzalgo indexes — standing measurements of what formal libraries rest on, remeasured as the libraries move. Cite the series as 10.5281/zenodo.21900625, which resolves to the current deposit.

Reproduce it

pip install gonzalgo
gonzalgo trust mathlib_split.tsv      # the Lean rows
gonzalgo mm set.mm iset.mm nf.mm ql.mm hol.mm   # the Metamath rows

Every figure comes from the proof system's own bookkeeping — Lean's collectAxioms and Metamath's proof structure. The extractors ship with the tool, so you can re-derive any row here yourself.

Why it exists

“This library rests on nothing but the kernel” is something people have had to take on faith, because checking it at library scale wasn't practical. The numbers above are that check. A zero in the middle columns means someone ran it and it came back empty.