mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 00:55:31 +00:00
fix bug in qe-lite reported in #1086: bookkeeping of unconstrained variables only works for quantifier-free formulas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
02161f2ff7
commit
894c60bdf9
3 changed files with 13 additions and 3 deletions
|
@ -1491,8 +1491,10 @@ namespace fm {
|
|||
unsigned sz = g.size();
|
||||
for (unsigned i = 0; i < sz; i++) {
|
||||
expr * f = g[i];
|
||||
if (is_occ(f))
|
||||
if (is_occ(f)) {
|
||||
TRACE("qe_lite", tout << "OCC: " << mk_ismt2_pp(f, m) << "\n";);
|
||||
continue;
|
||||
}
|
||||
TRACE("qe_lite", tout << "not OCC:\n" << mk_ismt2_pp(f, m) << "\n";);
|
||||
quick_for_each_expr(proc, visited, f);
|
||||
}
|
||||
|
@ -2221,6 +2223,9 @@ namespace fm {
|
|||
void operator()(expr_ref_vector& fmls) {
|
||||
init(fmls);
|
||||
init_use_list(fmls);
|
||||
for (auto & f : fmls) {
|
||||
if (has_quantifiers(f)) return;
|
||||
}
|
||||
if (m_inconsistent) {
|
||||
m_new_fmls.reset();
|
||||
m_new_fmls.push_back(m.mk_false());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue