mirror of
https://github.com/Z3Prover/z3
synced 2025-04-06 17:44:08 +00:00
This commit is contained in:
parent
84da614de3
commit
349ebd0a5b
|
@ -1858,8 +1858,10 @@ namespace smt {
|
||||||
lbool phase = l_undef;
|
lbool phase = l_undef;
|
||||||
m_case_split_queue->next_case_split(var, phase);
|
m_case_split_queue->next_case_split(var, phase);
|
||||||
used_queue = true;
|
used_queue = true;
|
||||||
if (var == null_bool_var)
|
if (var == null_bool_var) {
|
||||||
|
push_trail(value_trail(m_has_case_split, false));
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
TRACE_CODE({
|
TRACE_CODE({
|
||||||
static unsigned counter = 0;
|
static unsigned counter = 0;
|
||||||
|
@ -4642,6 +4644,9 @@ namespace smt {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool context::has_case_splits() {
|
bool context::has_case_splits() {
|
||||||
|
if (!m_has_case_split)
|
||||||
|
return false;
|
||||||
|
|
||||||
for (unsigned i = get_num_b_internalized(); i-- > 0; ) {
|
for (unsigned i = get_num_b_internalized(); i-- > 0; ) {
|
||||||
if (is_relevant(i) && get_assignment(i) == l_undef)
|
if (is_relevant(i) && get_assignment(i) == l_undef)
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -1155,6 +1155,7 @@ namespace smt {
|
||||||
bool guess(bool_var var, lbool phase);
|
bool guess(bool_var var, lbool phase);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
bool m_has_case_split = true;
|
||||||
bool decide();
|
bool decide();
|
||||||
|
|
||||||
void update_phase_cache_counter();
|
void update_phase_cache_counter();
|
||||||
|
|
|
@ -99,7 +99,6 @@ namespace smt {
|
||||||
if (m.is_bool(s)) {
|
if (m.is_bool(s)) {
|
||||||
CTRACE("model", m_context->get_assignment(r) == l_undef,
|
CTRACE("model", m_context->get_assignment(r) == l_undef,
|
||||||
tout << mk_pp(r->get_expr(), m) << "\n";);
|
tout << mk_pp(r->get_expr(), m) << "\n";);
|
||||||
SASSERT(m_context->get_assignment(r) != l_undef);
|
|
||||||
if (m_context->get_assignment(r) == l_true)
|
if (m_context->get_assignment(r) == l_true)
|
||||||
proc = alloc(expr_wrapper_proc, m.mk_true());
|
proc = alloc(expr_wrapper_proc, m.mk_true());
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue