3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 20:05:51 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-10-30 13:14:48 -07:00
parent d64bc795f0
commit a764d528a1
5 changed files with 17 additions and 4 deletions

View file

@ -127,6 +127,7 @@ namespace q {
proj = solver_project(*mdl1, *qb);
if (!proj)
break;
TRACE("q", tout << "project: " << proj << "\n";);
m_qs.add_clause(~qlit, ~ctx.mk_literal(proj));
m_solver->assert_expr(m.mk_not(proj));
}
@ -136,6 +137,7 @@ namespace q {
proj = solver_project(*mdl0, *qb);
if (!proj)
return l_undef;
TRACE("q", tout << "project-base: " << proj << "\n";);
m_qs.add_clause(~qlit, ~ctx.mk_literal(proj));
}
// TODO: add as top-level clause for relevancy
@ -251,7 +253,6 @@ namespace q {
if (!m_model->eval_expr(bounds, mbounds, true))
return;
mbounds = subst(mbounds, qb.vars);
std::cout << "restrict with bounds " << mbounds << " " << vbounds << "\n";
m_solver->assert_expr(mbounds);
qb.domain_eqs.push_back(vbounds);
}