3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 00:55:31 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-10-22 11:31:41 -07:00
parent 9bd7df7e19
commit c9900720f8
7 changed files with 39 additions and 15 deletions

View file

@ -341,6 +341,7 @@ namespace mbp {
m_non_ground.mark(v);
for (unsigned i = 0; m.inc() && i < lits.size(); ++i)
lits[i] = purify(inv, eval, lits.get(i), lits);
std::cout << m_pure_eqs << "\n";
lits.append(m_pure_eqs);
TRACE("mbp", tout << lits << "\n";);
}
@ -371,7 +372,7 @@ namespace mbp {
m_pure_eqs.push_back(m.mk_eq(t, s));
unsigned i = 0;
for (expr* arg : *t)
push_back(lits, inv.invert_arg(t, i++, eval(arg)));
inv.invert_arg(t, i++, eval(arg), lits);
m_to_visit.pop_back();
}
else

View file

@ -43,7 +43,7 @@ namespace mbp {
class euf_inverter {
public:
virtual expr* invert_app(app* t, expr* value) = 0;
virtual expr* invert_arg(app* t, unsigned i, expr* value) = 0;
virtual void invert_arg(app* t, unsigned i, expr* value, expr_ref_vector& lits) = 0;
};
class project_plugin {