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

1411 commits

Author SHA1 Message Date
Nikolaj Bjorner
af2376e9e4 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-16 10:00:44 -07:00
Jakob Rath
f72e30e539
Add BDD utilities; use them for narrowing/propagation of linear equality constraints (#5192)
* Add a few helper methods for encoding sets of integers as BDDs

* Use BDD functions in solver

* Add bdd::find_int

* Use bdd::find_int in solver

* Add narrowing for linear equality constraints

* Simplify code for linear propagation

* Add test for later

* Narrowing can only handle linear constraints with a single variable

* Need to push_cjust
2021-04-16 08:44:18 -07:00
Nikolaj Bjorner
e970fe5034 sketch bit-constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 23:04:25 -07:00
Nikolaj Bjorner
dce9740a38 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 21:53:27 -07:00
Nikolaj Bjorner
12ccd99e84 trail
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 17:39:00 -07:00
Nikolaj Bjorner
549b984c88 move to self-contained trail instructions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 17:38:36 -07:00
Nikolaj Bjorner
2eadcd586a add new file for eq_constraint
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 14:34:01 -07:00
Nikolaj Bjorner
c733789467 move more equality functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 14:24:50 -07:00
Nikolaj Bjorner
5163492d5b move constraint handler functionality to self-contained / separate classes.
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 13:08:25 -07:00
Nikolaj Bjorner
0d78a10630 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 12:11:33 -07:00
Jakob Rath
55a908e357
Fix Windows build (#5188) 2021-04-15 09:18:20 -07:00
Jakob Rath
cb9dda19dd
Polysat (#5187)
* test_l2 works now

* Linear propagation: test whether a is odd

* Linear propagation with even coefficients (wip)
2021-04-15 08:37:14 -07:00
Jakob Rath
feb31045f5
Add more logging to polysat (#5186)
* Add polysat logging support

* Don't really need the usual log levels

* Indent log headings

* Add display method to ptr_vector

* Add some logging to solver

* Use __FUNCSIG__ on MSVC
2021-04-15 08:35:57 -07:00
Jakob Rath
7067fc16ae
Test and fix PDD subst_val (#5185) 2021-04-15 08:35:46 -07:00
Nikolaj Bjorner
bb7754a767 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 22:41:56 -07:00
Nikolaj Bjorner
9a2b7677bf na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 22:03:28 -07:00
Nikolaj Bjorner
034132d245 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 21:46:59 -07:00
Nikolaj Bjorner
ce75656e2b del-var
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 21:46:13 -07:00
Nikolaj Bjorner
e6c9f27de4 misc fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 14:15:43 -07:00
Jakob Rath
8a260d89cd
Small polysat fixes (#5183)
* Add some display functions

* Add new variables to free vars
2021-04-14 10:29:58 -07:00
Nikolaj Bjorner
de66c12b93 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 04:53:13 -07:00
Nikolaj Bjorner
8c9aae5640 Merge branch 'polysat' of https://github.com/z3prover/z3 into polysat 2021-04-14 04:49:00 -07:00
Nikolaj Bjorner
332c123244 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 04:48:53 -07:00
Jakob Rath
324d9ed461
Add more PDD utilities (div, pow) (#5180)
* Expose 'inv' on rationals to get reciprocal value

* Align parameter names with implementation

* Add cached operation that divides PDD by a constant

* Fix display for constant PDDs

* operator^ should probably call ^ instead of + (mk_xor instead of add)

* Add helper function 'pow' on PDDs
2021-04-14 04:48:42 -07:00
Nikolaj Bjorner
57486f0b3d split into parts, add stats
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 04:05:35 -07:00
Nikolaj Bjorner
21baa2a70a Merge branch 'master' of https://github.com/z3prover/z3 into polysat 2021-04-14 03:51:12 -07:00
Nikolaj Bjorner
4a6083836a call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
Nikolaj Bjorner
a0d112b7b0 general form migration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-13 13:00:47 -07:00
Nikolaj Bjorner
7025d85da3 migrating to general form
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-13 11:21:41 -07:00
Nikolaj Bjorner
f18789257e Print polynomials with power
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:40 -07:00
Jakob Rath
0e9fc4762a Fix PDD factor cache in case GC happens while factoring (#5170)
* Add method to find largest power of two that is a divisor

* Binary resolve on PDDs

* Add unit tests for binary resolve

* Fix factor cache access in case GC happens while factoring

* Coding conventions

* Change to gc_generation
2021-04-12 11:20:40 -07:00
Jakob Rath
75c87a2869 Test and memoize pdd factoring (#5163)
* Test and fix pdd_manager::factor

* Memoize pdd_manager::factor

* Fix Windows build (maybe)
2021-04-12 11:20:40 -07:00
Jakob Rath
f8562380d6 Fix pdd_manager::degree(PDD, unsigned) and add unit tests (#5155)
* Fix pdd_manager::degree(PDD, unsigned) and add unit tests

* Another marking opportunity
2021-04-12 11:20:40 -07:00
Nikolaj Bjorner
c575aa3973 remove sub
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:39 -07:00
Nikolaj Bjorner
16df37c484 clean
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:39 -07:00
Nikolaj Bjorner
11b547282a move to stash model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:39 -07:00
Nikolaj Bjorner
446654b680 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:39 -07:00
Nikolaj Bjorner
52d37f131d na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:38 -07:00
Nikolaj Bjorner
d247289606 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:38 -07:00
Nikolaj Bjorner
c2b213c049 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:38 -07:00
Nikolaj Bjorner
31baab49c8 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:37 -07:00
Nikolaj Bjorner
cec0cdce33 reorg resolution loop
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:37 -07:00
Nikolaj Bjorner
d7456dc2a7 reorg resolution loop
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:37 -07:00
Nikolaj Bjorner
ba5978723c introduce user-push/pop
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:37 -07:00
Nikolaj Bjorner
112a70dd2c more stub
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:36 -07:00
Nikolaj Bjorner
00bf41daf4 add invariants and redundant constraint store
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:36 -07:00
Nikolaj Bjorner
bd04b5e8bd add testing stubs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:36 -07:00
Nikolaj Bjorner
b0e071aa2c na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:36 -07:00
Nikolaj Bjorner
7d4818d52c minor adjustments
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:35 -07:00
Lev Nachmanson
1a7c9fa54d rename a metod 2021-04-10 08:54:52 -07:00