3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-13 16:06:39 +00:00
Commit graph

197 commits

Author SHA1 Message Date
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
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
Nikolaj Bjorner
babb90832c initial u256
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 16:24:23 -07:00
Nikolaj Bjorner
c053c7f1c8 virtual
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 13:30:15 -07:00
Nikolaj Bjorner
cc4354ffd5 warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 13:27:00 -07:00
Nikolaj Bjorner
c54b9305b5 viable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 11:26:17 -07:00
Nikolaj Bjorner
0fc9d7ad0d viable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 11:26:05 -07:00
Nikolaj Bjorner
0520180846 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 03:49:23 -07:00
Nikolaj Bjorner
9e69e1614e na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 03:33:51 -07:00
Nikolaj Bjorner
788de7d614 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 02:48:45 -07:00
Nikolaj Bjorner
1defbc8aa4 Merge branch 'polysat' of https://github.com/z3prover/z3 into polysat 2021-06-30 01:05:42 -04:00
Nikolaj Bjorner
a374e739f1 prepare for tuned viable sets
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 01:05:34 -04:00
Jakob Rath
3436b52c4a
Polysat: refactor constraints (#5372)
* Refactor: remove sign and dep from constraint

* fix some bugs

* improve log messages

* Add missing premises to lemma

* Rename getter in an attempt to fix linux build
2021-06-25 11:04:25 -07:00
Nikolaj Bjorner
a0b0c1f428 with a fix
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-23 17:50:33 -07:00
Nikolaj Bjorner
4f0ec82957 functionally complete viable, needs to be debugged
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-23 17:44:52 -07:00