Go to the first, previous, next, last section, table of contents.


6.1.2 Logical Connectives

Slightly higher in precedence operators are the logical connectives.

logical-term ::= logical-term logical-opr equality-term
        | equality-term
logical-opr ::= \and  |  \or  |  \implies  |  /\  |  \/  |  =>

The terms on either side of a logical-opr must have sort Bool. These also have the usual meaning; that is, /\ and \and mean "and", \/ and \or mean "or", and => and \implies mean "implies". See page 161 of [Guttag-Horning93] for a formal statement.

One can also use the C++ syntax && and || as lsl-ops (see section 6.1.5 LSL Operator Terms), as these are defined in a Larch/C++ built-in trait. (See section 11.4 bool for details on the trait bool_sugars.) However, these do not have the same precedence as the logical-oprs that are their equivalents /\ and \/.


Go to the first, previous, next, last section, table of contents.