3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 13:28:47 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-03-18 11:15:15 -07:00
parent 24dd047892
commit 7cb6f41d0a
2 changed files with 7 additions and 5 deletions

View file

@ -65,7 +65,7 @@ namespace qe {
DEBUG_CODE(expr_ref val(m);
eval(lit, val);
CTRACE("qe", !m.is_true(val), tout << mk_pp(lit, m) << " := " << val << "\n";);
SASSERT(m.is_true(val)););
SASSERT(m.canceled() || m.is_true(val)););
TRACE("opt", tout << mk_pp(lit, m) << " " << a.is_lt(lit) << " " << a.is_gt(lit) << "\n";);
bool is_not = m.is_not(lit, lit);

View file

@ -528,7 +528,7 @@ public:
preprocess_solve(model, vars, fmls);
filter_variables(model, vars, fmls, unused_fmls);
project_bools(model, vars, fmls);
while (progress && !vars.empty() && !fmls.empty()) {
while (progress && !vars.empty() && !fmls.empty() && m.limit().inc()) {
app_ref_vector new_vars(m);
progress = false;
for (project_plugin * p : m_plugins) {
@ -536,7 +536,7 @@ public:
(*p)(model, vars, fmls);
}
}
while (!vars.empty() && !fmls.empty()) {
while (!vars.empty() && !fmls.empty() && m.limit().inc()) {
var = vars.back();
vars.pop_back();
project_plugin* p = get_plugin(var);
@ -547,7 +547,7 @@ public:
new_vars.push_back(var);
}
}
if (!progress && !new_vars.empty() && !fmls.empty() && force_elim) {
if (!progress && !new_vars.empty() && !fmls.empty() && force_elim && m.limit().inc()) {
var = new_vars.back();
new_vars.pop_back();
expr_safe_replace sub(m);
@ -564,7 +564,9 @@ public:
}
}
progress = true;
}
}
if (!m.limit().inc())
return;
vars.append(new_vars);
if (progress) {
preprocess_solve(model, vars, fmls);