mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
add missing lambda defs per #5509
the result is now unknown because the nested expression contains exists, which doesn't get replaced by universal quantifier which is assumed by the legacy core. The legacy core should not depend on universal quantifiers only, but fixing this is a risk. Workaround is to rewrite goals using forall only (replace exists by de-Morgan dual).
This commit is contained in:
parent
9790a8aa43
commit
09696e989e
3 changed files with 22 additions and 1 deletions
|
@ -423,8 +423,14 @@ namespace smt {
|
|||
m_value2expr.reset();
|
||||
|
||||
TRACE("model_checker", tout << "MODEL_CHECKER INVOKED\n";
|
||||
tout << "model:\n"; model_pp(tout, *m_curr_model););
|
||||
tout << "model:\n"; model_pp(tout, *m_curr_model););
|
||||
|
||||
for (quantifier* q : *m_qm)
|
||||
if (m.is_lambda_def(q)) {
|
||||
md->add_lambda_defs();
|
||||
break;
|
||||
}
|
||||
|
||||
md->compress();
|
||||
|
||||
TRACE("model_checker", tout << "MODEL_CHECKER INVOKED\n";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue