This PR adds a `+locals` configuration option to the `simp`, `simp_all`, and `dsimp` tactics that automatically adds all definitions from the current file to unfold. Example usage: ```lean def foo (n : Nat) : Nat := n + 1 -- Without +locals, simp doesn't know about foo example (n : Nat) : foo n = n + 1 := by simp -- fails -- With +locals, simp can unfold foo example (n : Nat) : foo n = n + 1 := by simp +locals -- succeeds ``` The implementation iterates over `env.constants.map₂` (which contains constants defined in the current module) and adds definitions to unfold. Instance definitions and internal details are filtered out. **Note:** For local theorems, use `+suggestions` instead, which will include relevant local theorems via the library suggestion engine. 🤖 Prepared with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| bench | ||
| bench-radar | ||
| compiler | ||
| elabissues | ||
| ir | ||
| lake | ||
| lean | ||
| pkg | ||
| playground | ||
| plugin | ||
| simpperf | ||
| .gitignore | ||
| common.sh | ||
| lakefile.toml | ||
| lean-toolchain | ||