summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/theory/strings/theory_strings.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/theory/strings/theory_strings.cpp b/src/theory/strings/theory_strings.cpp
index 1bc104096..9949bcea4 100644
--- a/src/theory/strings/theory_strings.cpp
+++ b/src/theory/strings/theory_strings.cpp
@@ -3758,7 +3758,8 @@ void TheoryStrings::processDeq( Node ni, Node nj ) {
{
Node sk = d_sk_cache.mkSkolemCached(
nconst_k, SkolemCache::SK_ID_DC_SPT, "dc_spt");
- d_im.registerLength(sk, LENGTH_ONE);
+ d_im.registerLength(sk, LENGTH_SPLIT);
+ Node lenreq = nm->mkNode(STRING_LENGTH, sk).eqNode(d_one);
Node skr =
d_sk_cache.mkSkolemCached(nconst_k,
SkolemCache::SK_ID_DC_SPT_REM,
@@ -3776,7 +3777,7 @@ void TheoryStrings::processDeq( Node ni, Node nj ) {
antec,
nm->mkNode(
OR,
- nm->mkNode(AND, eq1, sk.eqNode(firstChar).negate()),
+ nm->mkNode(AND, lenreq, eq1, sk.eqNode(firstChar).negate()),
eq2),
"D-DISL-CSplit");
d_im.sendPhaseRequirement(eq1, true);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback