3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-11 05:30:51 +00:00

allow incremental mode override

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-11-06 15:00:52 -08:00
parent 5813e22032
commit 303157d3b7
9 changed files with 34 additions and 19 deletions

View file

@ -70,7 +70,7 @@ class inc_sat_solver : public solver {
bool m_internalized; // are formulas internalized?
bool m_internalized_converted; // have internalized formulas been converted back
expr_ref_vector m_internalized_fmls; // formulas in internalized format
bool m_incremental_mode;
typedef obj_map<expr, sat::literal> dep2asm_t;
public:
@ -87,10 +87,10 @@ public:
m_unknown("no reason given"),
m_internalized(false),
m_internalized_converted(false),
m_internalized_fmls(m),
m_incremental_mode(incremental_mode) {
m_internalized_fmls(m) {
updt_params(p);
init_preprocess();
m_solver.set_incremental(incremental_mode);
}
virtual ~inc_sat_solver() {}
@ -101,7 +101,7 @@ public:
}
ast_translation tr(m, dst_m);
m_solver.pop_to_base_level();
inc_sat_solver* result = alloc(inc_sat_solver, dst_m, p, m_incremental_mode);
inc_sat_solver* result = alloc(inc_sat_solver, dst_m, p, m_solver.get_config().m_incremental);
result->m_solver.copy(m_solver);
result->m_fmls_head = m_fmls_head;
for (expr* f : m_fmls) result->m_fmls.push_back(tr(f));
@ -280,10 +280,6 @@ public:
virtual void updt_params(params_ref const & p) {
m_params.append(p);
sat_params p1(p);
if (m_incremental_mode) {
m_params.set_bool("elim_vars", false);
m_params.set_uint("elim_blocked_clauses_at", UINT_MAX);
}
m_params.set_bool("keep_cardinality_constraints", p1.cardinality_solver());
m_params.set_bool("keep_pb_constraints", m_solver.get_config().m_pb_solver == sat::PB_SOLVER);
m_params.set_bool("pb_num_system", m_solver.get_config().m_pb_solver == sat::PB_SORTING);