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

177 commits

Author SHA1 Message Date
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
Nikolaj Bjorner
db242c28c6 make it C++17 friendly
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-23 15:20:59 -07:00
Jakob Rath
20a5baeb70
Polysat: expand conflict explanation rules (#5366)
* update example to match slides

* Add normalized view of inequalities

* workaround

* Add a conflict explanation rule

* unit clauses should be asserted at the base level

* Add src constraint to interval

* support non-strict case in first rule

* print conflict constraints only once

* update second rule

* update third rule as well
2021-06-23 10:12:39 -07:00
Nikolaj Bjorner
dec37aee34 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-22 21:01:17 -07:00
Nikolaj Bjorner
01c81405af remove var-constraint alltogether
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-22 20:58:32 -07:00
Nikolaj Bjorner
b9719768a0 more viable scaffolding
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-22 20:55:56 -07:00
Nikolaj Bjorner
8f0c408c0a prepare for new viable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-22 20:44:21 -07:00
Jakob Rath
d7b8ea2f7f
Polysat: minor fixes (#5364)
* update include paths

* bdd fixes

* update/fix some tests

* work around assertion failure when constraint from clause becomes unit

* Remove old code

* use clause_builder

* Verify model when returning SAT

* log

* fix
2021-06-22 09:27:18 -07:00
Nikolaj Bjorner
52eb473c63 prepare viable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 21:55:20 -07:00
Nikolaj Bjorner
f18dccebc2 move tbv
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 21:12:46 -07:00
Nikolaj Bjorner
ce5c8b3066 rename to some saner name
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 16:19:37 -07:00
Nikolaj Bjorner
63f3c841d8 remove var_constraint to get rid of bdd dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 16:14:30 -07:00
Nikolaj Bjorner
9173306adc na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 16:00:13 -07:00
Nikolaj Bjorner
6f93ed8dc2 moving out viable functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 15:50:04 -07:00
Nikolaj Bjorner
19099244c4 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-20 12:38:20 -07:00
Nikolaj Bjorner
4fad0385de tune multiplication slightly
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-20 11:07:06 -07:00
Nikolaj Bjorner
d78313e001 more pp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-20 10:13:59 -07:00
Nikolaj Bjorner
4066087138 pretty printing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-20 09:49:31 -07:00
Nikolaj Bjorner
4bcfcecbbb fix initialization/finalization order for bdd
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-19 23:11:06 -07:00
Nikolaj Bjorner
3da37f4fb5 add unit test driver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-18 10:58:42 -07:00
Jakob Rath
c4963f4381
Polysat: add two more prototype rules (#5355)
* Add try_div to PDDs

* x>y is false when x==y

* First version of the other two prototype rules

* More band-aid fixes...
2021-06-18 08:48:50 -07:00