summaryrefslogtreecommitdiff
path: root/src/theory/theory_engine.cpp
diff options
context:
space:
mode:
authorClark Barrett <barrett@cs.nyu.edu>2012-06-15 19:05:56 +0000
committerClark Barrett <barrett@cs.nyu.edu>2012-06-15 19:05:56 +0000
commitc8f7cff1911b1fb3136f41e67d92a3d66280add7 (patch)
tree8ee9f3ab7853e265b3c6dada03984a02555770c5 /src/theory/theory_engine.cpp
parent43839eed3814cb4175869cd1fbbb4e9a5ece59dc (diff)
Fixes some assertion failures
Diffstat (limited to 'src/theory/theory_engine.cpp')
-rw-r--r--src/theory/theory_engine.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/theory/theory_engine.cpp b/src/theory/theory_engine.cpp
index d85d8915b..30b9cd098 100644
--- a/src/theory/theory_engine.cpp
+++ b/src/theory/theory_engine.cpp
@@ -719,6 +719,7 @@ Node TheoryEngine::preprocess(TNode assertion) {
// If this is an atom, we preprocess its terms with the theory ppRewriter
if (Theory::theoryOf(current) != THEORY_BOOL) {
d_ppCache[current] = ppTheoryRewrite(current);
+ Assert(Rewriter::rewrite(d_ppCache[current]) == d_ppCache[current]);
continue;
}
@@ -735,6 +736,9 @@ Node TheoryEngine::preprocess(TNode assertion) {
}
// Mark the substitution and continue
Node result = builder;
+ if (result != current) {
+ result = Rewriter::rewrite(result);
+ }
Debug("theory::internal") << "TheoryEngine::preprocess(" << assertion << "): setting " << current << " -> " << result << endl;
d_ppCache[current] = result;
toVisit.pop_back();
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback