summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2020-01-22 22:53:55 -0800
committerAndres Noetzli <andres.noetzli@gmail.com>2020-01-22 22:53:55 -0800
commit52b67c2ce7bfeeedb3ca2d1934e19140c9fe5f97 (patch)
treee4b51eb87d81eb8068e1505f7b7d720c5d019024
parent29badd153b7ece62ff18d5545ed8054389e79a77 (diff)
SK_ID_DC_SPT_REM > 0
-rw-r--r--src/theory/strings/theory_strings.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/theory/strings/theory_strings.cpp b/src/theory/strings/theory_strings.cpp
index becf66ada..5015207f1 100644
--- a/src/theory/strings/theory_strings.cpp
+++ b/src/theory/strings/theory_strings.cpp
@@ -3770,6 +3770,7 @@ void TheoryStrings::processDeq( Node ni, Node nj ) {
d_sk_cache.mkSkolemCached(nconst_k,
SkolemCache::SK_ID_DC_SPT_REM,
"dc_spt_rem");
+ d_im.registerLength(skr, LENGTH_GEQ_ONE);
Node eq1 = nconst_k.eqNode( NodeManager::currentNM()->mkNode( kind::STRING_CONCAT, sk, skr ) );
eq1 = Rewriter::rewrite( eq1 );
Node eq2 = nconst_k.eqNode( NodeManager::currentNM()->mkNode( kind::STRING_CONCAT, firstChar, skr ) );
@@ -3779,14 +3780,10 @@ void TheoryStrings::processDeq( Node ni, Node nj ) {
antec.insert(
antec.end(), nfnj.d_exp.begin(), nfnj.d_exp.end());
antec.push_back( nconst_k.eqNode( d_emptyString ).negate() );
- d_im.sendInference(
- antec,
- nm->mkNode(
- OR,
- nm->mkNode(AND, eq1, sk.eqNode(firstChar).negate()),
- eq2),
- "D-DISL-CSplit");
- d_im.sendPhaseRequirement(eq1, true);
+ d_im.sendInference(antec,
+ nm->mkNode(OR, nconst_k.eqNode(sk), eq1),
+ "D-DISL-CSplit");
+ d_im.sendSplit(firstChar, sk, "S-Split(DEQL-Const)", false);
return;
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback