3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-01 22:57:51 +00:00

(partial) fix #3788

Fixes a bug in computation of implicants inside spacer.
The instance now returns `unknown`. The root cause is the difference in what
proofs are in spacer and SMT. Spacer returns a proof of query, but horn_tactic
expects a proof of FALSE.
This commit is contained in:
Arie Gurfinkel 2020-04-10 12:26:31 -04:00
parent 44302f3f2a
commit b1b77e57e1
2 changed files with 10 additions and 3 deletions

View file

@ -127,8 +127,14 @@ void ground_sat_answer_op::mk_children(frame &fr, vector<frame> &todo) {
m_solver->assert_expr(fr.pt().transition());
m_solver->assert_expr(fr.pt().rule2tag(&r));
TRACE("spacer_sat",
tout << "Solver in mk_children\n";
m_solver->display(tout) << "\n";);
lbool res = m_solver->check_sat(0, nullptr);
(void)res;
CTRACE("spacer_sat", res != l_true,
tout << "Result: " << res << "\n";);
VERIFY(res == l_true);
model_ref mdl;