PRED-DEFN ::= pred-defn PRED-NAME PRED-HEAD FORMULA
PRED-HEAD ::= pred-head ARG-DECL*
A definition PRED-DEFN of a predicate with some arguments is written:
p (v11, ..., v1m1:s1; ...; vn1, ..., vnmn:sn) <=> FWhen the list of arguments is empty, the definition is simply written:
p <=> FThe sign displayed as a double-headed double arrow in LaTeX is input as `<=>'.
It declares the predicate name p as a predicate, with a profile having argument sorts s1 (m1 times), ..., sn (mn times). It also asserts the equivalence:
p(v11, ..., vnmn) <=> Funiversally quantified over the declared argument variables (which must be distinct, and are the only ones allowed in F), or just `p <=> F' when the list of arguments is empty. The predicate name p may occur in the formula F, and may have any interpretation satisfying the equivalence.