3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-17 20:45:45 +00:00

add missing registration of lambdas with legacy array solver, add missing beta reduction axiom

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2026-06-29 19:13:33 -07:00
parent 8fe2f3c58a
commit 63259d8a43
6 changed files with 50 additions and 3 deletions

View file

@ -597,9 +597,10 @@ namespace smt {
SASSERT(is_lambda(q));
if (e_internalized(q))
return;
mk_enode(q, true, /* do suppress args */
auto e = mk_enode(q, true, /* do suppress args */
false, /* it is a term, so it should not be merged with true/false */
true);
apply_sort_cnstr(q, e);
}
bool context::has_lambda() {
@ -1092,6 +1093,14 @@ namespace smt {
}
}
void context::apply_sort_cnstr(quantifier *lambda_term, enode *e) {
sort *s = lambda_term->get_sort();
theory *th = m_theories.get_plugin(s->get_family_id());
if (th) {
th->apply_sort_cnstr(e, s);
}
}
/**
\brief Return the literal associated with n.
*/