Nikolaj Bjorner
a4ea281602
fix #6260
2022-08-06 08:21:52 +03:00
Bruce Mitchener
1d9345c3de
Fix typos.
2022-08-05 07:40:50 +03:00
Nikolaj Bjorner
2696775088
remove stale assertion
...
with support for substitutions we allow the simplifier to change the state of equations.
2022-07-15 04:03:25 -07:00
Nikolaj Bjorner
7c177584f3
add propagators to grobner
2022-07-14 15:45:07 -07:00
Nikolaj Bjorner
d5779bf99c
handle trivial equalities in simplify_leaf
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-11 21:05:26 -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
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
ff265235c1
adjust trace output
2022-06-29 08:20:01 -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
Nuno Lopes
f1e0d5dc8a
remove a hundred implicit constructors/destructors
2021-05-23 14:25:01 +01:00
Nikolaj Bjorner
4a6083836a
call it data instead of c_ptr for approaching C++11 std::vector convention.
2021-04-13 18:17:35 -07:00
Nikolaj Bjorner
d0e20e44ff
booyah
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nikolaj Bjorner
5ee9edf46b
fix incorrect bound in order-lemma
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-13 14:28:42 -07:00
Nikolaj Bjorner
9ca5b3f304
fix #4449
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 21:10:07 -07:00
Nuno Lopes
98b5abb1d4
buffer: require a move constructor to avoid copies
...
remove unneded copy constructors from several classes
2020-06-03 11:57:49 +01:00
Nikolaj Bjorner
a884201d62
remove using insert_if_not_there2
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-25 15:08:51 -07:00
Nikolaj Bjorner
426e4cc75c
fix #3557
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-03 16:37:59 -07:00
Nikolaj Bjorner
9c9ce0b920
fix #3363 , already fixed in Debug branch, importing fix
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-16 11:45:11 -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
00e1049ff2
move some grobner settings to pdd_solver.m_config
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
bb6511b425
add parameters to control grobner's explosure
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
7a2dc6e69e
disable pdd_solver::invariant()
...
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
d1e9998332
add a config parameter to grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
2b7393778e
apply hardcoded thresholds
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
976f10c613
rebase with Z3Prover
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
8ed22c77aa
merge changes from no_deps_gb branch
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Nikolaj Bjorner
7eac995824
misc fixes to grobner state ( #109 )
...
* 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>
* fix misc. invariant violations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* multiple linear constraints seem to be violated
Signed-off-by: Nikolaj Bjorner <nbjorner@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
Lev Nachmanson
279bcb733d
expose grobner statistics
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
83fa083def
expose grobner statistics
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
9ae9877353
update stats in check_pdd_eq()
...
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
ee255ef8b3
merge changes from Z3Prover repository
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
15dff85b22
solving small problem for each other random seed
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
87d7ce69e3
add trace statement and a fix change in pick_next() - choosing a smaller monomial
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
687f30a2ce
debug grobner and improve printing
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
4651eb7042
port grobner: fix the sum from row creation
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
6009b738d6
port Grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
c2235ef96f
port Grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
80d566ed4f
port Grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
628bbcc676
port Grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
3ec0fc2345
port Grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
f8059394e5
port Grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
35c4b07bc4
port Grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
5e40d64a82
port Grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
1e5ade1dc2
port Grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson
005021f74e
port on Grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00