summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/theory/strings/theory_strings.cpp39
1 files changed, 19 insertions, 20 deletions
diff --git a/src/theory/strings/theory_strings.cpp b/src/theory/strings/theory_strings.cpp
index 3db8f39bb..d643fac70 100644
--- a/src/theory/strings/theory_strings.cpp
+++ b/src/theory/strings/theory_strings.cpp
@@ -2847,28 +2847,27 @@ void TheoryStrings::processNEqc( std::vector< std::vector< Node > > &normal_form
EQUAL,
TheoryStringsRewriter::mkConcat(STRING_CONCAT, normal_forms[i]),
TheoryStringsRewriter::mkConcat(STRING_CONCAT, normal_forms[j]));
- Node eqr = TheoryStringsRewriter::rewriteEqualityExt(eq);
- if (eq != eqr)
+ eq = Rewriter::rewrite(eq);
+ if (eq.getKind() == EQUAL)
{
- eqr = Rewriter::rewrite(eqr);
- std::vector<Node> antec;
- getExplanationVectorForPrefixEq(normal_forms,
- normal_form_src,
- normal_forms_exp,
- normal_forms_exp_depend,
- i,
- j,
- -1,
- -1,
- false,
- antec);
- //antec.push_back(eq);
-
- if (getExtTheory()->isActive(eq)) {
- getExtTheory()->markReduced(eq);
+ Node eqr = TheoryStringsRewriter::rewriteEqualityExt(eq);
+ if (eq != eqr)
+ {
+ eqr = Rewriter::rewrite(eqr);
+ std::vector<Node> antec;
+ getExplanationVectorForPrefixEq(normal_forms,
+ normal_form_src,
+ normal_forms_exp,
+ normal_forms_exp_depend,
+ i,
+ j,
+ -1,
+ -1,
+ false,
+ antec);
+
+ sendInternalInference(antec, eqr, "__equality_rew");
}
- sendInference(antec, eqr, "__equality_rew");
- return;
}
//process the reverse direction first (check for easy conflicts and inferences)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback