3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00

remove dependency on ast from params

This commit is contained in:
Nikolaj Bjorner 2021-03-15 15:40:41 -07:00
parent f00db08221
commit 4b3fecc35e
13 changed files with 49 additions and 48 deletions

View file

@ -128,7 +128,6 @@ namespace array {
r.set_delayed();
return false;
}
r.set_applied();
if (a.is_const(child))
return assert_select_const_axiom(select, to_app(child));
else if (a.is_as_array(child))
@ -205,12 +204,6 @@ namespace array {
if (s().value(sel_eq) == l_true)
return false;
#if 0
static unsigned count = 0;
++count;
std::cout << count << " " << sel_eq << "\n";
#endif
bool new_prop = false;
for (unsigned i = 1; i < num_args; i++) {
expr* idx1 = store->get_arg(i);
@ -238,6 +231,7 @@ namespace array {
* select(const(v), i) = v
*/
bool solver::assert_select_const_axiom(app* select, app* cnst) {
++m_stats.m_num_select_const_axiom;
expr* val = nullptr;
VERIFY(a.is_const(cnst, val));

View file

@ -73,7 +73,7 @@ namespace euf {
values2model(deps, mdl);
for (auto* mb : m_solvers)
mb->finalize_model(*mdl);
// validate_model(*mdl);
validate_model(*mdl);
}
bool solver::include_func_interp(func_decl* f) {

View file

@ -308,7 +308,7 @@ namespace euf {
euf::enode* nb = n->get_arg(1);
m_egraph.merge(na, nb, c);
}
else if (n->merge_enabled() && n->num_parents() > 0) {
else if (n->merge_enabled() && (n->num_parents() > 0 || n->num_args() > 0)) {
euf::enode* nb = sign ? mk_false() : mk_true();
m_egraph.merge(n, nb, c);
}