3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 19:35:50 +00:00

testing inc_sat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-07-31 22:29:47 -07:00
parent 365f05b41a
commit 39414d8b8d
9 changed files with 200 additions and 95 deletions

View file

@ -394,7 +394,6 @@ struct goal2sat::imp {
expr_ref_vector fmls(m);
for (unsigned idx = 0; idx < size; idx++) {
f = g.form(idx);
TRACE("sat", tout << "Formula: " << mk_pp(f, m) << "\n";);
// Add assumptions.
if (g.dep(idx)) {
deps.reset();
@ -403,21 +402,28 @@ struct goal2sat::imp {
fmls.push_back(f);
for (unsigned i = 0; i < deps.size(); ++i) {
expr * d = deps[i];
expr * d1;
expr * d1 = d;
SASSERT(m.is_bool(d));
if (m.is_not(d, d1)) {
insert_dep(d1, true);
fmls.push_back(d1);
bool sign = m.is_not(d, d1);
insert_dep(d1, sign);
if (d == f) {
goto skip_dep;
}
if (sign) {
d_new = d1;
}
else {
insert_dep(d, false);
fmls.push_back(m.mk_not(d));
d_new = m.mk_not(d);
}
}
fmls.push_back(d_new);
}
f = m.mk_or(fmls.size(), fmls.c_ptr());
TRACE("sat", tout << mk_pp(f, m) << "\n";);
}
TRACE("sat", tout << mk_pp(f, m) << "\n";);
process(f);
skip_dep:
;
}
}