Test "corner-cases/eta-struct-major-no-whnf"
Expected: 🤷 either · Size: 32.2 KB · Lines: 582 · lean4export: 3.1.0 · Lean: 4.34.1 · Timeout: 1.0 m · 📄 Declaration · 🔗 Source
Structure eta on a recursor's major premise, applied before trying to reduce the major to a constructor.
prodConst loopPair is Prod.rec (fun _ _ => 1) loopPair, and loopPair
is an Acc.rec whose major premise is a proof with no weak head normal form
(built from Coquand's paradox, via propext). A checker that first reduces
the major premise to weak head normal form, as the official kernel does
today, does not terminate here. Expanding the major premise to
(loopPair.1, loopPair.2) first lets the recursor fire without ever looking
at loopPair, and the equation with 1 holds.
The result of the reduction is the same either way (structure eta is part of the theory), so the question is only one of termination of the algorithm. The official kernel may adopt this order, see https://github.com/leanprover/lean4/pull/15351 and the overall plan in https://github.com/leanprover/lean4/issues/14977.
| Checker | Result | ⏱️ | 🧠 | |||
|---|---|---|---|---|---|---|
| sokonanoda | ⌛ | 0 ms | 0 B | |||
| mathgraph | ⌛ | 0 ms | 0 B | |||
| nanoclo | ⌛ | 0 ms | 0 B | |||
| con-ron | 💥 | 49 ms | 82.3 MB | |||
| nanobruijn | ⌛ | 0 ms | 0 B | |||
| nanoda | ⌛ | 0 ms | 0 B | |||
| lazylean | ⌛ | 0 ms | 0 B | |||
| con-leche | 💥 | 83 ms | 41.1 MB | |||
| eink0rn | 🚫 | 12.5 s | 3.6 GB | |||
| official | ⌛ | 0 ms | 0 B | |||
| ind-models | ⌛ | 0 ms | 0 B | |||
| lean4lean | ✋ | 97 ms | 98.9 MB | |||
| tenet | ✋ | 38.4 s | 233.7 MB | |||
| tenet-hs | ✋ | 1.3 m | 72.3 MB | |||
| lean4cobol | 🚫 | 401 ms | 13.7 MB | |||
| evmlean | ⌛ | 0 ms | 0 B | |||
| mini | ⌛ | 0 ms | 0 B | |||
| overfull | ⌛ | 0 ms | 0 B | |||
| metalean-slow | 🚫 | 33 ms | 73.8 MB | |||
| tenet-jvm | ⌛ | 0 ms | 0 B | |||
| nanoclo-fortran | ⌛ | 0 ms | 0 B | |||
| kiota | ⌛ | 0 ms | 0 B | |||
| metalean-fast | 💥 | 7.6 s | 1.1 GB | |||
| canonical-min | ✋ | 389 ms | 1.1 GB | |||
| rpylean | ⌛ | 0 ms | 0 B | |||
| vow-lean-kernel | 👍 | 936 ms | 16.8 MB | |||
| parse-only | 👍 | 29 ms | 65.8 MB |