summaryrefslogtreecommitdiff
path: root/src/theory/strings/theory_strings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/strings/theory_strings.cpp')
-rw-r--r--src/theory/strings/theory_strings.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/theory/strings/theory_strings.cpp b/src/theory/strings/theory_strings.cpp
index 0df551847..384d4567b 100644
--- a/src/theory/strings/theory_strings.cpp
+++ b/src/theory/strings/theory_strings.cpp
@@ -589,7 +589,9 @@ void TheoryStrings::check(Effort e) {
//must record string in regular expressions
if ( atom.getKind() == kind::STRING_IN_REGEXP ) {
addMembership(assertion);
- d_equalityEngine.assertPredicate(atom, polarity, fact);
+ //if(polarity || !options::stringIgnNegMembership()) {
+ d_equalityEngine.assertPredicate(atom, polarity, fact);
+ //}
} else if (atom.getKind() == kind::STRING_STRCTN) {
if(polarity) {
d_str_pos_ctn.push_back( atom );
@@ -3460,7 +3462,7 @@ void TheoryStrings::addMembership(Node assertion) {
}
}
lst->push_back( r );
- } else {
+ } else if(!options::stringIgnNegMembership()) {
/*if(options::stringEIT() && d_regexp_opr.checkConstRegExp(r)) {
int rt;
Node r2 = d_regexp_opr.complement(r, rt);
@@ -3483,7 +3485,10 @@ void TheoryStrings::addMembership(Node assertion) {
}
lst->push_back( r );
}
- d_regexp_memberships.push_back( assertion );
+ // old
+ if(polarity || !options::stringIgnNegMembership()) {
+ d_regexp_memberships.push_back( assertion );
+ }
}
Node TheoryStrings::getNormalString(Node x, std::vector<Node> &nf_exp) {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback