## 4.11 Keywords in Predicates

The following forms are recognized as keywords within a LSL (and Larch/C++) predicate or term (see section 6.1 Predicates). Since they have special meaning in Larch/C++, those that would otherwise be lsl-ops (see section 4.10.5 LSL Operators) may not be used as such within predicates and terms.

predicate-keyword ::= \A | \and | \any | \E | \eq | \exists | \forall
| \implies | \langle | \neq | \obj | \or | \pre | \post | \rangle
| = | == | != | ~= | /\ | \/ | =>


The predicate-keywords \langle, \rangle, and each form that Larch/C++ uses as a logical-opr (see section 6.1.2 Logical Connectives) may be given different meanings for different sorts in a LSL trait. The meaning of the others is fixed either by LSL or by Larch/C++.