diff --git a/src/ast/rewriter/seq_rewriter.cpp b/src/ast/rewriter/seq_rewriter.cpp index de0f5be07..ba618ab71 100644 --- a/src/ast/rewriter/seq_rewriter.cpp +++ b/src/ast/rewriter/seq_rewriter.cpp @@ -1270,6 +1270,7 @@ br_status seq_rewriter::mk_seq_index(expr* a, expr* b, expr* c, expr_ref& result expr_ref a1(m()); a1 = m_util.str.mk_concat(as.size() - i, as.c_ptr() + i, sort_a); result = m_util.str.mk_index(a1, b, m_autil.mk_int(r)); + result = m().mk_ite(m_autil.mk_ge(result, zero()), m_autil.mk_add(m_autil.mk_int(i), result), minus_one()); return BR_REWRITE2; } }