Jakob Rath
9d47d7959d
helper functions to add constraints to univariate_solver
2022-03-17 14:08:00 +01:00
Jakob Rath
1de51da67e
get univariate coefficients
2022-03-11 18:03:39 +01:00
Nikolaj Bjorner
8c9835bca6
smul no overflow
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-16 18:55:07 +02:00
Nikolaj Bjorner
6df23fbce3
add note about a bug
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-26 16:58:00 -08:00
Nikolaj Bjorner
0eaf5a8510
factor cache pointers are invalid if the table is resized
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-26 16:18:18 -08:00
Nikolaj Bjorner
5e1ad37533
share subst node
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-23 10:39:42 +01:00
Nikolaj Bjorner
cbbf1381f7
update to use incremental substitution
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-23 03:00:25 +01:00
Jakob Rath
28864e563c
First version of refine_disequal_lin
2021-12-23 18:36:27 +01:00
Nikolaj Bjorner
7bf76dd1f6
finally!
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-12 10:26:54 -08:00
Nikolaj Bjorner
f1d46b58a4
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-11 17:38:09 -08:00
Nikolaj Bjorner
59acd77981
n
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-11 13:01:08 -08:00
Nikolaj Bjorner
6478e789e9
optimizations, fixes, TODO items
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-21 14:50:18 -07:00
Nikolaj Bjorner
1e3ff3179e
handle empty clauses created as lemmas as unsat state.
...
add unit tests
2021-09-19 15:43:47 -04:00
Nikolaj Bjorner
c69c316b27
enable reduce_by, more tests
2021-09-19 13:41:39 -04:00
Nikolaj Bjorner
fa3886136b
adding Boolean propagation, watch; and factoring
2021-09-18 22:18:15 -04:00
Nikolaj Bjorner
611c28fc47
push outline of using cjust for overflow premise
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-09 09:56:00 +02:00
Nikolaj Bjorner
d8f0926620
re-adding saturation for inequalities
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-07 23:20:17 +02:00
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
04ce8ca5ef
u256, separate viable_set
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-04 23:47:12 -07:00
Nikolaj Bjorner
788de7d614
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 02:48:45 -07:00
Nikolaj Bjorner
05bcf0bed7
test sup
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-01 10:33:25 -07:00
Nikolaj Bjorner
5edc939b85
inf
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 21:29:28 -07:00
Nikolaj Bjorner
7d5a1acb61
test sup
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 21:12:00 -07:00
Nikolaj Bjorner
6eae7d71db
sketch computation for sup
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 20:07:10 -07: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
a049235caa
simplify output to use signed constants
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-18 17:26:11 -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
57df45dc16
Merge branch 'master' of https://github.com/z3prover/z3 into polysat
2021-06-18 10:02:33 -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
Nuno Lopes
f1e0d5dc8a
remove a hundred implicit constructors/destructors
2021-05-23 14:25:01 +01:00
Nikolaj Bjorner
dc879dc3fb
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-03 12:41:14 -07:00
Jakob Rath
f83705bf9f
Polysat: first pass at forbidden intervals (not yet fully integrated into solver) ( #5227 )
...
* Add interval class
* Take dependency as const reference
* Compute forbidden intervals for ule-constraints
* Add class for evaluated interval
* We need the evaluated bounds as well
* Don't add constraint to cjust multiple times (hack, to be improved later)
* typo
* More interval helpers
* Add constraint::ult factory function
* Fix forbidden interval condition
* Add solver::has_viable
* Add conflict explanation using forbidden intervals (not yet fully integrated into solver)
2021-04-29 10:12:54 -07:00
Jakob Rath
2fac9e6e66
Add propagate/narrow for ule_constraint ( #5214 )
...
* Add helper to check whether pdd is univariate and linear
* Reorganize propagate/narrow of eq_constraint
* Implement propagate/narrow for ule constraints
* Also push trail instruction in push_viable
2021-04-23 08:41:02 -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
Nikolaj Bjorner
770c79a939
prepare for std::vector
2021-04-20 09:24:24 -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
5706c7a93b
addition
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-16 10:37:53 -07:00