SORT-GEN ::= sort-gen SIG-ITEMS+
A sort generation SORT-GEN is written:
generated { SI1...SIn };When the list of SIG-ITEMS is a single DATATYPE-ITEMS construct, writing the grouping signs is optional:
generated types DD1; ... DDn;(The terminating `;' is optional in both cases.)
It determines the same elements of signature and sentences as SI1, ..., SIn, together with a corresponding sort generation constraint sentence: all the declared sorts of SI1, ..., SIn are required to be generated by all the declared operations--but excluding operations declared as selectors by datatype declarations. A SORT-GEN is ill-formed if it does not declare any sorts.