summaryrefslogtreecommitdiff
path: root/src/theory/rewriter.cpp
diff options
context:
space:
mode:
authorClark Barrett <barrett@cs.nyu.edu>2012-06-11 17:31:13 +0000
committerClark Barrett <barrett@cs.nyu.edu>2012-06-11 17:31:13 +0000
commita982d0ab03118e31c40052c9beae6ffaec5318aa (patch)
treea78b60a95353ae1d536ec191bb3bb6533f405564 /src/theory/rewriter.cpp
parent74a3cbc108cda7f33c6d4db03fcec8a6a84fc6f5 (diff)
OK, now the rewrite issues are fixed
Diffstat (limited to 'src/theory/rewriter.cpp')
-rw-r--r--src/theory/rewriter.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/theory/rewriter.cpp b/src/theory/rewriter.cpp
index 7d5f541c0..0c5cada09 100644
--- a/src/theory/rewriter.cpp
+++ b/src/theory/rewriter.cpp
@@ -163,6 +163,7 @@ Node Rewriter::rewriteTo(theory::TheoryId theoryId, Node node) {
TheoryId newTheoryId = Theory::theoryOf(response.node);
if (newTheoryId != (TheoryId) rewriteStackTop.theoryId || response.status == REWRITE_AGAIN_FULL) {
// In the post rewrite if we've changed theories, we must do a full rewrite
+ Assert(response.node != rewriteStackTop.node);
rewriteStackTop.node = rewriteTo(newTheoryId, response.node);
break;
} else if (response.status == REWRITE_DONE) {
@@ -173,7 +174,8 @@ Node Rewriter::rewriteTo(theory::TheoryId theoryId, Node node) {
rewriteStackTop.node = response.node;
break;
}
- // Check for trivial rewrite loop of size 2
+ // Check for trivial rewrite loops of size 1 or 2
+ Assert(response.node != rewriteStackTop.node);
Assert(Rewriter::callPostRewrite((TheoryId) rewriteStackTop.theoryId, response.node).node != rewriteStackTop.node);
rewriteStackTop.node = response.node;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback