This PR adds a new option to the function `simpHaveTelescope` in which the `have` telescope is simplified in two passes: * In the first pass, only the values and the body are simplified. * In the second pass, unused declarations are eliminated. This new mode eliminates **superlinear** behavior in the benchmark `simp_3.lean`. Note that the kernel type checker still **exhibits** quadratic behavior in this example, because it **does not have support** for expanding a `have`/`let` telescope in a single step. |
||
|---|---|---|
| .. | ||
| meta_simp_1.lean | ||
| meta_simp_2.lean | ||
| simp_1.lean | ||
| simp_2.lean | ||
| simp_3.lean | ||