3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-18 05:20:26 +00:00
Commit graph

121 commits

Author SHA1 Message Date
Jakob Rath
fa036ae486 track clause name for debugging 2023-01-11 10:50:14 +01:00
Jakob Rath
5f2fd039ba Perform clause simplification earlier 2022-12-22 13:07:38 +01:00
Nikolaj Bjorner
a8d401864b review
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-20 12:46:15 -08:00
Jakob Rath
ca373836af Merge remote-tracking branch 'origin/polysat' into polysat 2022-12-16 14:26:38 +01:00
Jakob Rath
3b3636b30e Remove conflict::set 2022-12-16 14:25:41 +01:00
Jakob Rath
06e6f27614 refactor 2022-12-16 14:22:50 +01:00
Jakob Rath
afde0e993c Add bitblasting fallback to viable::query
(integration between conflict/viable is still messy)
2022-12-16 13:02:54 +01:00
Clemens Eisenhofer
71211f3134 Some bugfixes and unit-tests for variable elimination 2022-12-16 10:12:34 +01: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
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
Nikolaj Bjorner
a6b49d8b4e provide access to saturation for selected constraints 2022-12-08 19:17:35 -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
71acba20e2 Assertion was too strong (via test_ineq1) 2022-12-07 16:13:24 +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
Nikolaj Bjorner
f2c228f160 update function that propagates bounds on x*y = 0 to be more comprehensive
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-05 01:19:26 -08:00
Nikolaj Bjorner
066b7d2d71 add review comments based on debugging
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-04 03:49:17 -08:00
Jakob Rath
630276dbad Re-enable saturation 2022-11-29 10:00:25 +01:00
Jakob Rath
4aa04fa475 Lemma names 2022-11-28 19:13:38 +01:00
Jakob Rath
3d79cddf33 Update saturation inferences 2022-11-28 18:02:18 +01:00
Jakob Rath
5c63a67634 disable for now 2022-11-23 16:59:26 +01:00
Jakob Rath
0e32077321 Use insert_eval for potentially new constraints 2022-11-23 16:54:35 +01:00
Jakob Rath
2787a22007 Backtrack/backjump based on accumulated lemmas 2022-11-23 12:49:36 +01:00
Jakob Rath
85a633a3e0 Update resolve_value 2022-11-22 13:47:31 +01:00
Jakob Rath
f12ae0af12 clause_builder: rename push to insert 2022-11-17 17:37:52 +01:00
Jakob Rath
dbe814d568 Add forbidden interval lemma separately 2022-11-17 15:00:16 +01:00
Jakob Rath
38a43bd087 Remove conflict_kind 2022-11-17 12:25:28 +01:00
Jakob Rath
00e8c53f9a Remove unused code 2022-11-17 12:22:40 +01:00
Jakob Rath
aa59de9056 Track max jump level from side lemmas 2022-11-14 15:43:46 +01:00
Jakob Rath
cd83a6ec69 Remove bailout state from conflict 2022-11-14 15:15:35 +01:00
Jakob Rath
e2804c3db2 Remove bail_vars 2022-11-14 15:02:58 +01:00
Jakob Rath
eec8e8ebe4 Fix name: value propagation -> evaluation (for boolean literals) 2022-11-14 14:58:20 +01:00
Jakob Rath
436881c18c print lemmas 2022-11-14 14:51:54 +01:00
Jakob Rath
01af25ca02 Remove backjump state from conflict 2022-11-14 14:33:19 +01:00
Jakob Rath
406696f0a3 Remove unused code 2022-11-11 10:25:49 +01:00
Jakob Rath
d3f70c0fb8 Rename: explain -> superposition 2022-11-10 14:42:13 +01:00
Jakob Rath
586ffdf402 Remove unnecessary argument 2022-11-07 14:04:28 +01:00
Jakob Rath
29695391de First pass at free variable elimination 2022-10-31 15:22:03 +01:00
Jakob Rath
4cdd3bf77d Add overload for conflict::add_lemma 2022-10-31 15:19:36 +01:00
Jakob Rath
6a03df9017 Track set of variables that occur in conflict constraints 2022-10-31 15:18:48 +01:00
Jakob Rath
eba59356f3 Disable problematic resolve_with_assignment 2022-10-31 15:17:32 +01:00
Nikolaj Bjorner
2d8b7b5ac6 deal with compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-10-13 17:55:47 +02:00
Jakob Rath
4406652c7b Narrow conflicting constraint after backjumping 2022-10-07 18:01:54 +02:00
Jakob Rath
e7c9a99d08 Add note as comment 2022-10-07 16:29:14 +02:00
Jakob Rath
23a747235d Some assertions are now too strict
If possible, we should set the new constraint to l_true;
and revert most of this change later.
Or we adjust the conflict invariant:
- l_true constraints is the default case as before,
- l_undef constraints are new and justified by some side lemma, but
  should be treated by the conflict resolution methods like l_true
  constraints,
- l_false constraints are disallowed in the conflict (as before).
2022-10-07 16:24:14 +02:00
Jakob Rath
8333664433 Simplify handling of side lemmas in conflict 2022-10-07 16:19:41 +02:00
Jakob Rath
8b4a36e3bd Simplify clause_builder 2022-10-07 15:22:49 +02:00
Jakob Rath
dcd6c01a90 revive polynomial superposition (wip) 2022-10-07 10:34:07 +02:00
Jakob Rath
155b746e03 side lemmas 2022-10-07 10:18:29 +02:00
Jakob Rath
9cc9d1fac4 count 2022-10-04 14:08:44 +02:00