This PR adds `CongrInfo` analysis for function applications in the symbolic simulator framework. `CongrInfo` determines how to build congruence proofs for rewriting subterms efficiently, categorizing functions into: - `none`: no arguments can be rewritten (e.g., proofs) - `fixedPrefix`: common case where implicit/instance arguments form a fixed prefix and explicit arguments can be rewritten (e.g., `HAdd.hAdd`, `Eq`) - `interlaced`: rewritable and non-rewritable arguments alternate (e.g., `HEq`) - `congrTheorem`: uses auto-generated congruence theorems for functions with dependent proof arguments (e.g., `Array.eraseIdx`) |
||
|---|---|---|
| .. | ||
| bench | ||
| bench-radar | ||
| compiler | ||
| elabissues | ||
| ir | ||
| lake | ||
| lean | ||
| pkg | ||
| playground | ||
| plugin | ||
| simpperf | ||
| .gitignore | ||
| common.sh | ||
| lakefile.toml | ||
| lean-toolchain | ||