3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 08:35:31 +00:00
z3/src/opt
Nikolaj Bjorner f6d411d54b experimental feature to access congruence closure of SimpleSolver
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))
```
2022-12-30 21:41:27 -08:00
..
CMakeLists.txt adding totalizer 2022-06-29 08:20:01 -07:00
maxcore.cpp Fix typos. 2022-08-05 07:40:50 +03:00
maxcore.h totalizer 2022-06-30 19:49:19 -07:00
maxlex.cpp re-enable pre-process 2022-04-13 11:24:24 +02:00
maxlex.h separate pre-processing, add callback parameter to push/pop in python API 2022-04-11 17:05:59 +02:00
maxsmt.cpp totalizer 2022-06-30 19:49:19 -07:00
maxsmt.h Use = default for virtual constructors. 2022-08-05 18:11:46 +03:00
opt_cmds.cpp Remove empty leaf destructors. (#6211) 2022-07-30 10:07:03 +01:00
opt_cmds.h booyah 2020-07-04 15:56:30 -07:00
opt_context.cpp remove legacy solve_eqs_tactic entirely 2022-11-14 18:57:16 -08:00
opt_context.h move model and proof converters to self-contained module 2022-11-03 05:23:01 -07:00
opt_cores.cpp init value 2022-05-01 15:26:57 -07:00
opt_cores.h add option to "rotate" cores during core finding 2022-05-01 15:26:56 -07:00
opt_lns.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
opt_lns.h Use = default for virtual constructors. 2022-08-05 18:11:46 +03:00
opt_mux.h separate pre-processing, add callback parameter to push/pop in python API 2022-04-11 17:05:59 +02:00
opt_params.pyg add parameter incremental to ensure preprocessing does not interefere with adding constraints during search 2022-07-05 08:10:20 -07:00
opt_pareto.cpp fix #4232 2020-05-07 10:36:53 -07:00
opt_pareto.h Use = default for virtual constructors. 2022-08-05 18:11:46 +03:00
opt_parse.cpp remove '#include <iostream>' from headers and from unneeded places 2022-06-17 14:10:19 +01:00
opt_parse.h booyah 2020-07-04 15:56:30 -07:00
opt_preprocess.cpp remove pragma from cpp file 2022-05-28 14:48:38 -07:00
opt_preprocess.h core opt 2022-05-21 10:27:37 -04:00
opt_sls_solver.h Use = default for virtual constructors. 2022-08-05 18:11:46 +03:00
opt_solver.cpp #6421 2022-10-28 14:12:28 -07:00
opt_solver.h experimental feature to access congruence closure of SimpleSolver 2022-12-30 21:41:27 -08:00
optsmt.cpp build failure 2022-01-06 15:17:57 -08:00
optsmt.h fix #5254 2021-05-17 15:42:01 -07:00
pb_sls.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
pb_sls.h booyah 2020-07-04 15:56:30 -07:00
sortmax.cpp move model and proof converters to self-contained module 2022-11-03 05:23:01 -07:00
totalizer.cpp totalizer 2022-06-30 19:49:19 -07:00
totalizer.h totalizer 2022-06-30 19:49:19 -07:00
wmax.cpp Remove empty leaf destructors. (#6211) 2022-07-30 10:07:03 +01:00
wmax.h re-enable pre-process 2022-04-13 11:24:24 +02:00