Skip to content

Commit 2d5714a

Browse files
Signed-off-by: Nikolaj Bjorner <[email protected]>
1 parent 584eee2 commit 2d5714a

File tree

2 files changed

+4
-7
lines changed

2 files changed

+4
-7
lines changed

src/ast/seq_decl_plugin.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ enum seq_op_kind {
4040
OP_SEQ_EXTRACT,
4141
OP_SEQ_REPLACE,
4242
OP_SEQ_AT,
43-
OP_SEQ_NTH,
44-
OP_SEQ_NTH_I,
45-
OP_SEQ_NTH_U,
43+
OP_SEQ_NTH, // NTH function exposed over API. Rewritten to NTH(s,i) := if (0 <= i < len(s)) then NTH_I(s,i) else NTH_U(s,i)
44+
OP_SEQ_NTH_I, // Interpreted variant of Nth for indices within defined domain.
45+
OP_SEQ_NTH_U, // Uninterpreted variant of Nth for indices outside of uniquely defined domain.
4646
OP_SEQ_LENGTH,
4747
OP_SEQ_INDEX,
4848
OP_SEQ_LAST_INDEX,

src/smt/theory_seq.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5529,9 +5529,6 @@ void theory_seq::assign_eh(bool_var v, bool is_true) {
55295529
else if (m_util.str.is_in_re(e)) {
55305530
propagate_in_re(e, is_true);
55315531
}
5532-
else if (is_skolem(symbol("seq.split"), e)) {
5533-
// propagate equalities
5534-
}
55355532
else if (is_skolem(symbol("seq.is_digit"), e)) {
55365533
// no-op
55375534
}
@@ -5541,7 +5538,7 @@ void theory_seq::assign_eh(bool_var v, bool is_true) {
55415538
else if (m_util.str.is_lt(e) || m_util.str.is_le(e)) {
55425539
m_lts.push_back(e);
55435540
}
5544-
else if (m_util.str.is_nth_i(e)) {
5541+
else if (m_util.str.is_nth_i(e) || m_util.str.is_nth_u(e)) {
55455542
// no-op
55465543
}
55475544
else {

0 commit comments

Comments
 (0)