summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/dynamic_rewrite.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-03-27 11:53:49 -0500
committerGitHub <noreply@github.com>2018-03-27 11:53:49 -0500
commit9dcaaeba4880a8f145df00289ff1b092a7e3dd47 (patch)
tree97c6ffc45fd906e8f1b84726653cdac52bdc2f26 /src/theory/quantifiers/dynamic_rewrite.cpp
parent6a656809c353776c9de9580b19a6de79ef5a76d4 (diff)
Filter candidate rewrites based on matching (#1682)
Diffstat (limited to 'src/theory/quantifiers/dynamic_rewrite.cpp')
-rw-r--r--src/theory/quantifiers/dynamic_rewrite.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/theory/quantifiers/dynamic_rewrite.cpp b/src/theory/quantifiers/dynamic_rewrite.cpp
index 3462a4d10..cb7379910 100644
--- a/src/theory/quantifiers/dynamic_rewrite.cpp
+++ b/src/theory/quantifiers/dynamic_rewrite.cpp
@@ -66,6 +66,20 @@ bool DynamicRewriter::addRewrite(Node a, Node b)
return true;
}
+bool DynamicRewriter::areEqual(Node a, Node b)
+{
+ if (a == b)
+ {
+ return true;
+ }
+ // add to the equality engine
+ Node ai = toInternal(a);
+ Node bi = toInternal(b);
+ d_equalityEngine.addTerm(ai);
+ d_equalityEngine.addTerm(bi);
+ return d_equalityEngine.areEqual(ai, bi);
+}
+
Node DynamicRewriter::toInternal(Node a)
{
std::map<Node, Node>::iterator it = d_term_to_internal.find(a);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback