mirror of
https://github.com/Z3Prover/z3
synced 2025-05-11 09:44:43 +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
|
@ -34,7 +34,7 @@ namespace euf {
|
|||
|
||||
void solve_eqs::get_eqs(dep_eq_vector& eqs) {
|
||||
for (extract_eq* ex : m_extract_plugins)
|
||||
for (unsigned i = qhead(); i < qtail(); ++i)
|
||||
for (unsigned i : indices())
|
||||
ex->get_eqs(m_fmls[i], eqs);
|
||||
}
|
||||
|
||||
|
@ -99,6 +99,9 @@ namespace euf {
|
|||
auto const& [orig, v, t, d] = eq;
|
||||
SASSERT(j == var2id(v));
|
||||
bool is_safe = true;
|
||||
if (m_fmls.frozen(v))
|
||||
continue;
|
||||
|
||||
unsigned todo_sz = todo.size();
|
||||
|
||||
// determine if substitution is safe.
|
||||
|
@ -187,7 +190,7 @@ namespace euf {
|
|||
scoped_ptr<expr_replacer> rp = mk_default_expr_replacer(m, false);
|
||||
rp->set_substitution(m_subst.get());
|
||||
|
||||
for (unsigned i = qhead(); i < qtail() && !m_fmls.inconsistent(); ++i) {
|
||||
for (unsigned i : indices()) {
|
||||
auto [f, d] = m_fmls[i]();
|
||||
auto [new_f, new_dep] = rp->replace_with_dep(f);
|
||||
m_rewriter(new_f);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue