Addendum 2: This set of rules is incomplete. See Fun with logical expressions 2 for an improved version. Addendum: I've written a more or less equivalent Haskell version of this program. Some programmers, when confronted with a boolean expression, think...