diff options
author | Dejan Jovanović <dejan@cs.nyu.edu> | 2013-04-26 12:55:13 -0400 |
---|---|---|
committer | Dejan Jovanović <dejan@cs.nyu.edu> | 2013-05-02 14:47:20 -0400 |
commit | fb05d8411fdf905550d0bfdef56f4a4c3ed6a8ef (patch) | |
tree | ecdcda2fc6c9a2e11e8029333e7ca7998cd69d82 /src/theory/bv | |
parent | a5d1513db484457ac64a96711088aca1460af62e (diff) |
* splitLemma to request atoms
* normalizing in bv before bitblasting
Diffstat (limited to 'src/theory/bv')
-rw-r--r-- | src/theory/bv/bitblaster.cpp | 5 |
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); |