}
vector<Node> newChildren;
bool somethingChanged = false;
+ if(node.getMetaKind() == kind::metakind::PARAMETERIZED) {
+ // Make sure to push operator or it will be missing in new
+ // (reformed) node. This was crashing on the very simple input
+ // "(f (ite c 0 1))"
+ newChildren.push_back(node.getOperator());
+ }
for(TNode::const_iterator it = node.begin(), end = node.end();
it != end;
++it) {
--- /dev/null
+; This was causing trouble in CVC4 r1434 due to mishandling of ITE
+; removal for PARAMETERIZED kinds.
+; Thanks to Andrew Reynolds for catching this.
+(set-logic QF_UF)
+(set-info :smt-lib-version 2.0)
+(set-info :status sat)
+(declare-sort U 0)
+(declare-fun a () U)
+(declare-fun c () Bool)
+(declare-fun g (U) Bool)
+(assert (g (ite c a a)))
+(check-sat)
+(exit)