Test "bugs/forged-quot-ind"
Expected: ✋ reject · Size: 11.6 KB · Lines: 204 · lean4export: 3.1.0 · Lean: 4.34.1 · 📄 Declaration
Proof of False via a quotient induction principle declared before Quot
and Quot.mk, which are then ordinary definitions.
The export declares, in this order:
- a structure
TightPair (A : Type)with two fields of typeA; - a quotient declaration
Quot.ind, with the type the real one has; def Quot (A) (r) := TightPair Aanddef Quot.mk (r) (a) := ⟨a, a⟩;theorem fakeQuotFalse : False.
Read with these definitions, Quot.ind says that a predicate holding for
every pair ⟨a, a⟩ holds for every pair. At the predicate
fun q => q.1 → q.2 and the pair ⟨True, False⟩ it gives True → False.
The file has no axioms.
A checker that validates a quotient declaration by comparing its type with
one built from the names Quot and Quot.mk, without requiring them to be
the quotient primitives already in the environment, accepts it. The official
kernel installs the quotient declarations together and rejects the file.
Nanoda, nanoclo and nanobruijn accepted this export. Found by a differential run of Pestka against other checkers.
| Checker | Result | ⏱️ | 🧠 | |||
|---|---|---|---|---|---|---|
| logos-kernel | ✋ | 0.455 ms | 4.3 MB | |||
| nano-lean | ✋ | 0.472 ms | 10.7 MB | |||
| sokonanoda | ✋ | 0.822 ms | 21.9 MB | |||
| pestka | ✋ | 0.917 ms | 10.5 MB | |||
| kefir | ✋ | 0.855 ms | 6.2 MB | |||
| nanoclo | ✋ | 0.855 ms | 47.6 MB | |||
| kefir-wasm | ✋ | 173 ms | 101.7 MB | |||
| con-ron | ✋ | 21.6 ms | 37.6 MB | |||
| con-agua | ✋ | 17.5 ms | 7.3 MB | |||
| nanoda | ✋ | 0.803 ms | 3.3 MB | |||
| lazylean | ✋ | 1.10 ms | 21.1 MB | |||
| con-leche | ✋ | 3.78 ms | 21.0 MB | |||
| pestka-wasm | ✋ | 93.2 ms | 99.9 MB | |||
| tenet-jvm | ✋ | 120 ms | 65.1 MB | |||
| eink0rn | ✋ | 1.68 ms | 12.3 MB | |||
| official | ✋ | 28.4 ms | 66.6 MB | |||
| ind-models | ✋ | 101 ms | 109.6 MB | |||
| lean4lean | ✋ | 28.5 ms | 97.5 MB | |||
| tenet | ✋ | 136 ms | 44.6 MB | |||
| tenet-hs | ✋ | 1.60 ms | 9.2 MB | |||
| ocaml4lean | ✋ | 13.6 ms | 24.4 MB | |||
| lean4cobol | ✋ | 6.35 ms | 13.5 MB | |||
| evmlean | ✋ | 1.62 s | 252.6 MB | |||
| overfull | ✋ | 25.6 s | 46.7 MB | |||
| vow-lean-kernel | ✋ | 169 ms | 14.4 MB | |||
| mini | ✋ | 34.7 ms | 73.6 MB | |||
| canonical-min | 🚫 | 387 ms | 1.1 GB | |||
| kiota | 👍 | 1.06 ms | 9.2 MB | |||
| metalean-slow | ✋ | 30.6 ms | 73.8 MB | |||
| nanobruijn | 👍 | 1.11 ms | 11.7 MB | |||
| metalean-fast | ✋ | 30.7 ms | 73.3 MB | |||
| nanoclo-fortran | 👍 | 1.24 ms | 4.5 MB | |||
| rpylean | ✋ | 0.673 ms | 4.2 MB | |||
| mathgraph | ✋ | 0.770 ms | 35.8 MB | |||
| parse-only | 👍 | 28.0 ms | 65.4 MB |