Jakob Rath
d69155b9e9
Shared features from polysat branch ( #6567 )
...
* Allow setting default debug action
* Fix dlist and add iterator
* Add var_queue iterator
* Add some helpers
* rational: machine_div2k and pseudo_inverse
* Basic support for non-copyable types in map
* tbv helpers
* pdd updates
* Remove duplicate functions
gcc doesn't like having both versions
2023-02-03 13:08:47 -08:00
Jakob Rath
de6a0ab1a7
PDD operations
2022-08-01 18:37:11 +03:00
Nikolaj Bjorner
b29cdca936
integrate factorization to Grobner
2022-07-14 21:24:27 -07:00
Nikolaj Bjorner
4a192850f2
add var_factors
...
Add routine to partially factor polynomials. It factors out variables.
2022-07-14 11:06:53 -07:00
Nikolaj Bjorner
f33c933241
Add substitution routine to pdd
...
For Grobner we want to preserve directions of intervals for finding sign conflicts. This means that it makes sense to have external control over linear solutions.
2022-07-11 12:10:28 -07:00
Nikolaj Bjorner
b68af0c1e5
working on reconciling perf for arithmetic solvers
...
this update integrates inferences to smt.arith.solver=6 related to grobner basis computation and handling of div/mod axioms to reconcile performance with smt.arith.solver=2.
The default of smt.arth.nl.grobner_subs_fixed is changed to 1 to make comparison with solver=2 more direct.
The selection of cluster equalities for solver=6 was reconciled with how it is done for solver=2.
2022-07-11 07:38:51 -07:00
Nikolaj Bjorner
3d00d1d56b
prepare for equality propagation from Grobner basis
...
Attempt to remedy performance regressions from the new solver core for NLA. It misses easy lemmas, presumably due to weaker bounds information.
2022-06-14 09:51:07 -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
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
b889b110ee
bool_vector, some spacer tidy
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 12:59:04 -07: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
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
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
Nikolaj Bjorner
301f9598a4
fixing leading term computation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-08 12:10:23 -08:00
Nikolaj Bjorner
2acab46388
anf translation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-05 21:09:52 -08:00
Nikolaj Bjorner
d27a949ae9
add anf and aig simplifier modules, cut-set enumeration, aig_finder, hoist out xor_finder from ba_solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-05 16:46:49 -08:00
Nikolaj Bjorner
40a4326ad4
add anf
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-05 16:46:49 -08:00
Nikolaj Bjorner
1d0572354b
add bit-matrix, avoid flattening and/or after bit-blasting, split pdd_grobner into solver/simplifier, add xlin, add smtfd option for incremental mode logic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-01 20:14:20 -08:00
Nikolaj Bjorner
1fd4c91fbf
fixes to reset
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-28 15:31:20 -08:00
Nikolaj Bjorner
914856b9ba
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-26 14:31:05 -08:00
Nikolaj Bjorner
2c6e6b1fdb
resolve
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-26 02:30:12 -08:00
Nuno Lopes
d13f1310a7
fix build
2019-12-26 10:21:51 +00:00
Nikolaj Bjorner
50873c8094
reduce simplification
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-26 01:32:36 -08:00
Nikolaj Bjorner
65d818437a
add simplification routines
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-25 19:31:18 -08:00
Nikolaj Bjorner
5a68fc8c07
fix pdd_stack for gc on reduce, add unit test for linear_simplify
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-25 11:05:59 -08:00
Nikolaj Bjorner
34ae55f4f5
fix gc bug
2019-12-23 18:29:42 -08:00
Nikolaj Bjorner
77868f3d96
added notes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-23 12:32:02 -08:00
Nikolaj Bjorner
25b98f497a
adding level2var
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-22 11:51:04 -08:00
Nikolaj Bjorner
feff6a2add
fix build, add ZDD reference
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-20 11:49:50 -08:00
Nikolaj Bjorner
1f9aff04df
fix 2808
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-20 11:29:08 -08:00
Nikolaj Bjorner
6ad55cc8f6
add tuned implementation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-19 15:26:55 -08:00
Nikolaj Bjorner
27b69cf280
updates
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-18 17:03:56 -08:00
Nikolaj Bjorner
469f618742
build dependencies, invariant annotation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-18 13:48:27 -08:00
Nikolaj Bjorner
5e0799225d
adding pdd-grobner
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-18 12:03:13 -08:00
Nikolaj Bjorner
ca0a52c930
some const qualifiers
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-17 21:59:05 -08:00
Nikolaj Bjorner
1680585827
swap sub with minus
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-17 21:46:55 -08:00
Nikolaj Bjorner
a744a465e6
pdd fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-17 21:25:18 -08:00
Nikolaj Bjorner
f7eb5f8840
merge unary minus
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-17 17:10:35 -08:00
Nikolaj Bjorner
9e4a7ae4b8
add pdd
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-17 16:59:33 -08:00