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 ⏱️ 🧠
sokonanoda ✋ 1 ms 40.3 MB
mathgraph ✋ 1 ms 34.1 MB
nanoclo ✋ 1 ms 41.9 MB
con-ron ✋ 22 ms 51.1 MB
nanobruijn ✋ 1 ms 5.6 MB
nanoda ✋ 1 ms 3.4 MB
lazylean ✋ 1 ms 21.8 MB
con-leche ✋ 4 ms 20.9 MB
tenet-jvm ✋ 112 ms 65.3 MB
eink0rn ✋ 2 ms 12.7 MB
official ✋ 28 ms 66.6 MB
ind-models ✋ 100 ms 108.3 MB
lean4lean ✋ 28 ms 97.4 MB
tenet ✋ 131 ms 44.2 MB
tenet-hs ✋ 1 ms 8.3 MB
lean4cobol ✋ 3 ms 13.6 MB
evmlean ✋ 1.2 s 276.1 MB
mini ✋ 34 ms 73.8 MB
overfull ✋ 10.0 s 46.1 MB
metalean-slow ✋ 30 ms 69.4 MB
nanoclo-fortran ✋ 1 ms 4.5 MB
kiota ✋ 1 ms 7.2 MB
metalean-fast ✋ 30 ms 72.3 MB
canonical-min 🚫 387 ms 1.1 GB
rpylean 👍 1 ms 4.5 MB
vow-lean-kernel 👍 86 ms 8.3 MB
parse-only 👍 28 ms 66.5 MB