This PR adds `SymExtension`, a typed extensible state mechanism for `SymM`, following the same pattern as `Grind.SolverExtension`. Extensions are registered at initialization time via `registerSymExtension` and provide typed `getState`/`modifyState` accessors. Extension state persists across `simp` invocations within a `sym =>` block and is re-initialized on each `SymM.run`. This enables modules (e.g., the upcoming arithmetic normalizer) to register persistent state without modifying `Sym.State` directly. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
5 lines
84 B
Text
5 lines
84 B
Text
import Lake
|
|
open System Lake DSL
|
|
|
|
package sym_ext
|
|
@[default_target] lean_lib SymExt
|