Lean Kernel Arena / proj-of-imax-prop

Test "proj-of-imax-prop"

Expected: ✋ reject · Size: 19.3 KB · Lines: 321 · lean4export: 3.1.0 · Lean: 4.29.1 · 📄 Declaration · 🔗 Source

A closed proof of False, with no axioms, via a data projection out of a proposition whose sort is Prop only up to universe level normalization.

ImaxProp : Sort (imax 1 0) is a proposition, since imax 1 0 normalizes to 0. The exploit uses two definitionally equal spellings of that type. Proof irrelevance is stated through ImaxAsProp : Prop := ImaxProp, whose type is the literal Sort 0, so it is accepted; the data projection imaxProjBool is stated on ImaxProp, whose type is the literal Sort (imax 1 0). A kernel that tests sorts for Prop syntactically does not recognize the latter as a proposition and wrongly allows projecting its Bool field out of a proof. Congruence on the proof-irrelevance equation then equates false and true, giving False.

This is https://github.com/leanprover/lean4/pull/14613, a bug in the official kernel.

Checker Result ⏱️ 🧠
mathgraph 1 ms 33.9 MB
ind-models 59 ms 102.5 MB
official-nightly 29 ms 64.1 MB
evmlean 1.6 s 132.0 MB
nanoda 1 ms 3.1 MB
mini 🚫 35 ms 70.9 MB
lean4lean 29 ms 94.1 MB
sokonanoda 1 ms 33.8 MB
zignodamus 1 ms 4.9 MB
nanoclo 1 ms 51.6 MB
nanobruijn 2 ms 10.0 MB
kiota 1 ms 8.8 MB
official 29 ms 65.4 MB
vow-lean-kernel 106 ms 8.2 MB
rpylean 1 ms 8.8 MB
official-v4.28.0 👍 36 ms 72.2 MB
still-nanoda 1 ms 3.2 MB
nyaya 4 ms 10.5 MB
parse-only 👍 28 ms 60.5 MB