Jakob Rath
85818612fb
val_pp
2022-12-08 16:19:11 +01:00
Nikolaj Bjorner
28fb67219e
fix new (and unused) function for extracting min parity of a polynomial
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-08 07:13:31 -08:00
Nikolaj Bjorner
437f826e8b
sketch parity generalization
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 20:04:58 -08:00
Nikolaj Bjorner
eda3cac8d4
chasing interval bug
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-03 07:49:17 -08:00
Jakob Rath
ea9e5a47c7
-1
2022-11-30 15:24:35 +01:00
Jakob Rath
5b6e383c88
Pretty-print powers of two
2022-11-29 15:49:58 +01:00
Jakob Rath
e6c9e13848
Disable copy/move of pdd_manager
2022-11-28 17:41:04 +01:00
Jakob Rath
022c06f75d
pdd::subst_get
2022-11-18 15:14:38 +01:00
Jakob Rath
8242069ba6
One more case for ule_constraint::is_always_false
2022-09-29 18:22:31 +02:00
Nikolaj Bjorner
8128ae8109
generalize subsumption to non-univariate
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-22 10:46:49 -07:00
Nikolaj Bjorner
31ffe89480
normalize more pretty printing
2022-08-17 08:24:41 -07:00
Jakob Rath
4282cfa148
Remove unused variable
2022-08-04 08:55:04 +02:00
Jakob Rath
220a63e8bd
Merge branch 'master' into polysat
2022-08-01 11:27:49 +02:00
Bruce Mitchener
3e38bbb009
Make sure all headers do #pragma once
. ( #6188 )
2022-07-23 10:41:14 -07:00
Jakob Rath
1b370727b1
remove redundant subst_val
2022-07-21 13:15:02 +02:00
Jakob Rath
e168d8a2eb
Merge branch 'master' into polysat
2022-07-21 12:56:50 +02: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
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
Jakob Rath
e5e79c1d4b
Merge branch 'master' into polysat
2022-07-01 16:11:17 +02: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
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