Skip to content

[Fix][Arith] Isolate Z3 contexts and make memoization deterministic - #20097

Merged
MasterJH5574 merged 3 commits into
apache:mainfrom
tlopex:fix/z3-context-scope-latest
Aug 5, 2026
Merged

[Fix][Arith] Isolate Z3 contexts and make memoization deterministic#20097
MasterJH5574 merged 3 commits into
apache:mainfrom
tlopex:fix/z3-context-scope-latest

Conversation

@tlopex

@tlopex tlopex commented Aug 5, 2026

Copy link
Copy Markdown
Member

This PR improves the reliability and determinism of the Z3 arithmetic prover by introducing scoped Z3 contexts, safely preserving context ownership when cloning analyzers, and replacing unordered-map-owned Z3 expressions with a deterministic memo pool and reusable slots. It prevents Z3 AST allocation history and hash iteration order from affecting CanProve results under resource limits, while adding regression coverage for context lifetime, memo cleanup, slot reuse, and analyzer cloning.

Related TileLang-side changes: tile-ai#58 & tile-ai#62.

@MasterJH5574
MasterJH5574 merged commit 5fd89b5 into apache:main Aug 5, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants