A logical operator evaluates one or more Boolean expressions and
returns a Boolean value.
Logical Operators:
operator | example | result
-------------------------------------------------
AND A AND B TRUE if both A and B are TRUE
OR A OR B TRUE if either A or B is TRUE,
or if both are TRUE
NOT NOT A TRUE if A is FALSE, and
FALSE if A is TRUE
AND_THEN A AND_THEN B TRUE if both A and B are TRUE
(forces left-to-right evaluation
order with short-circuiting)
OR_ELSE A OR_ELSE B TRUE if either A or B is TRUE,
or if both are TRUE
(forces left-to-right evaluation
order with short-circuiting)