Test "perf/irrelevance-before-evaluation"
Expected: 馃憤 accept 路 Size: 17.5鈥疜B 路 Lines: 389 路 lean4export: 3.1.0 路 Lean: 4.29.1 路 Timeout: 50.0鈥痵 路 馃搫 Declaration 路 馃敆 Source
The declaration to check is
slowTriv (count #n) = True.intro
proved by Eq.refl, where slowTriv m : True recurses over m, so forcing
it to a constructor evaluates the numeral in 螛(n虏) reductions.
Checking compares the two proofs as arguments of Eq, whose head is rigid:
nothing can be unfolded instead. Proof irrelevance settles the proofs by
their type for 螛(1); evaluating the left one to a constructor costs
螛(n虏) and yields the answer irrelevance already gave. The test asks
whether a checker consults proof irrelevance before it reduces.
N=200 in the Lean source.
| Checker | Result | 鈴憋笍 | 馃 | |||
|---|---|---|---|---|---|---|
| mathgraph | 馃憤 | 1鈥痬s | (梅37) | 37.9鈥疢B | (-43%) | |
| sokonanoda | 馃憤 | 1鈥痬s | (梅37) | 31.6鈥疢B | (梅2.1) | |
| nanoclo | 馃憤 | 1鈥痬s | (梅28) | 51.6鈥疢B | (-22%) | |
| con-ron | 馃憤 | 23鈥痬s | (-18%) | 58.9鈥疢B | (-11%) | |
| lazylean | 馃憤 | 1鈥痬s | (梅20) | 21.3鈥疢B | (梅3.1) | |
| nanoda | 馃憤 | 1鈥痬s | (梅33) | 3.0鈥疢B | (梅22) | |
| nanobruijn | 馃憤 | 1鈥痬s | (梅21) | 10.6鈥疢B | (梅6.2) | |
| con-leche | 馃憤 | 4鈥痬s | (梅6.5) | 26.0鈥疢B | (梅2.5) | |
| eink0rn | 馃憤 | 2鈥痬s | (梅15) | 12.3鈥疢B | (梅5.4) | |
| ind-models | 馃憤 | 63鈥痬s | (脳2.2) | 107.6鈥疢B | (+63%) | |
| official | 馃憤 | 29鈥痬s | (0%) | 65.9鈥疢B | (0%) | |
| lean4lean | 馃憤 | 29鈥痬s | (+1%) | 97.1鈥疢B | (+47%) | |
| tenet | 馃憤 | 133鈥痬s | (脳4.6) | 43.9鈥疢B | (-33%) | |
| nanoclo-fortran | 馃憤 | 2鈥痬s | (梅17) | 4.8鈥疢B | (梅14) | |
| lean4cobol | 馃憤 | 10鈥痬s | (梅2.9) | 14.3鈥疢B | (梅4.6) | |
| evmlean | 馃毇 | 1.4鈥痵 | 134.6鈥疢B | |||
| mini | 馃憤 | 37鈥痬s | (+28%) | 74.5鈥疢B | (+13%) | |
| overfull | 馃憤 | 51.9鈥痵 | (脳1810) | 47.7鈥疢B | (-28%) | |
| kiota | 馃憤 | 1鈥痬s | (梅24) | 8.9鈥疢B | (梅7.4) | |
| canonical-min | 馃毇 | 388鈥痬s | 1.1鈥疓B | |||
| rpylean | 馃憤 | 1鈥痬s | (梅37) | 4.8鈥疢B | (梅14) | |
| vow-lean-kernel | 馃憤 | 128鈥痬s | (脳4.5) | 11.2鈥疢B | (梅5.9) | |
| official-v4.28.0 | 馃憤 | 35鈥痬s | (+24%) | 73.4鈥疢B | (+11%) | |
| still-nanoda | 馃憤 | 1鈥痬s | (梅34) | 3.2鈥疢B | (梅20) | |
| nyaya | 馃憤 | 3鈥痬s | (梅8.3) | 10.2鈥疢B | (梅6.5) | |
| parse-only | 馃憤 | 28鈥痬s | (-2%) | 65.8鈥疢B | (0%) |