Skip to content

Commit 4fc64ab

Browse files
mtrberziNikolajBjorner
authored andcommitted
z3str3: check for and re-internalize str.in.re terms
1 parent 58bc2bf commit 4fc64ab

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/smt/theory_str.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9926,6 +9926,12 @@ namespace smt {
99269926
expr * str = nullptr;
99279927
expr * re = nullptr;
99289928
u.str.is_in_re(str_in_re, str, re);
9929+
if (!ctx.b_internalized(str_in_re)) {
9930+
TRACE("str", tout << "regex term " << mk_pp(str_in_re, m) << " not internalized; fixing and continuing" << std::endl;);
9931+
ctx.internalize(str_in_re, false);
9932+
finalCheckProgressIndicator = true;
9933+
continue;
9934+
}
99299935
lbool current_assignment = ctx.get_assignment(str_in_re);
99309936
TRACE("str", tout << "regex term: " << mk_pp(str, m) << " in " << mk_pp(re, m) << " : " << current_assignment << std::endl;);
99319937
if (current_assignment == l_undef) {

0 commit comments

Comments
 (0)