mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 10:25:18 +00:00
'clean
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
d64bc795f0
commit
a764d528a1
|
@ -192,7 +192,7 @@ namespace sat {
|
|||
m_drat_check_unsat = p.drat_check_unsat();
|
||||
m_drat_check_sat = p.drat_check_sat();
|
||||
m_drat_file = p.drat_file();
|
||||
m_drat = (m_drat_check_unsat || m_drat_file != symbol("") || m_drat_check_sat) && p.threads() == 1;
|
||||
m_drat = (m_drat_check_unsat || m_drat_file.is_non_empty_string() || m_drat_check_sat) && p.threads() == 1;
|
||||
m_drat_binary = p.drat_binary();
|
||||
m_drat_activity = p.drat_activity();
|
||||
m_dyn_sub_res = p.dyn_sub_res();
|
||||
|
|
|
@ -392,6 +392,8 @@ namespace sat {
|
|||
}
|
||||
|
||||
void solver::drat_log_unit(literal lit, justification j) {
|
||||
if (!m_ext)
|
||||
return;
|
||||
extension::scoped_drating _sd(*m_ext.get());
|
||||
if (j.get_kind() == justification::EXT_JUSTIFICATION)
|
||||
fill_ext_antecedents(lit, j, false);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -18,9 +18,15 @@ Author:
|
|||
|
||||
namespace sat {
|
||||
|
||||
dual_solver::no_drat_params::no_drat_params() {
|
||||
set_sym("drat.file", symbol());
|
||||
}
|
||||
|
||||
dual_solver::dual_solver(reslimit& l):
|
||||
m_solver(params_ref(), l)
|
||||
{}
|
||||
m_solver(m_params, l)
|
||||
{
|
||||
SASSERT(!m_solver.get_config().m_drat);
|
||||
}
|
||||
|
||||
void dual_solver::push() {
|
||||
m_solver.user_push();
|
||||
|
|
|
@ -23,6 +23,10 @@ Author:
|
|||
namespace sat {
|
||||
|
||||
class dual_solver {
|
||||
struct no_drat_params : public params_ref {
|
||||
no_drat_params();
|
||||
};
|
||||
no_drat_params m_params;
|
||||
solver m_solver;
|
||||
lim_svector<literal> m_units, m_roots;
|
||||
lim_svector<bool_var> m_tracked_vars;
|
||||
|
|
Loading…
Reference in a new issue