3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 00:55:31 +00:00
Commit graph

18148 commits

Author SHA1 Message Date
Clemens Eisenhofer
dc95179ae5 Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat 2022-12-14 10:39:15 +01:00
Jakob Rath
1bc4313333 Fix unsoundness in previous commit 2022-12-13 15:27:07 +01:00
Jakob Rath
7e7cea54f4 Intervals from equality constraints: remove superfluous side constraints 2022-12-13 15:02:45 +01:00
Jakob Rath
434e794790 test 2022-12-13 12:00:38 +01:00
Jakob Rath
519ebd8a8b log and note 2022-12-13 11:49:54 +01:00
Jakob Rath
a3c7a869cd bool_watch_invariant 2022-12-13 11:47:21 +01:00
Jakob Rath
6f1e4283bb Merge forbidden intervals for positive and negative equations 2022-12-13 11:42:52 +01:00
Nikolaj Bjorner
6c7f556496 activate non-overflow bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-12 20:11:01 -08:00
Nikolaj Bjorner
a5f12e9d57 add parity constraint for disequality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-12 19:40:19 -08:00
Jakob Rath
479e0e58ea Better intervals for equations 2022-12-12 18:18:24 +01:00
Jakob Rath
4a2379c23d Add unit test for refinement loop in bench6 2022-12-12 17:48:23 +01:00
Jakob Rath
eda6534453 more readable intervals 2022-12-12 16:41:18 +01:00
Jakob Rath
9f1f949d9d tests 2022-12-12 14:51:18 +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
Jakob Rath
1eb8eb560b test_ineq2 2022-12-12 13:37:28 +01:00
Jakob Rath
b1271ac7fb Check for missed boolean propagations 2022-12-12 11:52:45 +01:00
Jakob Rath
9feefa4c0a Remove clause methods that should not be used 2022-12-12 11:47:27 +01:00
Nikolaj Bjorner
5a27ae6b53 disable tangent lemma, which appears to be counter-productive
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-11 12:56:21 -08:00
Nikolaj Bjorner
d092523733 bugfixes to try_factor_equality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-10 10:51:21 -08:00
Nikolaj Bjorner
c27bd0d650 added try_factor
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 14:58:37 -08:00
Nikolaj Bjorner
6e886114f9 add parity4
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 09:56:47 -08:00
Nikolaj Bjorner
707577644f assignment -> assignment_t for build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 09:33:24 -08:00
Nikolaj Bjorner
57f2d72fe2 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 09:26:40 -08:00
Jakob Rath
8d13446537 Solve boolean skeleton first 2022-12-09 17:22:51 +01:00
Nikolaj Bjorner
e716e507d9 investigate bench4
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 08:14:42 -08:00
Nikolaj Bjorner
a6b49d8b4e provide access to saturation for selected constraints 2022-12-08 19:17:35 -08:00
Nikolaj Bjorner
33902c7c9e fix parity propagation code, add tail-spin unit tests. The unit tests diverge because conflict resolution removes conflicting literals from the conflict clause before the decision variable gets processed. We have to change how conflict resolution is processed for such conflict clauses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-08 09:57:38 -08:00
Jakob Rath
3c8718615a yes, no need for plugins to be mutually exclusive 2022-12-08 16:19:11 +01:00
Jakob Rath
5ad961029d Rename revert_decision -> revert_pvar, and enable it.
Also rename resolve_with_assignment to resolve_evaluated
2022-12-08 16:19:11 +01:00
Jakob Rath
676aa81c5a Fix test_ineq2 2022-12-08 16:19:11 +01:00
Jakob Rath
a81e05e660 We shouldn't assume that v is assigned
Happens if it is a viable conflict for v
2022-12-08 16:19:11 +01:00
Jakob Rath
3fe8f4a0cd minor issue about narrow with first=true 2022-12-08 16:19:11 +01:00
Jakob Rath
85818612fb val_pp 2022-12-08 16:19:11 +01:00
Nikolaj Bjorner
28fb67219e fix new (and unused) function for extracting min parity of a polynomial
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-08 07:13:31 -08:00
Nikolaj Bjorner
acbd60799d add placeholder for factor equality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 20:12:19 -08:00
Nikolaj Bjorner
437f826e8b sketch parity generalization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 20:04:58 -08:00
Jakob Rath
55d691e16e enable 2022-12-07 18:45:00 +01:00
Jakob Rath
45e94ae7dd insert_eval 2022-12-07 18:41:42 +01:00
Clemens Eisenhofer
592791ba34 continue instead of return 2022-12-07 16:55:30 +01:00
Clemens Eisenhofer
c088eb4a26 Readded variable evaluation as fallback for variable elimination 2022-12-07 16:54:39 +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
93ee9c7f8e compile 2022-12-07 16:16:07 +01:00
Jakob Rath
a4adb63662 unit test updates 2022-12-07 16:15:28 +01:00
Jakob Rath
71acba20e2 Assertion was too strong (via test_ineq1) 2022-12-07 16:13:24 +01:00
Jakob Rath
05a1f4d096 Skip try_parity for x==y and y==x 2022-12-07 16:09:10 +01:00
Jakob Rath
85715eb164 Update use of insert_eval and lemma scores to support propagation 2022-12-07 16:08:24 +01:00
Jakob Rath
fca4f18194 p 2022-12-07 12:47:30 +01:00
Nikolaj Bjorner
754cb540d0 disable new code paths for commit
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 02:23:43 -08:00