mirror of
https://github.com/Z3Prover/z3
synced 2025-05-10 01:05:47 +00:00
introduce notion of beta redex to deal with lambdas in non-extensional positions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
b9b5377c69
commit
8efa3c8ade
10 changed files with 65 additions and 51 deletions
|
@ -473,6 +473,15 @@ namespace smt {
|
|||
return false;
|
||||
}
|
||||
|
||||
bool theory_array_base::is_beta_redex(enode* p, enode* n) const {
|
||||
if (is_select(p))
|
||||
return p->get_arg(0)->get_root() == n->get_root();
|
||||
if (is_map(p))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool theory_array_base::is_select_arg(enode* r) {
|
||||
for (enode* n : r->get_parents())
|
||||
if (is_select(n))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue