mirror of
https://github.com/Z3Prover/z3
synced 2025-10-27 09:49:23 +00:00
This update includes an experimental feature to access a congruence closure data-structure after search.
It comes with several caveats as pre-processing is free to eliminate terms. It is therefore necessary to use a solver that does not eliminate the terms you want to track for congruence of. This is partially addressed by using SimpleSolver or incremental mode solving.
```python
from z3 import *
s = SimpleSolver()
x, y, z = Ints('x y z')
s.add(x == y)
s.add(y == z)
s.check()
print(s.root(x), s.root(y), s.root(z))
print(s.next(x), s.next(y), s.next(z))
```
|
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| converter.h | ||
| equiv_proof_converter.cpp | ||
| equiv_proof_converter.h | ||
| expr_inverter.cpp | ||
| expr_inverter.h | ||
| generic_model_converter.cpp | ||
| generic_model_converter.h | ||
| horn_subsume_model_converter.cpp | ||
| horn_subsume_model_converter.h | ||
| model_converter.cpp | ||
| model_converter.h | ||
| proof_converter.cpp | ||
| proof_converter.h | ||
| replace_proof_converter.cpp | ||
| replace_proof_converter.h | ||