diff options
author | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2012-06-14 01:08:11 +0000 |
---|---|---|
committer | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2012-06-14 01:08:11 +0000 |
commit | dd713fdbc16b07adc8011dea09b53fb3bc168662 (patch) | |
tree | cc58788ed58fd86c5aaa58c0fafa2bbb0f8b6567 /src/theory/bv | |
parent | 1267706e0c508ada17d75c07c4606eb108ae5309 (diff) |
* removing rewriteEquality from the rewriter
* theories now get either an assertion from the SAT solver (normalized) or an (dis-)equality between two shared terms that is non-normalized
Diffstat (limited to 'src/theory/bv')
-rw-r--r-- | src/theory/bv/bitblaster.cpp | 8 | ||||
-rw-r--r-- | src/theory/bv/theory_bv_rewriter.h | 5 |
2 files changed, 3 insertions, 10 deletions
diff --git a/src/theory/bv/bitblaster.cpp b/src/theory/bv/bitblaster.cpp index 5bb906841..a9c6d2676 100644 --- a/src/theory/bv/bitblaster.cpp +++ b/src/theory/bv/bitblaster.cpp @@ -94,17 +94,15 @@ void Bitblaster::bbAtom(TNode node) { BVDebug("bitvector-bitblast") << "Bitblasting node " << node <<"\n"; ++d_statistics.d_numAtoms; // the bitblasted definition of the atom - Node atom_bb = d_atomBBStrategies[node.getKind()](node, this); + Node atom_bb = Rewriter::rewrite(d_atomBBStrategies[node.getKind()](node, this)); // asserting that the atom is true iff the definition holds Node atom_definition = mkNode(kind::IFF, node, atom_bb); - // do boolean simplifications if possible - Node rewritten = Rewriter::rewrite(atom_definition); if (!Options::current()->bitvectorEagerBitblast) { - d_cnfStream->convertAndAssert(rewritten, true, false); + d_cnfStream->convertAndAssert(atom_definition, true, false); d_bitblastedAtoms.insert(node); } else { - d_bvOutput->lemma(rewritten, false); + d_bvOutput->lemma(atom_definition, false); } } diff --git a/src/theory/bv/theory_bv_rewriter.h b/src/theory/bv/theory_bv_rewriter.h index bfd8a2897..6b885f1ed 100644 --- a/src/theory/bv/theory_bv_rewriter.h +++ b/src/theory/bv/theory_bv_rewriter.h @@ -84,11 +84,6 @@ public: static RewriteResponse preRewrite(TNode node); - static Node rewriteEquality(TNode node) { - Debug("bitvector") << "TheoryBV::rewriteEquality(" << node << ")" << std::endl; - return postRewrite(node).node; - } - static void init(); static void shutdown(); |