summaryrefslogtreecommitdiff
path: root/src/theory/booleans
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/booleans')
-rw-r--r--src/theory/booleans/theory_bool_rewriter.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/theory/booleans/theory_bool_rewriter.cpp b/src/theory/booleans/theory_bool_rewriter.cpp
index c53610efa..1c5eab364 100644
--- a/src/theory/booleans/theory_bool_rewriter.cpp
+++ b/src/theory/booleans/theory_bool_rewriter.cpp
@@ -316,6 +316,14 @@ RewriteResponse TheoryBoolRewriter::preRewrite(TNode n) {
// return RewriteResponse(REWRITE_AGAIN, resp);
// }
}
+
+ if (n[0].getKind() == kind::NOT)
+ {
+ // ite(not(c), x, y) ---> ite(c, y, x)
+ return RewriteResponse(
+ REWRITE_AGAIN, nodeManager->mkNode(kind::ITE, n[0][0], n[2], n[1]));
+ }
+
// else if (n[2].isConst()) {
// if(n[2] == ff){
// Node resp = (n[0]).andNode(n[1]);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback