Boolean variables were marked as theory literals by mistake. Fixed, should give us...
authorDejan Jovanović <dejan.jovanovic@gmail.com>
Thu, 11 Mar 2010 06:15:32 +0000 (06:15 +0000)
committerDejan Jovanović <dejan.jovanovic@gmail.com>
Thu, 11 Mar 2010 06:15:32 +0000 (06:15 +0000)
src/prop/cnf_stream.cpp

index 634ba00d45452c2a6d35c61fe8c71e3dee98ff6d..a5924a54416caa6a83ea4d26bd77721d17cb4f42 100644 (file)
@@ -109,8 +109,9 @@ SatLiteral TseitinCnfStream::handleAtom(const TNode& node) {
   Assert(!isCached(node), "atom already mapped!");
 
   Debug("cnf") << "handleAtom(" << node << ")" << endl;
-
-  SatLiteral lit = newLiteral(node, true);
+   bool theoryLiteral = node.getKind() != kind::VARIABLE;
+   SatLiteral lit = newLiteral(node, theoryLiteral);
 
   switch(node.getKind()) {
   case TRUE: