3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 19:35:50 +00:00
Commit graph

26 commits

Author SHA1 Message Date
Nikolaj Bjorner
d5ff672aaa generalize co-factor to handle cubes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-05 14:10:09 +02:00
Nikolaj Bjorner
b9f6fc5130 debug buidl
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 13:55:57 -07:00
Nikolaj Bjorner
5549301335 remove unreachable code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 09:13:13 -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
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
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
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
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
Jakob Rath
12444c7e8b
Phase saving and some minor changes (#5209)
* Implement phase saving

* Implement signed comparison on BDD vectors

* Add fdd::non_zero

* Simplify construction of fdds over disjoint variables

* Minor changes to adding constraint
2021-04-22 09:47:46 -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
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
5706c7a93b addition
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-16 10:37:53 -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
Nikolaj Bjorner
c41abf2241 fix #4624 #4633 #4632 #4631
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-13 08:36:16 -07:00
Nikolaj Bjorner
b889b110ee bool_vector, some spacer tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 12:59:04 -07:00
Nikolaj Bjorner
8515b304da bdd return
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-10 12:20:09 -08:00
Nikolaj Bjorner
55554215ac add include of thread, build warning
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-06 20:45:47 -08: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.cpp (Browse further)