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 38.2 MB
mathgraph ✋ 1 ms 34.1 MB
nanoclo ✋ 1 ms 41.7 MB
con-ron ✋ 23 ms 60.9 MB
nanobruijn ✋ 1 ms 5.6 MB
nanoda ✋ 1 ms 3.5 MB
lazylean ✋ 1 ms 21.8 MB
con-leche ✋ 4 ms 20.5 MB
eink0rn ✋ 2 ms 12.5 MB
official ✋ 28 ms 67.5 MB
ind-models ✋ 100 ms 103.4 MB
lean4lean ✋ 28 ms 98.2 MB
tenet ✋ 132 ms 45.1 MB
tenet-hs ✋ 1 ms 9.1 MB
lean4cobol ✋ 3 ms 13.6 MB
evmlean ✋ 1.2 s 276.4 MB
mini ✋ 34 ms 73.6 MB
overfull ✋ 10.0 s 46.3 MB
metalean-slow ✋ 30 ms 72.0 MB
tenet-jvm ✋ 110 ms 65.6 MB
nanoclo-fortran ✋ 1 ms 4.6 MB
kiota ✋ 1 ms 7.2 MB
metalean-fast ✋ 30 ms 72.4 MB
canonical-min 🚫 387 ms 1.1 GB
rpylean 👍 1 ms 4.3 MB
vow-lean-kernel 👍 86 ms 8.4 MB
parse-only 👍 28 ms 66.3 MB