mirror of
https://github.com/Z3Prover/z3
synced 2025-06-05 21:53:23 +00:00
break build again
This commit is contained in:
parent
d278a1651d
commit
d2ce7b0ea2
2 changed files with 9 additions and 8 deletions
|
@ -153,7 +153,7 @@ namespace sls {
|
||||||
euf::enode* args[2] = { g.find(a), g.find(b) };
|
euf::enode* args[2] = { g.find(a), g.find(b) };
|
||||||
c = g.mk(eq, 0, 2, args);
|
c = g.mk(eq, 0, 2, args);
|
||||||
}
|
}
|
||||||
g.merge(c, g.find(m.mk_false()), to_ptr(lit));
|
g.merge(g.find(m.mk_false()), to_ptr(lit));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,8 @@ Revision History:
|
||||||
|
|
||||||
using namespace qe;
|
using namespace qe;
|
||||||
|
|
||||||
namespace {
|
namespace qembp {
|
||||||
|
|
||||||
// rewrite select(store(a, i, k), j) into k if m \models i = j and select(a, j) if m \models i != j
|
// rewrite select(store(a, i, k), j) into k if m \models i = j and select(a, j) if m \models i != j
|
||||||
struct rd_over_wr_rewriter : public default_rewriter_cfg {
|
struct rd_over_wr_rewriter : public default_rewriter_cfg {
|
||||||
ast_manager &m;
|
ast_manager &m;
|
||||||
|
@ -124,19 +125,19 @@ namespace {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
template class rewriter_tpl<app_const_arr_rewriter>;
|
template class rewriter_tpl<qembp::app_const_arr_rewriter>;
|
||||||
template class rewriter_tpl<rd_over_wr_rewriter>;
|
template class rewriter_tpl<qembp::rd_over_wr_rewriter>;
|
||||||
|
|
||||||
|
|
||||||
void rewrite_as_const_arr(expr* in, model& mdl, expr_ref& out) {
|
void rewrite_as_const_arr(expr* in, model& mdl, expr_ref& out) {
|
||||||
app_const_arr_rewriter cfg(out.m(), mdl);
|
qembp::app_const_arr_rewriter cfg(out.m(), mdl);
|
||||||
rewriter_tpl<app_const_arr_rewriter> rw(out.m(), false, cfg);
|
rewriter_tpl<qembp::app_const_arr_rewriter> rw(out.m(), false, cfg);
|
||||||
rw(in, out);
|
rw(in, out);
|
||||||
}
|
}
|
||||||
|
|
||||||
void rewrite_read_over_write(expr *in, model &mdl, expr_ref &out) {
|
void rewrite_read_over_write(expr *in, model &mdl, expr_ref &out) {
|
||||||
rd_over_wr_rewriter cfg(out.m(), mdl);
|
qembp::rd_over_wr_rewriter cfg(out.m(), mdl);
|
||||||
rewriter_tpl<rd_over_wr_rewriter> rw(out.m(), false, cfg);
|
rewriter_tpl<qembp::rd_over_wr_rewriter> rw(out.m(), false, cfg);
|
||||||
rw(in, out);
|
rw(in, out);
|
||||||
if (cfg.m_sc.empty()) return;
|
if (cfg.m_sc.empty()) return;
|
||||||
expr_ref_vector sc(out.m());
|
expr_ref_vector sc(out.m());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue