The code for printing fmf.card does not run in its current location. This PR moves the code to a different switch statement to ensure that it runs.
out << ss.str();
break;
}
- case kind::CARDINALITY_CONSTRAINT:
- out << "(_ fmf.card ";
- out << n.getConst<CardinalityConstraint>().getType();
- out << " ";
- out << n.getConst<CardinalityConstraint>().getUpperBound();
- out << ")";
- break;
case kind::EMPTYSET:
out << "(as emptyset ";
toStreamType(out, n.getConst<EmptySet>().getType());
out << "(as sep.nil " << n.getType() << ")";
break;
+ // cardinality constraints.
+ case kind::CARDINALITY_CONSTRAINT:
+ out << "(_ fmf.card ";
+ out << n.getOperator().getConst<CardinalityConstraint>().getType();
+ out << " ";
+ out << n.getOperator().getConst<CardinalityConstraint>().getUpperBound();
+ out << ")";
+ return;
+
// quantifiers
case kind::FORALL:
case kind::EXISTS: