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
Jakob Rath
7067fc16ae
Test and fix PDD subst_val ( #5185 )
2021-04-15 08:35:46 -07:00
Nikolaj Bjorner
9a2b7677bf
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 22:03:28 -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
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
a0d112b7b0
general form migration
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-13 13:00:47 -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
446654b680
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-12 11:20:39 -07:00
Nikolaj Bjorner
c2b353ba72
adding factorization
2021-03-26 14:58:24 -07:00
Nikolaj Bjorner
2fef6dc502
more scaffolding
2021-03-21 11:31:14 -07:00
Nikolaj Bjorner
a1f484fa35
na
2021-03-19 16:42:45 -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
d0e20e44ff
booyah
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nuno Lopes
e844aef896
remove a few more copy constructors, though still not enough to enable the assertion in vector
...
I give up for now; there are too many copies left for little return..
2020-06-03 20:32:13 +01:00
Nikolaj Bjorner
33042268b5
bounds propagation functionality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 13:36:22 -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
Lev Nachmanson
8af245a410
use a simpler encoding for term indices
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
1c0e583abc
avoid calling del on memory not owned by object allocator
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
0b785cc942
track variables used by nla_solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
c68d15f441
build of template
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
1aaf6d879f
use same interval manager in pdd_interval as caller
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
f76432933f
avoid calling del on memory not owned by object allocator
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
f1f974638d
track variables used by nla_solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
a7158772ad
move to scoped intervals for memory management
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-25 19:43:55 -07:00
Nikolaj Bjorner
88374a15d0
build errors/warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-07 10:09:10 -08:00
Lev Nachmanson
696c95e1cf
remove duplicate lines
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
06203d227e
cleanup the grobner config init
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
7ad95aa5d2
Nikolaj fixes pdd_manager::reduce() to work with the changed order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
d6a246777a
Nikolaj implemented lm_lt on dd::pdd
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
cca19ef1a7
unit tests for dd_pdd ordering
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
61da9a8aeb
test the new order on pdd
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
a67f0bbb46
fix in the interval calculations
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2020-01-28 10:04:21 -08:00
Nikolaj Bjorner
a9a602c1aa
memory throttling ( #108 )
...
* fixes to use list bookkeeping
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix reset logic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix non-termination bug in simplifier
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* missing reset of values
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add configuration to throttle memory usage
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-28 10:04:21 -08:00
Nikolaj Bjorner
c5187902ad
reset also m_values ( #107 )
...
* fixes to use list bookkeeping
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix reset logic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix non-termination bug in simplifier
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* missing reset of values
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
407c8a60db
reverse the order of vars for pdd_grobner, use pdd_grobner.reset()
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
b5364b787c
set level2var for m_pdd_manager of pdd_grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
b9f74db14c
hook up pdd_grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
c6ea5c2263
prepare to hook up pdd_grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
610a2837ea
rebase with Z3Prover
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
5e19a52772
merge changes from Z3Prover
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
aafdab65bd
fix the build and extend options to run grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
1d217595c8
add pdd_interval to evaluate intervals of pdd expressions
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
ee255ef8b3
merge changes from Z3Prover repository
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
f22d4b50cc
define setter and getter for var2var in pdd_eval
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
a9f09beb8e
add the pdd evaluator and a unit test for it
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00