eager bit-blasting gives models for boolean variables too (fixes bug618)
authorLiana Hadarean <lianahady@gmail.com>
Mon, 24 Aug 2015 09:40:18 +0000 (10:40 +0100)
committerLiana Hadarean <lianahady@gmail.com>
Mon, 24 Aug 2015 16:50:49 +0000 (17:50 +0100)
src/theory/bv/eager_bitblaster.cpp

index eca9f12ab34183d0eed2c5f133d65df84f9b007a..3f076bd4c9fb646fb65d84e82f067520758a50de 100644 (file)
@@ -187,7 +187,8 @@ void EagerBitblaster::collectModelInfo(TheoryModel* m, bool fullModel) {
   TNodeSet::iterator it = d_variables.begin();
   for (; it!= d_variables.end(); ++it) {
     TNode var = *it;
-    if (d_bv->isLeaf(var) || isSharedTerm(var))  {
+    if (d_bv->isLeaf(var) || isSharedTerm(var) ||
+        (var.isVar() && var.getType().isBoolean()))  {
       // only shared terms could not have been bit-blasted
       Assert (hasBBTerm(var) || isSharedTerm(var));