summaryrefslogtreecommitdiff
path: root/src/theory/bv/theory_bv.cpp
diff options
context:
space:
mode:
authorClark Barrett <barrett@cs.nyu.edu>2012-06-12 18:32:42 +0000
committerClark Barrett <barrett@cs.nyu.edu>2012-06-12 18:32:42 +0000
commit706e3058a2a685a6849b2290f80167b74aded0be (patch)
tree407c4b40a8f74adfee045f1a6cf6c578fbd960cd /src/theory/bv/theory_bv.cpp
parent0659b7c7b50e49cbea1728f90f7ff04598f01eac (diff)
Changed bitvector theory rewriter so that equalities always get rewritten to
equalities or true or false
Diffstat (limited to 'src/theory/bv/theory_bv.cpp')
-rw-r--r--src/theory/bv/theory_bv.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/theory/bv/theory_bv.cpp b/src/theory/bv/theory_bv.cpp
index 208ffba6c..811600ad4 100644
--- a/src/theory/bv/theory_bv.cpp
+++ b/src/theory/bv/theory_bv.cpp
@@ -21,6 +21,7 @@
#include "theory/bv/theory_bv_utils.h"
#include "theory/valuation.h"
#include "theory/bv/bitblaster.h"
+#include "theory/bv/theory_bv_rewrite_rules_normalization.h"
using namespace CVC4;
using namespace CVC4::theory;
@@ -189,6 +190,16 @@ Theory::PPAssertStatus TheoryBV::ppAssert(TNode in, SubstitutionMap& outSubstitu
}
+Node TheoryBV::ppRewrite(TNode t)
+{
+ if (RewriteRule<BitwiseEq>::applies(t)) {
+ Node result = RewriteRule<BitwiseEq>::run<false>(t);
+ return Rewriter::rewrite(result);
+ }
+ return t;
+}
+
+
bool TheoryBV::storePropagation(TNode literal, SubTheory subtheory)
{
Debug("bitvector::propagate") << indent() << "TheoryBV::storePropagation(" << literal << ", " << subtheory << ")" << std::endl;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback