PRED-DECL ::= pred-decl PRED-NAME+ PRED-TYPE
A predicate declaration PRED-DECL is written:
PN1, ..., PNn : TIt declares each predicate name PN1, ..., PNn as a predicate, with profile as specified by the predicate type T.
PRED-TYPE ::= pred-type SORTS
A predicate type PRED-TYPE with some argument sorts is written:
S1 × ... × SnThe sign displayed as ` × ' may be input as `×' in ISO Latin-1, or as `*' in ASCII. When the list of argument sorts is empty, the type is written `()'.
The operation profile determined by the type has argument sorts S1, ..., Sn.