Skip to content

Commit fc41a61

Browse files
expose strategic solver factory prototype at level of solver module
Signed-off-by: Nikolaj Bjorner <[email protected]>
1 parent 1ae0a98 commit fc41a61

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

src/muz/spacer/spacer_sat_answer.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,11 @@ proof_ref ground_sat_answer_op::operator()(pred_transformer &query) {
5353
// -- turn on proof mode so that proof constructing API in ast_manager work correctly
5454
scoped_proof _pf(m);
5555

56-
m_solver = mk_smt_solver(m, params_ref::get_empty(), symbol::null);
56+
scoped_ptr<solver_factory> factory(mk_smt_strategic_solver_factory(symbol::null));
57+
m_solver = (*factory)(m, params_ref::get_empty(),
58+
m.proofs_enabled() /*proofs*/, true /*models*/, false /*unsat_core*/, symbol::null /*logic*/);
59+
60+
// m_solver = mk_smt_solver(m, params_ref::get_empty(), symbol::null);
5761
vector<frame> todo, new_todo;
5862

5963
// -- find substitution for a query if query is not nullary
@@ -100,6 +104,7 @@ proof_ref ground_sat_answer_op::operator()(pred_transformer &query) {
100104
todo.pop_back();
101105
}
102106
}
107+
m_solver.reset();
103108
return proof_ref(m_cache.find(root_fact), m);
104109
}
105110

src/solver/solver.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ class solver_factory {
3232
virtual solver * operator()(ast_manager & m, params_ref const & p, bool proofs_enabled, bool models_enabled, bool unsat_core_enabled, symbol const & logic) = 0;
3333
};
3434

35+
solver_factory * mk_smt_strategic_solver_factory(symbol const & logic = symbol::null);
36+
3537
/**
3638
\brief Abstract interface for making solvers available in the Z3
3739
API and front-ends such as SMT 2.0 and (legacy) SMT 1.0.

src/tactic/portfolio/smt_strategic_solver.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ Module Name:
2222

2323
class solver_factory;
2424

25-
solver_factory * mk_smt_strategic_solver_factory(symbol const & logic = symbol::null);
25+
// solver_factory * mk_smt_strategic_solver_factory(symbol const & logic = symbol::null);
2626

2727
#endif

0 commit comments

Comments
 (0)