3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-16 04:20:25 +00:00
Commit graph

31 commits

Author SHA1 Message Date
Clemens Eisenhofer
6b48b25beb Draft: Made division/remainder to op_constraints (not yet used - old code still called) 2023-02-09 23:36:15 +01:00
Jakob Rath
bf03886a87 elem 2023-02-07 09:57:32 +01:00
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