THE CHOICE STRENGTH TABLE
not whether a theorem uses choice, but how much of it
“Depends on choice” is usually reported as one bit. set.mm declares three choice principles as separate axioms, so for this library it does not have to be.
Of 47,621 theorems, 1,528 reach one (3.21%). 583 need full choice. 879 need only countable choice. 66 need only dependent choice. The weaker principle carries more of the library than the strong one does.
Measured with gonzalgo · Metamath set.mm · proof closure of all 47,621 theorems against ax-ac, ax-ac2, ax-cc and ax-dc
| theorem | strongest principle needed | axioms reached |
|---|---|---|
| 1arithufd | full choice | ax-ac2 |
| 1arithufdlem1 | full choice | ax-ac2 |
| 1arithufdlem4 | full choice | ax-ac2 |
| 2sqr3nconstr | full choice | ax-ac2 |
| abrexctf | full choice | ax-ac2 |
| abrexdom | full choice | ax-ac2 |
| abrexdom2 | full choice | ax-ac2 |
| abrexdom2jm | full choice | ax-ac2 |
| abrexdomjm | full choice | ax-ac2 |
| ac2 | full choice | ax-ac |
| ac3 | full choice | ax-ac |
| ac4 | full choice | ax-ac2 |
| ac4c | full choice | ax-ac2 |
| ac5 | full choice | ax-ac2 |
| ac5b | full choice | ax-ac2 |
| ac6 | full choice | ax-ac2 |
| ac6c4 | full choice | ax-ac2 |
| ac6c5 | full choice | ax-ac2 |
| ac6gf | full choice | ax-ac2 |
| ac6mapd | full choice | ax-ac2 |
| ac6n | full choice | ax-ac2 |
| ac6s | full choice | ax-ac2 |
| ac6s2 | full choice | ax-ac2 |
| ac6s3 | full choice | ax-ac2 |
| ac6s3f | full choice | ax-ac2 |
| ac6s4 | full choice | ax-ac2 |
| ac6s5 | full choice | ax-ac2 |
| ac6s6 | full choice | ax-ac2 |
| ac6s6f | full choice | ax-ac2 |
| ac6sf | full choice | ax-ac2 |
| ac6sf2 | full choice | ax-ac2 |
| ac6sg | full choice | ax-ac2 |
| ac7 | full choice | ax-ac2 |
| ac7g | full choice | ax-ac2 |
| ac8 | full choice | ax-ac2 |
| ac8prim | full choice | ax-ac2 |
| ac9 | full choice | ax-ac2 |
| ac9s | full choice | ax-ac2 |
| aciunf1 | full choice | ax-ac2 |
| aciunf1lem | full choice | ax-ac2 |
| ackm | full choice | ax-ac2 |
| acsdomd | full choice | ax-ac2 |
| acsexdimd | full choice | ax-ac2 |
| acsinfd | full choice | ax-ac2 |
| acsinfdimd | full choice | ax-ac2 |
| acsmap2d | full choice | ax-ac2 |
| acsmapd | full choice | ax-ac2 |
| acunirnmpt | full choice | ax-ac2 |
| acunirnmpt2 | full choice | ax-ac2 |
| acunirnmpt2f | full choice | ax-ac2 |
| aean | full choice | ax-ac2 |
| aleph1 | full choice | ax-ac2 |
| aleph1irr | full choice | ax-ac2 |
| aleph1re | full choice | ax-ac2 |
| alephexp2 | full choice | ax-ac2 |
| alephom | full choice | ax-ac2 |
| alephreg | full choice | ax-ac2 |
| alephsucpw | full choice | ax-ac2 |
| alephval2 | full choice | ax-ac2 |
| alexsubALT | full choice | ax-ac2 |
| alexsubALTlem2 | full choice | ax-ac2 |
| alexsubALTlem4 | full choice | ax-ac2 |
| algextdeg | full choice | ax-ac2 |
| algextdeglem4 | full choice | ax-ac2 |
| algextdeglem6 | full choice | ax-ac2 |
| algextdeglem8 | full choice | ax-ac2 |
| assafld | full choice | ax-ac2 |
| assalactf1o | full choice | ax-ac2 |
| assarrginv | full choice | ax-ac2 |
| axac | full choice | ax-ac2 |
| axac10 | full choice | ax-ac2 |
| axac2 | full choice | ax-ac |
| axac3 | full choice | ax-ac2 |
| axaci | full choice | ax-ac2 |
| axacnd | full choice | ax-ac |
| axacndlem4 | full choice | ax-ac |
| axacndlem5 | full choice | ax-ac |
| axacprim | full choice | ax-ac |
| axdc | full choice | ax-ac2 |
| axdclem2 | full choice | ax-ac2 |
| bayesth | full choice | ax-ac2 |
| bdayfin | full choice | ax-ac2 ax-dc |
| bdayfinbnd | full choice | ax-ac2 ax-dc |
| bdayfinbndlem1 | full choice | ax-ac2 ax-dc |
| bdayfinbndlem2 | full choice | ax-ac2 ax-dc |
| bdayfinlem | full choice | ax-ac2 ax-dc |
| bj-grur1 | full choice | ax-ac2 |
| bj-pwcfsdom | full choice | ax-ac2 |
| boolesineq | full choice | ax-ac2 |
| borelmbl | full choice | ax-ac2 ax-cc |
| bormflebmf | full choice | ax-ac2 ax-cc |
| brdom3 | full choice | ax-ac2 |
| brdom4 | full choice | ax-ac2 |
| brdom5 | full choice | ax-ac2 |
| brdom6disj | full choice | ax-ac2 |
| brdom7disj | full choice | ax-ac2 |
| canth3 | full choice | ax-ac2 |
| carageniuncl | full choice | ax-ac2 |
| carageniuncllem2 | full choice | ax-ac2 |
| caragensal | full choice | ax-ac2 |
| caragenunicl | full choice | ax-ac2 |
| caratheodory | full choice | ax-ac2 |
| caratheodorylem2 | full choice | ax-ac2 |
| carddom | full choice | ax-ac2 |
| carden | full choice | ax-ac2 |
| cardeq0 | full choice | ax-ac2 |
| cardeqv | full choice | ax-ac2 |
| cardf | full choice | ax-ac2 |
| cardid | full choice | ax-ac2 |
| cardidd | full choice | ax-ac2 |
| cardidg | full choice | ax-ac2 |
| cardmin | full choice | ax-ac2 |
| cardsdom | full choice | ax-ac2 |
| cardval | full choice | ax-ac2 |
| carsgclctun | full choice | ax-ac2 |
| carsgclctunlem2 | full choice | ax-ac2 |
| carsgclctunlem3 | full choice | ax-ac2 |
| carsgsiga | full choice | ax-ac2 |
| ccfldextdgrr | full choice | ax-ac2 |
| cfpwsdom | full choice | ax-ac2 |
Showing the first 120 of 1,528 rows. Grouped by principle, strongest first. The full set is in the JSON and the CSV.
strongest partitions these theorems: a theorem reaching full choice is counted there even if it also reaches the weaker principles. The raw memberships overlap and are in the data — 583 reach full choice, 1016 reach countable, 88 reach dependent, with 137 theorems in both full and countable alone.
Get the data
choice-strength.json · choice-strength.csv · CC-BY-4.0 · version 2026-08-12
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 mm set.mm
Method: 10.5281/zenodo.21769846.
The weaker axiom does more work
1016 theorems reach countable choice against 583 reaching choice proper. Countable choice is the weaker principle and it is load-bearing for more of this library, which is not what a single choice-dependence figure would suggest.
It also changes what a repair would mean. A theorem resting only on countable choice is already closer to a constructive setting than the same theorem resting on full choice, and reporting both as “classical” erases the distinction the database went to the trouble of making.
Why this differs from the Kernel Index figure
The Kernel Index reports set.mm at 1.22%, which is 583 theorems reaching full choice over 47,621. Counting every choice principle gives 1,528, or 3.21%. Neither number is wrong; they answer different questions, and this table is where the difference is visible rather than implicit.
Lean has no counterpart to this row. Classical.choice is a single axiom with no weaker sibling in the core, so a Lean library cannot be stratified this way at all — the distinction exists here because set.mm's authors declared the principles separately.