3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-13 12:28:44 +00:00

avoid qsat when formulas are quantifier-free. Go directly to SMT

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2016-06-03 10:13:16 -07:00
parent c20b391cf7
commit 219b47822b
3 changed files with 8 additions and 2 deletions

View file

@ -889,6 +889,7 @@ namespace pdr {
void model_node::dequeue(model_node*& root) {
TRACE("pdr", tout << this << " " << state() << "\n";);
root = 0;
if (!m_next && !m_prev) return;
SASSERT(m_next);
SASSERT(m_prev);

View file

@ -87,6 +87,9 @@ namespace pdr {
void set_subset_based_core(bool f) { m_subset_based_core = f; }
void set_consequences(expr_ref_vector* consequences) { m_consequences = consequences; }
void set_background_assumptions(expr_ref_vector const& assumptions);
bool assumes_level() const { return m_assumes_level; }
void add_level();

View file

@ -114,8 +114,10 @@ tactic * mk_lra_tactic(ast_manager & m, params_ref const & p) {
#else
tactic * st = and_then(mk_quant_preprocessor(m),
mk_qe_lite_tactic(m, p),
or_else(mk_qsat_tactic(m, p),
and_then(mk_qe_tactic(m), mk_smt_tactic())));
cond(mk_has_quantifier_probe(),
or_else(mk_qsat_tactic(m, p),
and_then(mk_qe_tactic(m), mk_smt_tactic())),
mk_smt_tactic()));
#endif
st->updt_params(p);
return st;