summaryrefslogtreecommitdiff
path: root/src/printer
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2017-03-06 09:39:03 -0600
committerajreynol <andrew.j.reynolds@gmail.com>2017-03-06 09:39:20 -0600
commitd73fdfe7e1fe071670a7e5f843c7609db290b63e (patch)
treeff8ad52565f6a149689668f74957292486b2eeab /src/printer
parent5f096cbd59afa98e8b3c7e7e7aa0b6df3c7e01b0 (diff)
Support for set compliment and universe set. Simplify approach for sep.nil nodes.
Diffstat (limited to 'src/printer')
-rw-r--r--src/printer/cvc/cvc_printer.cpp4
-rw-r--r--src/printer/smt2/smt2_printer.cpp7
2 files changed, 10 insertions, 1 deletions
diff --git a/src/printer/cvc/cvc_printer.cpp b/src/printer/cvc/cvc_printer.cpp
index 01978b2e5..e0c434d5a 100644
--- a/src/printer/cvc/cvc_printer.cpp
+++ b/src/printer/cvc/cvc_printer.cpp
@@ -780,6 +780,10 @@ void CvcPrinter::toStream(std::ostream& out, TNode n, int depth, bool types, boo
op << "IS_IN";
opType = INFIX;
break;
+ case kind::COMPLIMENT:
+ op << "NOT";
+ opType = PREFIX;
+ break;
case kind::PRODUCT:
op << "PRODUCT";
opType = INFIX;
diff --git a/src/printer/smt2/smt2_printer.cpp b/src/printer/smt2/smt2_printer.cpp
index a7add27f8..b3fcaf24b 100644
--- a/src/printer/smt2/smt2_printer.cpp
+++ b/src/printer/smt2/smt2_printer.cpp
@@ -120,6 +120,9 @@ void Smt2Printer::toStream(std::ostream& out, TNode n,
if( n.getKind() == kind::SEP_NIL ){
out << "(as sep.nil " << n.getType() << ")";
return;
+ }else if( n.getKind() == kind::UNIVERSE_SET ){
+ out << "(as univset " << n.getType() << ")";
+ return;
}else{
string s;
if(n.getAttribute(expr::VarNameAttr(), s)) {
@@ -514,7 +517,8 @@ void Smt2Printer::toStream(std::ostream& out, TNode n,
case kind::SUBSET:
case kind::MEMBER:
case kind::SET_TYPE:
- case kind::SINGLETON: out << smtKindString(k) << " "; break;
+ case kind::SINGLETON:
+ case kind::COMPLIMENT:out << smtKindString(k) << " "; break;
// fp theory
case kind::FLOATINGPOINT_FP:
@@ -803,6 +807,7 @@ static string smtKindString(Kind k) throw() {
case kind::SET_TYPE: return "Set";
case kind::SINGLETON: return "singleton";
case kind::INSERT: return "insert";
+ case kind::COMPLIMENT: return "compliment";
// fp theory
case kind::FLOATINGPOINT_FP: return "fp";
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback