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:
parent
8fe2f3c58a
commit
63259d8a43
6 changed files with 50 additions and 3 deletions
|
|
@ -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.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue