Lean Kernel Arena / level-imax-leq

Test "level-imax-leq"

Expected: ✋ reject · Size: 5.6 KB · Lines: 93 · lean4export: 3.1.0 · Lean: 4.29.0-rc1 · 📄 Declaration

Proof of False via incorrect universe level comparison for imax.

A correct kernel must reject leq(imax(u,v)+1, imax(u,v)), since at u=0, v=0 this becomes leq(1, 0) which is false. However, a checker that only compares the imax arguments structurally (without accounting for an accumulated successor offset) will incorrectly accept it.

This allows defining a universe-collapsing identity function down.{u,v} : Sort (succ (imax u v)) → Sort (imax u v), which is used to cast between True and False via Bool.rec at Sort (imax 0 0) = Prop.

Nanoda incorrectly accepted this proof until it was fixed.

Checker Result ⏱️ 🧠
nanoda 2 ms 2.9 MB
nanobruijn 3 ms 5.1 MB
official-nightly 31 ms 57.1 MB
official 32 ms 66.1 MB
official-v4.28.0 38 ms 70.6 MB
lean4lean 🚫 26 ms 13.0 MB
mini 38 ms 70.3 MB
always-decline 🚫 1 ms 2.8 MB
always-reject 1 ms 2.8 MB
rpylean 2 ms 6.5 MB
parse-only 👍 37 ms 70.0 MB
always-accept 👍 1 ms 2.8 MB