summaryrefslogtreecommitdiff
path: root/src/printer
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2017-03-02 14:45:21 -0600
committerajreynol <andrew.j.reynolds@gmail.com>2017-03-02 14:45:21 -0600
commit1f4b954a2cc7667a56a3007fa75c125fba93ed23 (patch)
treeea8734e89aa5fba170781c7148d3fd886c597d4e /src/printer
parent21b0cedd7dadd96e5d256885e3b65a926a7e4a81 (diff)
Eliminate Boolean term conversion. Generalizes removeITE pass to remove Boolean terms, treats distinguished BOOLEAN_TERM_VARIABLE kind as theory literal. Fixes bugs 597, 604, 651, 652, 691, 694. Add regressions.
Diffstat (limited to 'src/printer')
-rw-r--r--src/printer/cvc/cvc_printer.cpp10
-rw-r--r--src/printer/smt2/smt2_printer.cpp2
2 files changed, 5 insertions, 7 deletions
diff --git a/src/printer/cvc/cvc_printer.cpp b/src/printer/cvc/cvc_printer.cpp
index a9eab4a8c..01978b2e5 100644
--- a/src/printer/cvc/cvc_printer.cpp
+++ b/src/printer/cvc/cvc_printer.cpp
@@ -225,7 +225,11 @@ void CvcPrinter::toStream(std::ostream& out, TNode n, int depth, bool types, boo
// BUILTIN
case kind::EQUAL:
- op << '=';
+ if( n[0].getType().isBoolean() ){
+ op << "<=>";
+ }else{
+ op << '=';
+ }
opType = INFIX;
break;
case kind::ITE:
@@ -294,10 +298,6 @@ void CvcPrinter::toStream(std::ostream& out, TNode n, int depth, bool types, boo
op << "XOR";
opType = INFIX;
break;
- case kind::IFF:
- op << "<=>";
- opType = INFIX;
- break;
case kind::IMPLIES:
op << "=>";
opType = INFIX;
diff --git a/src/printer/smt2/smt2_printer.cpp b/src/printer/smt2/smt2_printer.cpp
index d75ec2126..a7add27f8 100644
--- a/src/printer/smt2/smt2_printer.cpp
+++ b/src/printer/smt2/smt2_printer.cpp
@@ -355,7 +355,6 @@ void Smt2Printer::toStream(std::ostream& out, TNode n,
// bool theory
case kind::NOT:
case kind::AND:
- case kind::IFF:
case kind::IMPLIES:
case kind::OR:
case kind::XOR:
@@ -719,7 +718,6 @@ static string smtKindString(Kind k) throw() {
// bool theory
case kind::NOT: return "not";
case kind::AND: return "and";
- case kind::IFF: return "=";
case kind::IMPLIES: return "=>";
case kind::OR: return "or";
case kind::XOR: return "xor";
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback