feat: add `SymM` monad (#11788) This PR introduces `SymM`, a new monad for implementing symbolic simulators (e.g., verification condition generators) in Lean. The monad addresses performance issues found in symbolic simulators built on top of user-facing tactics like `apply` and `intros`. **Key features:** - Goals are represented by `Grind.Goal` objects, enabling incremental hypothesis processing - No `revert` or `clear` operations, allowing O(1) local context checks instead of O(n log n) - Carries `GrindM` state across goals to avoid reprocessing shared hypotheses - Provides `mkGoal` for creating new goals within the monad This is the foundational infrastructure for `SymM`. Future PRs will add operations like `intro`, `apply`, and the optimized definitional equality test.
This is the repository for Lean 4.
See Install Lean.
Please read our Contribution Guidelines first.
See Building Lean.