Test "bugs/proj-of-imax-prop"
Expected: ✋ reject · Size: 19.3 KB · Lines: 321 · lean4export: 3.1.0 · Lean: 4.34.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 | ⏱️ | 🧠 | |||
|---|---|---|---|---|---|---|
| sokonanoda | ✋ | 1 ms | 40.3 MB | |||
| mathgraph | ✋ | 1 ms | 38.0 MB | |||
| nanoclo | ✋ | 1 ms | 51.9 MB | |||
| con-ron | ✋ | 23 ms | 59.0 MB | |||
| nanobruijn | ✋ | 1 ms | 12.0 MB | |||
| nanoda | ✋ | 1 ms | 3.3 MB | |||
| lazylean | ✋ | 1 ms | 21.6 MB | |||
| con-leche | ✋ | 4 ms | 20.4 MB | |||
| eink0rn | ✋ | 2 ms | 14.0 MB | |||
| official | ✋ | 29 ms | 67.4 MB | |||
| ind-models | ✋ | 101 ms | 106.1 MB | |||
| lean4lean | ✋ | 29 ms | 99.7 MB | |||
| tenet | ✋ | 138 ms | 45.1 MB | |||
| tenet-hs | ✋ | 2 ms | 10.6 MB | |||
| lean4cobol | ✋ | 10 ms | 13.8 MB | |||
| evmlean | ✋ | 2.1 s | 277.7 MB | |||
| mini | 🚫 | 34 ms | 73.5 MB | |||
| overfull | ✋ | 45.2 s | 47.8 MB | |||
| metalean-slow | ✋ | 32 ms | 73.6 MB | |||
| tenet-jvm | ✋ | 122 ms | 65.5 MB | |||
| nanoclo-fortran | ✋ | 1 ms | 4.7 MB | |||
| kiota | ✋ | 1 ms | 9.4 MB | |||
| metalean-fast | ✋ | 32 ms | 75.3 MB | |||
| canonical-min | 🚫 | 388 ms | 1.1 GB | |||
| rpylean | ✋ | 1 ms | 4.9 MB | |||
| vow-lean-kernel | ✋ | 106 ms | 8.2 MB | |||
| parse-only | 👍 | 28 ms | 65.7 MB |