Jakob Rath
28810e55a0
pdd_linear_iterator
2023-07-08 20:08:03 +02:00
Jakob Rath
397acd0089
use manager reference as before
2023-07-08 20:06:24 +02:00
Jakob Rath
129039dc52
Add method to (explicitly) re-assign the pdd manager
2023-05-29 15:53:04 +02:00
Jakob Rath
2795ac5e90
Store pdd_manager as pointer
2023-05-29 15:53:04 +02:00
Nikolaj Bjorner
7b60c37ad8
remaining issue fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-04-01 10:30:49 -07:00
Jakob Rath
133661d81b
guard pdd-AND against wrong semantics
2023-02-24 13:51:37 +01:00
Jakob Rath
ae8075e22d
check and fix pdd manager confusion
2023-02-24 13:29:59 +01:00
Jakob Rath
a0f5386bdd
Use parity helper functions
2023-02-08 15:11:39 +01:00
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
4ecb61aeaa
neatify
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-15 09:53:56 -07: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
316ed778e0
Tune Grobner equations
...
\brief convert p == 0 into a solved form v == r, such that
v has bounds [lo, oo) iff r has bounds [lo', oo)
v has bounds (oo,hi] iff r has bounds (oo,hi']
The solved form allows the Grobner solver identify more bounds conflicts.
A bad leading term can miss bounds conflicts.
For example for x + y + z == 0 where x, y : [0, oo) and z : (oo,0]
we prefer to solve z == -x - y instead of x == -z - y
because the solution -z - y has neither an upper, nor a lower bound.
The Grobner solver is augmented with a notion of a substitution that is applied before the solver is run.
2022-07-11 16:14:26 -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
770c79a939
prepare for std::vector
2021-04-20 09:24:24 -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
b889b110ee
bool_vector, some spacer tidy
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 12:59:04 -07: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
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
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
5e19a52772
merge changes from Z3Prover
...
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
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
57846e50fa
use variable id as level, separate cut-set updates, add missing reset in pdd
2020-01-08 02:15:45 -08:00
Nikolaj Bjorner
4c09b7d792
build warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-06 04:58:28 -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
e1fb74edc5
add ite-finder, profile
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-05 16:46:50 -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
c1032c3403
remove watch, hoist orbit to track used variables
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-02 00:39:50 -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
f5c7b9fb2f
reset values
2019-12-30 12:56:52 -08:00
Nikolaj Bjorner
2f8303393b
fix reset
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-28 16:57:22 -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
1e99059a5d
fix subtraction
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-27 15:49:54 -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
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
3df6080a27
Update dd_pdd.cpp
...
dbg
2019-12-23 15:53:10 -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
58be42d2a9
initial unit test for pdd_grobner
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-22 10:59:12 -08:00
Nikolaj Bjorner
c4da5caf69
update comment
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-21 17:59:00 -08:00
Nikolaj Bjorner
72b47ba519
use while loop for reduce
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-12-21 17:57:01 -08:00