summaryrefslogtreecommitdiff
path: root/src/theory/bv
diff options
context:
space:
mode:
authorDejan Jovanović <dejan@cs.nyu.edu>2013-04-26 12:55:13 -0400
committerDejan Jovanović <dejan@cs.nyu.edu>2013-05-02 14:47:20 -0400
commitfb05d8411fdf905550d0bfdef56f4a4c3ed6a8ef (patch)
treeecdcda2fc6c9a2e11e8029333e7ca7998cd69d82 /src/theory/bv
parenta5d1513db484457ac64a96711088aca1460af62e (diff)
* splitLemma to request atoms
* normalizing in bv before bitblasting
Diffstat (limited to 'src/theory/bv')
-rw-r--r--src/theory/bv/bitblaster.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/theory/bv/bitblaster.cpp b/src/theory/bv/bitblaster.cpp
index 8579012ab..7960b0320 100644
--- a/src/theory/bv/bitblaster.cpp
+++ b/src/theory/bv/bitblaster.cpp
@@ -95,7 +95,10 @@ void Bitblaster::bbAtom(TNode node) {
Debug("bitvector-bitblast") << "Bitblasting node " << node <<"\n";
++d_statistics.d_numAtoms;
// the bitblasted definition of the atom
- Node atom_bb = Rewriter::rewrite(d_atomBBStrategies[node.getKind()](node, this));
+ Node normalized = Rewriter::rewrite(node);
+ Node atom_bb = normalized.getKind() != kind::CONST_BOOLEAN ?
+ Rewriter::rewrite(d_atomBBStrategies[normalized.getKind()](normalized, this)) :
+ normalized;
// asserting that the atom is true iff the definition holds
Node atom_definition = mkNode(kind::IFF, node, atom_bb);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback