mirror of
https://github.com/Z3Prover/z3
synced 2025-04-07 18:05:21 +00:00
parent
6d6752b2aa
commit
c1b355f342
|
@ -625,6 +625,10 @@ namespace array {
|
|||
return change;
|
||||
}
|
||||
|
||||
/**
|
||||
* For every occurrence of as-array(f) and every occurrence of f(t)
|
||||
* add equality select(as-array(f), t) = f(t)
|
||||
*/
|
||||
bool solver::add_as_array_eqs(euf::enode* n) {
|
||||
func_decl* f = nullptr;
|
||||
bool change = false;
|
||||
|
|
|
@ -216,8 +216,7 @@ namespace array {
|
|||
d.m_has_default = true;
|
||||
for (euf::enode* lambda : d.m_lambdas)
|
||||
push_axiom(default_axiom(lambda));
|
||||
if (should_prop_upward(d))
|
||||
propagate_parent_default(v);
|
||||
propagate_parent_default(v);
|
||||
}
|
||||
|
||||
void solver::propagate_select_axioms(var_data const& d, euf::enode* lambda) {
|
||||
|
@ -255,7 +254,7 @@ namespace array {
|
|||
return;
|
||||
ctx.push(reset_flag_trail(d.m_prop_upward));
|
||||
d.m_prop_upward = true;
|
||||
if (should_prop_upward(d))
|
||||
if (should_prop_upward(d))
|
||||
propagate_parent_select_axioms(v);
|
||||
set_prop_upward(d);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue