Clemens Eisenhofer
4648c35a35
Missing file
2023-02-01 15:10:47 +01:00
Jakob Rath
fe164c843d
Fix/simplify constraint_manager::watch
2023-02-01 15:02:56 +01:00
Jakob Rath
0d56edb65c
Fix missing boolean propagation after boolean conflict
...
Usually in SAT solving, the conflict clause has at least two false literals at the max level (otherwise, the last literal would have been propagated at an earlier level).
But here we are adding clauses on demand; so after backtracking we may have the case that the conflict clause has exactly one undefined literal that must be propagated explicitly.
2023-02-01 15:02:56 +01:00
Jakob Rath
057e115bbc
Update op_constraint simplifications
2023-01-12 13:31:16 +01:00
Clemens Eisenhofer
2581754c3e
Forward propagation for op_constraints + optimization for left/right shift
2023-01-11 10:29:26 +01:00
Clemens Eisenhofer
79e7380ffc
Pseudo-inverse op_constraint
2023-01-03 17:47:54 +01:00
Jakob Rath
be20c0d54e
Less allocation during lookup, remove unused argument
2022-12-22 15:09:18 +01:00
Jakob Rath
b5af2164f4
Add simplify_clause::try_remove_equations
2022-12-22 14:53:42 +01:00
Jakob Rath
5f2fd039ba
Perform clause simplification earlier
2022-12-22 13:07:38 +01:00
Clemens Eisenhofer
dc95179ae5
Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat
2022-12-14 10:39:15 +01:00
Jakob Rath
917e1b6a4c
When adding clauses, prioritize bool-propagation over evaluation
...
See test_band1 and clause: v2 == v0 & v1 --> v2 <= 0
2022-12-12 14:48:13 +01:00
Jakob Rath
587e77648a
Keep value_propagate for now
2022-12-12 13:57:30 +01:00
Jakob Rath
759d8f2a94
Fix watching of boolean literals
2022-12-12 13:50:15 +01:00
Clemens Eisenhofer
47cb83f578
Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat
2022-12-07 16:35:42 +01:00
Jakob Rath
57edd12e36
quot_rem note
2022-12-01 14:11:37 +01:00
Clemens Eisenhofer
2b7fd152c4
Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat
2022-11-29 14:54:49 +01:00
Jakob Rath
0c44391b9e
Don't call assign_eh for internal constraints
2022-11-28 18:43:19 +01:00
Jakob Rath
558fd718c0
Current base level may be too high to deallocate clause
2022-11-23 16:54:58 +01:00
Jakob Rath
da762700d6
quot_rem
2022-11-22 14:19:35 +01:00
Clemens Eisenhofer
b116d5ac9e
Fixed assignment bug for shifts/band
2022-11-21 16:40:28 +01:00
Clemens Eisenhofer
133f3d0a02
Evaluate bitwise operations on values
2022-11-21 09:38:53 +01:00
Clemens Eisenhofer
98d572b48b
First try to generalize variable elimination
2022-11-20 11:35:12 +01:00
Jakob Rath
adc9f7abe4
Add basic implementation of left shift
2022-11-17 17:37:52 +01:00
Jakob Rath
b4ee8cef1a
Add helper for creating op_constraints
2022-11-17 12:59:37 +01:00
Jakob Rath
e7c77a22ab
Dedup quot_rem and lshr too
2022-11-07 15:25:05 +01:00
Jakob Rath
2953b1c093
Dedup op constraints
2022-11-07 15:02:48 +01:00
Jakob Rath
586ffdf402
Remove unnecessary argument
2022-11-07 14:04:28 +01:00
Jakob Rath
a1736473a4
Move bit-wise expressions to constraint_manager
2022-11-07 14:00:02 +01:00
Jakob Rath
7662427d92
Split constraint_manager into separate file
2022-11-07 13:33:48 +01:00