mirror of
https://github.com/Z3Prover/z3
synced 2025-05-07 15:55:46 +00:00
fix #6400
bi-implication was treated as an atomic formula leading to incorrect projection.
This commit is contained in:
parent
541aba308c
commit
d4885abdc0
3 changed files with 24 additions and 23 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue