As reported by Coverity, one of the switches in the sets rewriter had a missing
break. This could lead to an assertion failure when rewriting the cardinality
of a transpose as in the test case included in this commit.
NodeManager::currentNM()->mkNode( kind::CARD, NodeManager::currentNM()->mkNode( kind::INTERSECTION, node[0][0], node[0][1] ) ) );
return RewriteResponse(REWRITE_DONE, ret );
}
+ break;
}
case kind::TRANSPOSE: {
if(node[0].getKind() == kind::TRANSPOSE) {
joinImg_1_1.cvc \
joinImg_1.cvc \
joinImg_2_1.cvc \
- joinImg_2.cvc
+ joinImg_2.cvc \
+ card_transpose.cvc
# unsolved : garbage_collect.cvc
--- /dev/null
+% EXPECT: unknown (INCOMPLETE)
+OPTION "logic" "ALL_SUPPORTED";
+IntPair: TYPE = [INT, INT];
+x : SET OF IntPair;
+ASSERT (CARD(TRANSPOSE(x)) > 0);
+CHECKSAT;