3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-30 04:15:51 +00:00
Commit graph

19 commits

Author SHA1 Message Date
Nikolaj Bjorner
7d5a1acb61 test sup
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 21:12:00 -07:00
Nikolaj Bjorner
b019477378 add cofactoring functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 09:11:42 -07: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
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
947ea66cad simplify output to use signed constants
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-18 17:39:13 -07:00
Nikolaj Bjorner
f263045f96 modify mk_mul
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-18 17:18:16 -07:00
Nikolaj Bjorner
fc60690742 tidy, initial polysat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-20 12:21:50 -07:00
Jakob Rath
77350d97da
BDD vectors: add subtract and quot_rem, move finite domain abstraction out of bdd_manager (#5201)
* Coding style

* Simplify bddv class

* mk_eq: run loop from below

* Add unit test for bddv unsigned comparison

* Add test that shows contains_num/find_num fail after reordering

* Add BDD vector subtraction

* Call apply_rec in mk_ite_rec instead of apply

* Question about mk_quant

* Implement quot_rem over BDD vectors

* Move shl/shr to bddv

* Make unit test smaller

* Add class dd::fdd to manage association between BDDs and numbers

* Remove contains_num/find_num from bdd_manager
2021-04-20 09:09:32 -07:00
Jakob Rath
4da1b7b03c
Add functionality for BDD vectors (#5198)
* Fix XOR over BDDs

* Add operator<< for find_int_t

* Add equality assertion macro that prints expression values on failure

* Adapt contains_int and find_int to take externally-defined bits

* Add more operations on BDD vectors

* Remove old functions

* Additional bddv functions

* Rename some things

* Make bddv a class and add operators

* Fix find_num/contains_num calls
2021-04-19 09:05:19 -07:00
Nikolaj Bjorner
0d65b19c20 cr
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-17 14:27:47 -07:00
Nikolaj Bjorner
4b35c75712 add code review and replacement for mk_int
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-17 14:19:17 -07:00
Nikolaj Bjorner
c7868579c0 add sample bdd vector operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-16 10:22:48 -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
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
a1f484fa35 na 2021-03-19 16:42:45 -07:00
Nikolaj Bjorner
d0e20e44ff booyah
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nikolaj Bjorner
3fca59ac84 add missing scoped_push
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-21 18:06:28 -08:00
Nikolaj Bjorner
1fdde9e056 move bdd to separate space
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-17 10:03:01 -08:00
Renamed from src/sat/sat_bdd.h (Browse further)