mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 20:05:51 +00:00
preparing intblaster as self-contained solver.
add activate and propagate to constraints support axiomatized operators band, lsh, rshl, rsha
This commit is contained in:
parent
f388f58a4b
commit
2292a26a25
15 changed files with 368 additions and 326 deletions
|
@ -235,9 +235,7 @@ namespace polysat {
|
|||
if (n->get_num_args() == 2) {
|
||||
expr* x, * y;
|
||||
VERIFY(bv.is_bv_and(n, x, y));
|
||||
auto sc = m_core.band(expr2pdd(x), expr2pdd(y), expr2pdd(n));
|
||||
// auto index = m_core.register_constraint(sc, dependency::axiom());
|
||||
//
|
||||
m_core.band(expr2pdd(x), expr2pdd(y), expr2pdd(n));
|
||||
}
|
||||
else {
|
||||
expr_ref z(n->get_arg(0), m);
|
||||
|
@ -252,19 +250,19 @@ namespace polysat {
|
|||
void solver::internalize_lshr(app* n) {
|
||||
expr* x, * y;
|
||||
VERIFY(bv.is_bv_lshr(n, x, y));
|
||||
auto sc = m_core.lshr(expr2pdd(x), expr2pdd(y), expr2pdd(n));
|
||||
m_core.lshr(expr2pdd(x), expr2pdd(y), expr2pdd(n));
|
||||
}
|
||||
|
||||
void solver::internalize_ashr(app* n) {
|
||||
expr* x, * y;
|
||||
VERIFY(bv.is_bv_ashr(n, x, y));
|
||||
auto sc = m_core.ashr(expr2pdd(x), expr2pdd(y), expr2pdd(n));
|
||||
m_core.ashr(expr2pdd(x), expr2pdd(y), expr2pdd(n));
|
||||
}
|
||||
|
||||
void solver::internalize_shl(app* n) {
|
||||
expr* x, * y;
|
||||
VERIFY(bv.is_bv_shl(n, x, y));
|
||||
auto sc = m_core.shl(expr2pdd(x), expr2pdd(y), expr2pdd(n));
|
||||
m_core.shl(expr2pdd(x), expr2pdd(y), expr2pdd(n));
|
||||
}
|
||||
|
||||
void solver::internalize_urem_i(app* rem) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue