Lean Kernel Arena / tutorial/071_BogusRecursor

Test "tutorial/071_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 30.0 MB
ind-models 58 ms 100.5 MB
official-nightly 28 ms 64.1 MB
evmlean 525 ms 132.7 MB
nanoda 0 ms 3.0 MB
mini 34 ms 70.4 MB
lean4lean 28 ms 97.9 MB
sokonanoda 1 ms 29.7 MB
zignodamus 36 ms 25.7 MB
nanoclo 1 ms 45.7 MB
nanobruijn 1 ms 3.3 MB
kiota 1 ms 6.8 MB
official 28 ms 63.8 MB
vow-lean-kernel 👍 65 ms 8.1 MB
rpylean 👍 1 ms 7.9 MB
official-v4.28.0 34 ms 72.4 MB
still-nanoda 0 ms 3.0 MB
nyaya 👍 2 ms 9.3 MB
parse-only 👍 27 ms 60.3 MB