mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 13:28:47 +00:00
parent
0bca2aabff
commit
26c1c744aa
|
@ -473,6 +473,7 @@ namespace nlsat {
|
||||||
}
|
}
|
||||||
|
|
||||||
void del(bool_var b) {
|
void del(bool_var b) {
|
||||||
|
TRACE("nlsat", tout << "del " << b << "\n";);
|
||||||
SASSERT(m_bwatches[b].empty());
|
SASSERT(m_bwatches[b].empty());
|
||||||
//SASSERT(m_bvalues[b] == l_undef);
|
//SASSERT(m_bvalues[b] == l_undef);
|
||||||
m_num_bool_vars--;
|
m_num_bool_vars--;
|
||||||
|
|
|
@ -93,9 +93,9 @@ namespace qe {
|
||||||
check_cancel();
|
check_cancel();
|
||||||
init_assumptions();
|
init_assumptions();
|
||||||
lbool res = m_solver.check(m_asms);
|
lbool res = m_solver.check(m_asms);
|
||||||
|
TRACE("qe", display(tout); );
|
||||||
switch (res) {
|
switch (res) {
|
||||||
case l_true:
|
case l_true:
|
||||||
TRACE("qe", display(tout); );
|
|
||||||
save_model();
|
save_model();
|
||||||
push();
|
push();
|
||||||
break;
|
break;
|
||||||
|
@ -306,6 +306,7 @@ namespace qe {
|
||||||
}
|
}
|
||||||
nlsat::literal l(v, false);
|
nlsat::literal l(v, false);
|
||||||
m_preds[k].push_back(l);
|
m_preds[k].push_back(l);
|
||||||
|
m_solver.inc_ref(v);
|
||||||
m_bvar2level.insert(v, level);
|
m_bvar2level.insert(v, level);
|
||||||
TRACE("qe", m_solver.display(tout, l); tout << ": " << level << "\n";);
|
TRACE("qe", m_solver.display(tout, l); tout << ": " << level << "\n";);
|
||||||
}
|
}
|
||||||
|
@ -412,6 +413,7 @@ namespace qe {
|
||||||
nlsat::bool_var b = m_solver.mk_bool_var();
|
nlsat::bool_var b = m_solver.mk_bool_var();
|
||||||
clause.push_back(nlsat::literal(b, true));
|
clause.push_back(nlsat::literal(b, true));
|
||||||
m_assumptions.push_back(nlsat::literal(b, false));
|
m_assumptions.push_back(nlsat::literal(b, false));
|
||||||
|
m_solver.inc_ref(b);
|
||||||
m_asm2fml.insert(b, fml);
|
m_asm2fml.insert(b, fml);
|
||||||
m_trail.push_back(fml);
|
m_trail.push_back(fml);
|
||||||
m_bvar2level.insert(b, max_level());
|
m_bvar2level.insert(b, max_level());
|
||||||
|
@ -562,6 +564,9 @@ namespace qe {
|
||||||
m_bound_rvars.reset();
|
m_bound_rvars.reset();
|
||||||
m_bound_bvars.reset();
|
m_bound_bvars.reset();
|
||||||
m_preds.reset();
|
m_preds.reset();
|
||||||
|
for (auto const& kv : m_bvar2level) {
|
||||||
|
m_solver.dec_ref(kv.m_key);
|
||||||
|
}
|
||||||
m_rvar2level.reset();
|
m_rvar2level.reset();
|
||||||
m_bvar2level.reset();
|
m_bvar2level.reset();
|
||||||
m_t2x.reset();
|
m_t2x.reset();
|
||||||
|
|
Loading…
Reference in a new issue