diff options
Diffstat (limited to 'src/printer')
-rw-r--r-- | src/printer/smt2/smt2_printer.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/printer/smt2/smt2_printer.cpp b/src/printer/smt2/smt2_printer.cpp index 9350111c7..6d75279e5 100644 --- a/src/printer/smt2/smt2_printer.cpp +++ b/src/printer/smt2/smt2_printer.cpp @@ -740,10 +740,10 @@ void Smt2Printer::toStream(std::ostream& out, out << smtKindString(k, d_variant) << " "; break; case kind::COMPREHENSION: out << smtKindString(k, d_variant) << " "; break; + case kind::SINGLETON: stillNeedToPrintParams = false; CVC4_FALLTHROUGH; case kind::MEMBER: typeChildren = true; CVC4_FALLTHROUGH; case kind::INSERT: case kind::SET_TYPE: - case kind::SINGLETON: case kind::COMPLEMENT: case kind::CHOOSE: case kind::IS_SINGLETON: out << smtKindString(k, d_variant) << " "; break; @@ -976,7 +976,12 @@ void Smt2Printer::toStream(std::ostream& out, TypeNode elemType = TypeNode::leastCommonTypeNode( n[0].getType(), n[1].getType().getSetElementType() ); force_child_type[0] = elemType; force_child_type[1] = NodeManager::currentNM()->mkSetType( elemType ); - }else{ + } + else if (n.getKind() == kind::SINGLETON) + { + force_child_type[0] = n.getType().getSetElementType(); + } + else{ // APPLY_UF, APPLY_CONSTRUCTOR, etc. Assert(n.hasOperator()); TypeNode opt = n.getOperator().getType(); |