mirror of
https://github.com/Z3Prover/z3
synced 2025-09-06 09:51:09 +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
|
@ -1044,7 +1044,7 @@ namespace datalog {
|
|||
quantifier* q = to_quantifier(body);
|
||||
expr* e = q->get_expr();
|
||||
if (m.is_implies(e, body, e2)) {
|
||||
fml = m.mk_quantifier(false, q->get_num_decls(),
|
||||
fml = m.mk_quantifier(exists_k, q->get_num_decls(),
|
||||
q->get_decl_sorts(), q->get_decl_names(),
|
||||
body);
|
||||
}
|
||||
|
@ -1251,13 +1251,10 @@ namespace datalog {
|
|||
obj_map<sort, unsigned> max_vars;
|
||||
for (unsigned i = 0; i < rules.size(); ++i) {
|
||||
expr* r = rules[i].get();
|
||||
if (!is_quantifier(r)) {
|
||||
if (!is_forall(r)) {
|
||||
continue;
|
||||
}
|
||||
quantifier* q = to_quantifier(r);
|
||||
if (!q->is_forall()) {
|
||||
continue;
|
||||
}
|
||||
if (has_quantifiers(q->get_expr())) {
|
||||
continue;
|
||||
}
|
||||
|
@ -1292,7 +1289,7 @@ namespace datalog {
|
|||
subst.push_back(fresh_vars[vars[max_var]].get());
|
||||
}
|
||||
|
||||
vsubst(q->get_expr(), subst.size(), subst.c_ptr(), res);
|
||||
res = vsubst(q->get_expr(), subst.size(), subst.c_ptr());
|
||||
rules[i] = res.get();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue