Currently, Alpha only supports choice expressions without bounds in rule heads.
Since #141 has meanwhile been implemented, we now have an easy means of performing the rewriting of choice heads specified in the standard using aggregates.
Note that, for an expression X { ... } Y, the standard seems to be happy with X and Y being arbitrary terms (including variables, arithmetic expressions, function terms, etc.). Since this doesn't seem to make any practical sense, I'd suggest to restrict bound terms for choice heads to type ConstantTerm<Integer>.
Currently, Alpha only supports choice expressions without bounds in rule heads. Since #141 has meanwhile been implemented, we now have an easy means of performing the rewriting of choice heads specified in the standard using aggregates.
Note that, for an expression
X { ... } Y
, the standard seems to be happy withX
andY
being arbitrary terms (including variables, arithmetic expressions, function terms, etc.). Since this doesn't seem to make any practical sense, I'd suggest to restrict bound terms for choice heads to typeConstantTerm<Integer>
.