mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 10:25:18 +00:00
fix crashes in nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
b28e788371
commit
ab39f06df7
|
@ -734,8 +734,10 @@ namespace nlsat {
|
|||
void undo_set_updt(interval_set * old_set) {
|
||||
SASSERT(m_xk != null_var);
|
||||
var x = m_xk;
|
||||
m_ism.dec_ref(m_infeasible[x]);
|
||||
m_infeasible[x] = old_set;
|
||||
if (x < m_infeasible.size() && m_infeasible[x]) {
|
||||
m_ism.dec_ref(m_infeasible[x]);
|
||||
m_infeasible[x] = old_set;
|
||||
}
|
||||
}
|
||||
|
||||
void undo_new_stage() {
|
||||
|
@ -757,7 +759,8 @@ namespace nlsat {
|
|||
|
||||
void undo_updt_eq(atom * a) {
|
||||
SASSERT(m_xk != null_var);
|
||||
m_var2eq[m_xk] = a;
|
||||
if (m_var2eq.size() > m_xk)
|
||||
m_var2eq[m_xk] = a;
|
||||
}
|
||||
|
||||
template<typename Predicate>
|
||||
|
|
|
@ -107,8 +107,8 @@ tactic * mk_qfnia_tactic(ast_manager & m, params_ref const & p) {
|
|||
simp_p.set_bool("som", true); // expand into sums of monomials
|
||||
|
||||
return and_then(mk_qfnia_premable(m, p),
|
||||
or_else(mk_qfnia_sat_solver(m, p),
|
||||
mk_qfnia_nlsat_solver(m, p),
|
||||
or_else(mk_qfnia_nlsat_solver(m, p),
|
||||
mk_qfnia_sat_solver(m, p),
|
||||
and_then(using_params(mk_simplify_tactic(m), simp_p),
|
||||
mk_smt_tactic())));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue