3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-06 19:21:22 +00:00

remove unfinished ite-macro finder, tune ast GC to ensure nodes are roots only once

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2016-07-14 09:46:09 -07:00
parent 4720d578a4
commit 3a83788b97
4 changed files with 3 additions and 19 deletions

View file

@ -189,21 +189,6 @@ bool macro_util::is_left_simple_macro(expr * n, unsigned num_decls, app_ref & he
return false;
}
bool macro_util::is_ite_macro(expr * n, unsigned num_decls, app_ref& head, expr_ref& def) const {
if (is_simple_macro(n, num_decls, head, def)) {
return true;
}
expr* c, *t, *e;
expr_ref def1(m_manager), def2(m_manager);
app_ref head2(m_manager);
if (m_manager.is_ite(n, c, t, e) &&
is_ite_macro(t, num_decls, head, def1) &&
is_ite_macro(e, num_decls, head2, def2) && head == head2) {
def = m_manager.mk_ite(c, def1, def2);
return true;
}
return false;
}
/**
\brief Return true if n is of the form