summaryrefslogtreecommitdiff
path: root/src/theory/strings
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-06-21 21:24:40 -0500
committerGitHub <noreply@github.com>2021-06-22 02:24:40 +0000
commitc7116b06892b5ff21fb04a3996880bfe48e44053 (patch)
tree4ad855ab5d4514bb66eb38441ab0f388308cdb48 /src/theory/strings
parent4f8927b6e56d55d8b69d525e57f407ff69bc1acd (diff)
Set up fine grained equality notifications (#6734)
This adds fields to equality engine setup information which will be used to hook up theories to the central equality engine. This PR does not impact any behavior. This is in preparation for the central equality engine.
Diffstat (limited to 'src/theory/strings')
-rw-r--r--src/theory/strings/term_registry.cpp3
-rw-r--r--src/theory/strings/theory_strings.cpp3
2 files changed, 5 insertions, 1 deletions
diff --git a/src/theory/strings/term_registry.cpp b/src/theory/strings/term_registry.cpp
index aac9e9313..8c5805b37 100644
--- a/src/theory/strings/term_registry.cpp
+++ b/src/theory/strings/term_registry.cpp
@@ -249,7 +249,8 @@ void TermRegistry::preRegisterTerm(TNode n)
// Concatenation terms do not need to be considered here because
// their arguments have string type and do not introduce any shared
// terms.
- if (n.hasOperator() && ee->isFunctionKind(k) && k != STRING_CONCAT)
+ if (n.hasOperator() && ee->isFunctionKind(k)
+ && kindToTheoryId(k) == THEORY_STRINGS && k != STRING_CONCAT)
{
d_functionsTerms.push_back(n);
}
diff --git a/src/theory/strings/theory_strings.cpp b/src/theory/strings/theory_strings.cpp
index f4daed85d..f0763e153 100644
--- a/src/theory/strings/theory_strings.cpp
+++ b/src/theory/strings/theory_strings.cpp
@@ -103,6 +103,9 @@ bool TheoryStrings::needsEqualityEngine(EeSetupInfo& esi)
{
esi.d_notify = &d_notify;
esi.d_name = "theory::strings::ee";
+ esi.d_notifyNewClass = true;
+ esi.d_notifyMerge = true;
+ esi.d_notifyDisequal = true;
return true;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback