mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 18:31:49 +00:00
expose strategic solver factory prototype at level of solver module
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
1ae0a98132
commit
fc41a61b6e
|
@ -53,7 +53,11 @@ proof_ref ground_sat_answer_op::operator()(pred_transformer &query) {
|
|||
// -- turn on proof mode so that proof constructing API in ast_manager work correctly
|
||||
scoped_proof _pf(m);
|
||||
|
||||
m_solver = mk_smt_solver(m, params_ref::get_empty(), symbol::null);
|
||||
scoped_ptr<solver_factory> factory(mk_smt_strategic_solver_factory(symbol::null));
|
||||
m_solver = (*factory)(m, params_ref::get_empty(),
|
||||
m.proofs_enabled() /*proofs*/, true /*models*/, false /*unsat_core*/, symbol::null /*logic*/);
|
||||
|
||||
// m_solver = mk_smt_solver(m, params_ref::get_empty(), symbol::null);
|
||||
vector<frame> todo, new_todo;
|
||||
|
||||
// -- find substitution for a query if query is not nullary
|
||||
|
@ -100,6 +104,7 @@ proof_ref ground_sat_answer_op::operator()(pred_transformer &query) {
|
|||
todo.pop_back();
|
||||
}
|
||||
}
|
||||
m_solver.reset();
|
||||
return proof_ref(m_cache.find(root_fact), m);
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ public:
|
|||
virtual solver * operator()(ast_manager & m, params_ref const & p, bool proofs_enabled, bool models_enabled, bool unsat_core_enabled, symbol const & logic) = 0;
|
||||
};
|
||||
|
||||
solver_factory * mk_smt_strategic_solver_factory(symbol const & logic = symbol::null);
|
||||
|
||||
/**
|
||||
\brief Abstract interface for making solvers available in the Z3
|
||||
API and front-ends such as SMT 2.0 and (legacy) SMT 1.0.
|
||||
|
|
|
@ -22,6 +22,6 @@ Notes:
|
|||
|
||||
class solver_factory;
|
||||
|
||||
solver_factory * mk_smt_strategic_solver_factory(symbol const & logic = symbol::null);
|
||||
// solver_factory * mk_smt_strategic_solver_factory(symbol const & logic = symbol::null);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue