Predicate is an expression taking truth value. It may be both a single expression or any combination of a numberless expressions built by means of Boolean operators AND, OR, and NOT. Besides, these combinations may inclide SQL-operator IS, and parentheses that define the order in which operations are to be executed.
To remember combination rules for these three truth values, let us denote TRUE as 1, FALSE as 0, and UNKNOWN as 1/2 (somewhere between true and false) [2].
AND with two truth values gives minimum of these values. For example, TRUE AND UNKNOWN is UNKNOWN.
OR with two truth values gives maximum of these values. For example, FALSE OR UNKNOWN is UNKNOWN.
Negation of truth value is 1 minus this truth value. For example, NOT UNKNOWN is UNKNOWN.