Complete definition of an ADT
Particular values enumeration
Included data
Keyword STRUCT for record
Generators ARRAY, STRING, POWERSET
List of the object operations
Operations semantics
Keyword AXIOMS
Keyword OPERATOR
NEWTYPE <adt_name>[LITERALS lit1, lit2, ...............;]
[STRUCT <struct-def> |
<generator-def>][OPERATORSop1 : [type arg1, ...] ->returned_type ;
…][AXIOMS <axiom-defs>]
[OPERATOR <operator-def>]
[DEFAULT <default-value>]ENDNEWTYPE [<adt_name>] ;