mirror of
https://github.com/Z3Prover/z3
synced 2025-05-05 06:45:45 +00:00
integrate lambda expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
bf4edef761
commit
520ce9a5ee
139 changed files with 2243 additions and 1506 deletions
|
@ -989,9 +989,10 @@ namespace qe {
|
|||
break;
|
||||
}
|
||||
case AST_QUANTIFIER: {
|
||||
SASSERT(!is_lambda(e));
|
||||
app_ref_vector vars(m);
|
||||
quantifier* q = to_quantifier(e);
|
||||
bool is_fa = q->is_forall();
|
||||
bool is_fa = ::is_forall(q);
|
||||
tmp = q->get_expr();
|
||||
extract_vars(q, tmp, vars);
|
||||
TRACE("qe", tout << vars << " " << mk_pp(q, m) << " " << tmp << "\n";);
|
||||
|
@ -1235,6 +1236,9 @@ namespace qe {
|
|||
fml = push_not(fml);
|
||||
}
|
||||
hoist(fml);
|
||||
if (!is_ground(fml)) {
|
||||
throw tactic_exception("formula is not hoistable");
|
||||
}
|
||||
m_pred_abs.abstract_atoms(fml, defs);
|
||||
fml = m_pred_abs.mk_abstract(fml);
|
||||
m_ex.assert_expr(mk_and(defs));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue