3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-07 15:55:46 +00:00
bi-implication was treated as an atomic formula leading to incorrect projection.
This commit is contained in:
Nikolaj Bjorner 2022-10-17 11:00:21 -07:00
parent 541aba308c
commit d4885abdc0
3 changed files with 24 additions and 23 deletions

View file

@ -405,8 +405,18 @@ public:
if (!m.is_bool(*m_a) || !m.is_bool(*m_b))
throw default_exception("interpolation requires two Boolean arguments");
expr_ref itp(m);
mbi.pogo(ctx.get_solver_factory(), *m_a, *m_b, itp);
ctx.regular_stream() << itp << "\n";
lbool r = mbi.pogo(ctx.get_solver_factory(), *m_a, *m_b, itp);
switch (r) {
case l_true:
ctx.regular_stream() << "sat\n";
break;
case l_undef:
ctx.regular_stream() << "unknown\n";
break;
case l_false:
ctx.regular_stream() << itp << "\n";
break;
}
}
};