3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-07 07:45:46 +00:00
Commit graph

360 commits

Author SHA1 Message Date
Jakob Rath
eed79df481 resolve_bool should work normally also in bailout mode 2021-09-07 11:35:38 +02:00
Jakob Rath
15c094fa32 Add fallback lemma 2021-09-06 18:00:21 +02:00
Jakob Rath
381d13993c Add TODO notes from discussion 2021-09-06 16:45:20 +02:00
Jakob Rath
ec1e6725de Merge resolve_bailout into resolve_conflict 2021-09-06 16:44:47 +02:00
Jakob Rath
39d42913cf bailout 2021-09-06 15:16:13 +02:00
Jakob Rath
56b33b1b3e resolve_bailout etc. 2021-09-06 14:08:07 +02:00
Nikolaj Bjorner
ed200f4214
na (#5536)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-05 12:13:08 +02:00
Jakob Rath
9f387f5738
Polysat: conflict resolution updates (#5534)
* variable elimination / saturation sketch

* conflict resolution updates
2021-09-03 10:17:06 -07:00
Jakob Rath
dc547510db
Polysat: conflict resolution wip (#5529)
* conflict_core doesn't need gc() anymore

* update comments, ensure_bvar for new constraints

* Make sure constraints can only be created through constraint_manager

* fix constraint::display if no boolean variable is assigned

* Move clause into separate file

* Add conflict_core binary resolution

* conflict_core additions

* reactivate conflict resolution outer loop

* wip

* seems commented includes break CI build
2021-09-01 09:10:10 -07:00
Jakob Rath
8b374c3745
Merge pull request #5525 from Z3Prover/polysat-pull
remove scoped
2021-09-01 09:37:50 +02:00
Nikolaj Bjorner
2348667304 build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-31 11:31:14 -07:00
Nikolaj Bjorner
475ac77897 na 2021-08-31 11:27:06 -07:00
Nikolaj Bjorner
22b5b63743 Merge branch 'polysat' of https://github.com/z3prover/z3 into polysat 2021-08-31 11:26:51 -07:00
Nikolaj Bjorner
05d564e828 bug fixes
values cannot change on basic variables from inequalities
arithmetic modulo can produce 0 coefficients
2021-08-31 11:26:44 -07:00
Nikolaj Bjorner
978bd9e560 remove scoped
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-31 08:55:48 -07:00
Jakob Rath
dde8fb0c37
Polysat updates (#5524)
* Move boolean resolution into conflict_core

* Move store() into dedup functionality

* comments

* Call gc()

* Add inference_engine sketch
2021-08-31 08:16:45 -07:00
Nikolaj Bjorner
d1118cb178 cc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-30 11:45:41 -07:00
Nikolaj Bjorner
7cff3d4236 more code review
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-30 11:37:08 -07:00
Nikolaj Bjorner
7ea1bf12b6 add code review to constraint
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-30 11:11:55 -07:00
Nikolaj Bjorner
ef297ced13 merge current master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-30 10:01:11 -07:00
Jakob Rath
0c1e44da77
Polysat: constraint refactor cont'd, deduplicate constraints (#5520)
* Assign boolean variables only to long-lived constraints, and deduplicate constraints when they are created

* scoped_signed_constraint

* update other classes

* fix

* Don't use scoped_ptr<constraint> with dedup()
2021-08-30 10:00:27 -07:00
Jakob Rath
ebaea2159e
Polysat: use constraint_literal and begin move to core-based conflict representation (#5489)
* Rename solver_scope for fixplex tests

(otherwise the wrong constructor is called for polysat's solver_scope)

* Update conflict_core

* simplify

* Be clearer about constraint_literal lifetime

* remove old comment

* Remove status (positive/negative) from constraint

* Use constraint_literal in the solver

* Fix build (constraint -> get_constraint)
2021-08-18 11:02:46 -07:00
Nikolaj Bjorner
30e9f24fa3 dbg
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-15 00:48:36 -07:00
Nikolaj Bjorner
6af314c6d9 simplify inequality propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-14 23:36:51 -07:00
Nikolaj Bjorner
204b417396 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-14 22:33:41 -07:00
Nikolaj Bjorner
11a048d5f9 add auxiliary propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-14 17:55:48 -07:00
Nikolaj Bjorner
1e3c3dc48f enable fixed propagation from inequalities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-14 11:58:19 -07:00
Nikolaj Bjorner
6ac7c2b942 fixplex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-13 23:18:52 -07:00
Nikolaj Bjorner
60dbfed69e scenario saving
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-13 11:01:07 -07:00
Nikolaj Bjorner
bd2e73014c wip
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-12 19:40:33 -07:00
Nikolaj Bjorner
cdbd121b5e wip
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-12 17:08:59 -07:00
Nikolaj Bjorner
39e98b3835 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-12 08:38:54 -07:00
Nikolaj Bjorner
f1f5b9e311 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-11 21:40:23 -07:00
Nikolaj Bjorner
d6d24d7839 Merge branch 'polysat' of https://github.com/z3prover/z3 into polysat 2021-08-11 09:21:48 -07:00
Nikolaj Bjorner
008f88ae1c na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-11 09:20:44 -07:00
Nikolaj Bjorner
2b6308af74 testing fixplex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-11 08:33:19 -07:00
Nikolaj Bjorner
c1365b6ba8 add inequality propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-10 11:45:59 -07:00
Nikolaj Bjorner
6a829f831d inequality propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-08 13:21:15 -07:00
Nikolaj Bjorner
f47930a4ff testing bounds strengthening code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-06 17:05:54 -07:00
Nikolaj Bjorner
481e20bc20 compute with deps
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-05 10:03:42 -07:00
Nikolaj Bjorner
40027df32f deps
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-05 07:44:36 -07:00
Nikolaj Bjorner
1d106ee934 include paths
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-05 04:48:32 -07:00
Nikolaj Bjorner
3e32317d11 include paths
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-04 17:54:36 -07:00
Nikolaj Bjorner
2da3593f50 lower/upper case
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-04 17:36:42 -07:00
Nikolaj Bjorner
ec2e9105d3 include paths
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-04 17:08:08 -07:00
Nikolaj Bjorner
be9f172cc0 adding deps
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-04 14:02:32 -07:00
Nikolaj Bjorner
91ac15d716 add u256
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-04 10:32:18 -07:00
Jakob Rath
8a773d2bee
Polysat updates (#5444)
* Simplify adding lemmas

* Remove misleading constructor from tmp_assign.

The idea is that tmp_assign is only created on the stack and
short-lived.  Instead of having a convenience constructor that takes a
constraint_ref, it's clearer to have an explicit .get() at the call
site.

* Remove some log messages

* bugfix

* fix

* Add stub for conflict_core

* wip

* Add example by Clemens
2021-07-30 11:14:19 -07:00
Nikolaj Bjorner
4c6e2acd45 add colors
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-15 00:03:56 +02:00
Nikolaj Bjorner
04ce8ca5ef u256, separate viable_set
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-04 23:47:12 -07:00