File tree Expand file tree Collapse file tree 3 files changed +7
-2
lines changed Expand file tree Collapse file tree 3 files changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -1858,8 +1858,10 @@ namespace smt {
18581858 lbool phase = l_undef;
18591859 m_case_split_queue->next_case_split (var, phase);
18601860 used_queue = true ;
1861- if (var == null_bool_var)
1861+ if (var == null_bool_var) {
1862+ push_trail (value_trail (m_has_case_split, false ));
18621863 return false ;
1864+ }
18631865
18641866 TRACE_CODE ({
18651867 static unsigned counter = 0 ;
@@ -4642,6 +4644,9 @@ namespace smt {
46424644 }
46434645
46444646 bool context::has_case_splits () {
4647+ if (!m_has_case_split)
4648+ return false ;
4649+
46454650 for (unsigned i = get_num_b_internalized (); i-- > 0 ; ) {
46464651 if (is_relevant (i) && get_assignment (i) == l_undef)
46474652 return true ;
Original file line number Diff line number Diff line change @@ -1155,6 +1155,7 @@ namespace smt {
11551155 bool guess (bool_var var, lbool phase);
11561156
11571157 protected:
1158+ bool m_has_case_split = true ;
11581159 bool decide ();
11591160
11601161 void update_phase_cache_counter ();
Original file line number Diff line number Diff line change @@ -99,7 +99,6 @@ namespace smt {
9999 if (m.is_bool (s)) {
100100 CTRACE (" model" , m_context->get_assignment (r) == l_undef,
101101 tout << mk_pp (r->get_expr (), m) << " \n " ;);
102- SASSERT (m_context->get_assignment (r) != l_undef);
103102 if (m_context->get_assignment (r) == l_true)
104103 proc = alloc (expr_wrapper_proc, m.mk_true ());
105104 else
You can’t perform that action at this time.
0 commit comments