Test "corner-cases/eta-struct-major-and"
Expected: 🤷 either · Size: 9.4 KB · Lines: 175 · lean4export: 3.1.0 · Lean: 4.34.1 · 📄 Declaration · 🔗 Source
Structure eta on a recursor's major premise, for a structure in Prop.
And.rec f ⟨x.1, x.2⟩ reduces to f x.1 x.2. And.rec f x, with a
variable x : P ∧ Q, also reduces to that if the major premise is expanded
by structure eta, but the official kernel does not perform structure eta on
majors whose type is a proposition, so it is stuck, and conversion is not
transitive (or congruent) here.
Eta for such majors is fine for structures that eliminate into every sort,
like And, whose fields are all proofs. It must not be done for
propositions that eliminate only into Prop, like Exists, which have no
projections. The official kernel may adopt this, see
https://github.com/leanprover/lean4/pull/15371,
https://github.com/leanprover/lean4/issues/3213 and the overall plan in
https://github.com/leanprover/lean4/issues/14977.
| Checker | Result | ⏱️ | 🧠 | |||
|---|---|---|---|---|---|---|
| sokonanoda | 👍 | 1 ms | 39.9 MB | |||
| mathgraph | 👍 | 1 ms | 33.9 MB | |||
| nanoclo | 👍 | 1 ms | 47.9 MB | |||
| con-ron | 👍 | 23 ms | 60.9 MB | |||
| nanobruijn | ✋ | 1 ms | 12.3 MB | |||
| nanoda | ✋ | 1 ms | 3.4 MB | |||
| lazylean | ✋ | 1 ms | 21.6 MB | |||
| con-leche | 👍 | 4 ms | 22.7 MB | |||
| eink0rn | 👍 | 2 ms | 12.3 MB | |||
| official | ✋ | 30 ms | 67.2 MB | |||
| ind-models | ✋ | 101 ms | 103.8 MB | |||
| lean4lean | ✋ | 74 ms | 104.3 MB | |||
| tenet | ✋ | 136 ms | 45.2 MB | |||
| tenet-hs | ✋ | 2 ms | 9.8 MB | |||
| lean4cobol | ✋ | 7 ms | 13.8 MB | |||
| evmlean | ✋ | 3.4 s | 276.8 MB | |||
| mini | ✋ | 36 ms | 74.2 MB | |||
| overfull | ✋ | 27.5 s | 47.0 MB | |||
| metalean-slow | ✋ | 38 ms | 71.3 MB | |||
| tenet-jvm | ✋ | 118 ms | 66.1 MB | |||
| nanoclo-fortran | 👍 | 1 ms | 4.6 MB | |||
| kiota | ✋ | 1 ms | 7.3 MB | |||
| metalean-fast | ✋ | 31 ms | 72.4 MB | |||
| canonical-min | ✋ | 390 ms | 1.1 GB | |||
| rpylean | 👍 | 1 ms | 4.6 MB | |||
| vow-lean-kernel | 👍 | 84 ms | 8.5 MB | |||
| parse-only | 👍 | 28 ms | 65.8 MB |