mirror of
https://github.com/Z3Prover/z3
synced 2025-06-18 11:58:31 +00:00
This commit is contained in:
parent
f91c3d9fd6
commit
a3ba4e1366
1 changed files with 11 additions and 9 deletions
|
@ -181,23 +181,25 @@ namespace q {
|
||||||
while (!todo.empty()) {
|
while (!todo.empty()) {
|
||||||
expr* t = todo.back();
|
expr* t = todo.back();
|
||||||
SASSERT(!is_ground(t) || ctx.get_egraph().find(t));
|
SASSERT(!is_ground(t) || ctx.get_egraph().find(t));
|
||||||
if (is_ground(t) || (has_quantifiers(t) && !has_free_vars(t))) {
|
|
||||||
m_mark.mark(t);
|
|
||||||
m_eval.setx(t->get_id(), ctx.get_egraph().find(t), nullptr);
|
|
||||||
if (!m_eval[t->get_id()])
|
|
||||||
return nullptr;
|
|
||||||
todo.pop_back();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (m_mark.is_marked(t)) {
|
if (m_mark.is_marked(t)) {
|
||||||
todo.pop_back();
|
todo.pop_back();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (is_var(t)) {
|
if (is_ground(t) || (has_quantifiers(t) && !has_free_vars(t))) {
|
||||||
|
m_eval.setx(t->get_id(), ctx.get_egraph().find(t), nullptr);
|
||||||
|
if (!m_eval[t->get_id()])
|
||||||
|
return nullptr;
|
||||||
m_mark.mark(t);
|
m_mark.mark(t);
|
||||||
|
todo.pop_back();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (is_var(t)) {
|
||||||
if (to_var(t)->get_idx() >= n)
|
if (to_var(t)->get_idx() >= n)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
m_eval.setx(t->get_id(), binding[n - 1 - to_var(t)->get_idx()], nullptr);
|
m_eval.setx(t->get_id(), binding[n - 1 - to_var(t)->get_idx()], nullptr);
|
||||||
|
if (!m_eval[t->get_id()])
|
||||||
|
return nullptr;
|
||||||
|
m_mark.mark(t);
|
||||||
todo.pop_back();
|
todo.pop_back();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue