mirror of
https://github.com/Z3Prover/z3
synced 2025-10-10 17:58:06 +00:00
wip - dependent expr simpliifer
- simplify iterator over current indices - add more simplifiers used by asserted_formulas - improve diagnostics printing
This commit is contained in:
parent
bec3acd146
commit
b084821a0c
25 changed files with 553 additions and 158 deletions
|
@ -24,7 +24,7 @@ unsigned dependent_expr_state::num_exprs() {
|
|||
}
|
||||
|
||||
void dependent_expr_state::freeze(func_decl* f) {
|
||||
if (m_frozen.is_marked(f))
|
||||
if (m_frozen.is_marked(f) || !is_uninterp(f))
|
||||
return;
|
||||
m_frozen_trail.push_back(f);
|
||||
m_frozen.mark(f, true);
|
||||
|
@ -107,3 +107,13 @@ void dependent_expr_state::freeze_suffix() {
|
|||
freeze_terms(d.fml(), true, visited);
|
||||
}
|
||||
}
|
||||
|
||||
bool dependent_expr_state::has_quantifiers() {
|
||||
if (m_has_quantifiers != l_undef)
|
||||
return m_has_quantifiers == l_true;
|
||||
bool found = false;
|
||||
for (unsigned i = qhead(); i < qtail(); ++i)
|
||||
found |= ::has_quantifiers((*this)[i].fml());
|
||||
m_has_quantifiers = found ? l_true : l_false;
|
||||
return m_has_quantifiers == l_true;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue