Lean Kernel Arena / bugs/nested-rec-rule-nfields

Test "bugs/nested-rec-rule-nfields"

Expected: ✋ reject · Size: 39.9 KB · Lines: 728 · lean4export: 3.1.0 · Lean: 4.34.1 · 📄 Declaration · 🔗 Source

Proof of False via trusted field count in the recursor rule of a nested inductive.

T is nested through C, and T.mk : C T → (Type → Prop) → T. Lie by saying that the T.mk rule of T.rec has one field instead of two. A checker that uses this number when ι-reducing passes only the last field, which then lands in the slot of the first one. The next argument after the major premise lands in the slot of the second one. With a minor premise that returns that second field, the proposition badProp (really True) reduces to Bool. A Prop with two distinguishable inhabitants gives False.

Nanoda validated the rules of non-nested inductives, but not of nested ones, until it was fixed.

Checker Result ⏱️ 🧠
logos-kernel ✋ 0.631 ms 4.6 MB
nano-lean ✋ 1.14 ms 32.5 MB
sokonanoda ✋ 1.30 ms 29.9 MB
pestka ✋ 1.46 ms 10.5 MB
kefir ✋ 1.85 ms 6.4 MB
nanoclo ✋ 1.39 ms 55.4 MB
kefir-wasm ✋ 217 ms 107.5 MB
con-ron ✋ 23.2 ms 39.8 MB
con-agua ✋ 19.6 ms 12.3 MB
nanoda ✋ 1.73 ms 3.2 MB
lazylean ✋ 1.85 ms 21.3 MB
con-leche ✋ 5.98 ms 22.8 MB
pestka-wasm ✋ 117 ms 106.5 MB
tenet-jvm ✋ 150 ms 66.5 MB
eink0rn ✋ 3.02 ms 14.8 MB
official ✋ 31.7 ms 67.1 MB
ind-models ✋ 104 ms 110.7 MB
lean4lean ✋ 32.1 ms 99.2 MB
tenet ✋ 143 ms 45.5 MB
tenet-hs ✋ 3.24 ms 12.9 MB
ocaml4lean ✋ 15.3 ms 26.9 MB
lean4cobol ✋ 25.7 ms 13.8 MB
evmlean ✋ 5.59 s 280.9 MB
overfull ⌛ 0 ms 0 B
vow-lean-kernel ✋ 283 ms 14.7 MB
mini 🚫 36.0 ms 73.9 MB
canonical-min ✋ 392 ms 1.1 GB
kiota ✋ 2.59 ms 11.1 MB
metalean-slow 👍 44.6 ms 74.1 MB
nanobruijn ✋ 2.76 ms 12.1 MB
metalean-fast 👍 34.3 ms 73.8 MB
nanoclo-fortran 👍 2.83 ms 4.6 MB
rpylean ✋ 1.48 ms 5.8 MB
mathgraph 👍 1.12 ms 43.8 MB
parse-only 👍 29.5 ms 65.4 MB