Lean Kernel Arena / tutorial/073_BogusRecursor

Test "tutorial/073_BogusRecursor"

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

A kernel must not blindly trust the recursors it is handed. If we write

inductive BogusRecursor : Type where
  | mk : BogusRecursor

then the recursor BogusRecursor.rec will be correctly derived with type {motive : BogusRecursor → Sort u} → motive .mk → (t : BogusRecursor) → motive t.

This test instead claims that the recursor is a constant of type False, and then uses it to prove bogusRecursorFalse : False. A kernel that validates the recursors it is handed rejects the bogus recursor itself; a kernel that ignores them and derives the recursors anew rejects the proof of False (the derived recursor neither has type False nor zero universe parameters). Either way, this test must be rejected.

Checker Result ⏱️ 🧠
mathgraph 1 ms 29.9 MB
nanoda 0 ms 3.3 MB
nanobruijn 1 ms 3.4 MB
ind-models 58 ms 103.6 MB
official 27 ms 66.4 MB
lean4lean 28 ms 94.9 MB
evmlean 525 ms 133.5 MB
mini 34 ms 74.9 MB
sokonanoda 1 ms 30.0 MB
nanoclo 1 ms 45.6 MB
zignodamus 36 ms 25.6 MB
vow-lean-kernel 👍 65 ms 8.4 MB
official-v4.28.0 34 ms 73.7 MB
still-nanoda 0 ms 3.2 MB
kiota 1 ms 6.7 MB
rpylean 👍 1 ms 8.1 MB
nyaya 👍 2 ms 9.4 MB
parse-only 👍 27 ms 65.1 MB