mirror of
https://github.com/Z3Prover/z3
synced 2026-07-15 03:25:43 +00:00
allow lambdas in select positions for model, ignore beta redex incompletness when using arrays for MBQI
This commit is contained in:
parent
ca6d6e3977
commit
d1aaae6856
1 changed files with 3 additions and 1 deletions
|
|
@ -853,6 +853,8 @@ namespace smt {
|
|||
}
|
||||
|
||||
bool theory_array_full::has_non_beta_as_array() {
|
||||
if (ctx.get_fparams().m_array_fake_support)
|
||||
return false;
|
||||
for (enode* n : m_as_array) {
|
||||
for (enode* p : n->get_parents())
|
||||
if (ctx.is_relevant(p) && !ctx.is_beta_redex(p, n)) {
|
||||
|
|
@ -862,7 +864,7 @@ namespace smt {
|
|||
}
|
||||
for (enode* n : m_lambdas)
|
||||
for (enode* p : n->get_parents())
|
||||
if (ctx.is_relevant(p) && !is_default(p) && !ctx.is_beta_redex(p, n) && !is_congruent_eq(p)) {
|
||||
if (ctx.is_relevant(p) && !is_default(p) && !is_select(p) && !ctx.is_beta_redex(p, n) && !is_congruent_eq(p)) {
|
||||
TRACE(array, tout << "lambda is not a beta redex " << enode_pp(p, ctx) << "\n");
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue