mirror of
https://github.com/Z3Prover/z3
synced 2025-06-14 01:46:15 +00:00
bail out on failure to properly project
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
32c63ce4cd
commit
20790c46ee
5 changed files with 19 additions and 25 deletions
|
@ -294,6 +294,7 @@ public:
|
||||||
|
|
||||||
void extract_literals(model& model, expr_ref_vector& fmls) {
|
void extract_literals(model& model, expr_ref_vector& fmls) {
|
||||||
expr_ref val(m);
|
expr_ref val(m);
|
||||||
|
TRACE("qe", tout << fmls << "\n";);
|
||||||
for (unsigned i = 0; i < fmls.size(); ++i) {
|
for (unsigned i = 0; i < fmls.size(); ++i) {
|
||||||
expr* fml = fmls[i].get(), *nfml, *f1, *f2, *f3;
|
expr* fml = fmls[i].get(), *nfml, *f1, *f2, *f3;
|
||||||
SASSERT(m.is_bool(fml));
|
SASSERT(m.is_bool(fml));
|
||||||
|
@ -404,6 +405,7 @@ public:
|
||||||
// TBD other Boolean operations.
|
// TBD other Boolean operations.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
TRACE("qe", tout << fmls << "\n";);
|
||||||
m_visited.reset();
|
m_visited.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -909,6 +909,7 @@ namespace qe {
|
||||||
num_scopes = 2;
|
num_scopes = 2;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
if (level.max() + 2 > m_level) return false;
|
||||||
SASSERT(level.max() + 2 <= m_level);
|
SASSERT(level.max() + 2 <= m_level);
|
||||||
num_scopes = m_level - level.max();
|
num_scopes = m_level - level.max();
|
||||||
SASSERT(num_scopes >= 2);
|
SASSERT(num_scopes >= 2);
|
||||||
|
|
|
@ -104,21 +104,12 @@ tactic * mk_aufnira_tactic(ast_manager & m, params_ref const & p) {
|
||||||
}
|
}
|
||||||
|
|
||||||
tactic * mk_lra_tactic(ast_manager & m, params_ref const & p) {
|
tactic * mk_lra_tactic(ast_manager & m, params_ref const & p) {
|
||||||
#if 0
|
|
||||||
tactic * st = and_then(mk_quant_preprocessor(m),
|
|
||||||
or_else(try_for(mk_smt_tactic(), 100),
|
|
||||||
try_for(qe::mk_sat_tactic(m), 1000),
|
|
||||||
try_for(mk_smt_tactic(), 1000),
|
|
||||||
and_then(mk_qe_tactic(m), mk_smt_tactic())
|
|
||||||
));
|
|
||||||
#else
|
|
||||||
tactic * st = and_then(mk_quant_preprocessor(m),
|
tactic * st = and_then(mk_quant_preprocessor(m),
|
||||||
mk_qe_lite_tactic(m, p),
|
mk_qe_lite_tactic(m, p),
|
||||||
cond(mk_has_quantifier_probe(),
|
cond(mk_has_quantifier_probe(),
|
||||||
or_else(mk_qsat_tactic(m, p),
|
or_else(mk_qsat_tactic(m, p),
|
||||||
and_then(mk_qe_tactic(m), mk_smt_tactic())),
|
and_then(mk_qe_tactic(m), mk_smt_tactic())),
|
||||||
mk_smt_tactic()));
|
mk_smt_tactic()));
|
||||||
#endif
|
|
||||||
st->updt_params(p);
|
st->updt_params(p);
|
||||||
return st;
|
return st;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue