Lean Kernel Arena / bugs/large-elim-param

Test "bugs/large-elim-param"

Expected: ✋ reject · Size: 6.2 KB · Lines: 88 · lean4export: 3.1.0 · Lean: 4.29.1 · 📄 Declaration

Proof of False via incorrect large elimination restriction.

If the check for whether a level is surely not zero is implemented wrong, in particular if it incorrectly returns true for params, we can create a universe-polymorphic

inductive MyBool.{u} : Sort u | tt | ff

where the recursor MyBool.rec.{1,0} can do large elimination of a Prop. Because of proof irrelevance we have tt = ff, so we can derive a contradiction.

Found by Anthony Wang using Aristotle, breaking the mini checker for the T-shirt bounty; it was fixed the same day.

Checker Result ⏱️ 🧠
mathgraph ✋ 1 ms 33.8 MB
sokonanoda ✋ 1 ms 33.7 MB
nanoclo ✋ 1 ms 43.8 MB
con-ron ✋ 23 ms 60.7 MB
lazylean ✋ 1 ms 21.3 MB
nanoda ✋ 1 ms 3.1 MB
nanobruijn ✋ 1 ms 5.5 MB
con-leche ✋ 4 ms 18.1 MB
eink0rn ✋ 2 ms 11.9 MB
ind-models ✋ 58 ms 104.6 MB
official ✋ 28 ms 66.7 MB
lean4lean ✋ 28 ms 97.7 MB
tenet ✋ 133 ms 43.9 MB
nanoclo-fortran ✋ 1 ms 4.2 MB
lean4cobol ✋ 3 ms 13.6 MB
evmlean ✋ 646 ms 131.8 MB
mini ✋ 34 ms 73.9 MB
overfull ✋ 10.0 s 45.9 MB
kiota ✋ 1 ms 7.0 MB
canonical-min 🚫 387 ms 1.1 GB
rpylean 👍 1 ms 4.3 MB
vow-lean-kernel 👍 86 ms 8.4 MB
official-v4.28.0 ✋ 34 ms 74.1 MB
still-nanoda ✋ 1 ms 3.2 MB
nyaya 👍 2 ms 9.3 MB
parse-only 👍 27 ms 65.2 MB