Booleans as the degenerate case of variable binding results

Consider variable binding results a sum-of-products expressions as 
follows:

A single variable binding: [?x = "apple"]

A single result: AND( [?x = "apple"], [?y = "30 cents"] )

A complete query result: OR( AND [?x = "apple"], [?y = "30 cents"] ),
                              AND [?x = "banana"], [?y = "25 cents"] ))

The tabular form is a shorthand for the sum-of-products expression:

   ?x         ?y
+----------+------------+
| "apple"  } "30 cents" |
+----------+------------+
| "banana" | "25 cents" |
+----------+------------+

A conjunction AND( P1, P2 ... Pn ) is logically true unless any of the 
conjoined propositions is false.  Therefore, a conjunction of zero 
propositions must be logically true.

A disjunction OR( P1, P2, ... Pn ) is logically false unless any of the 
disjoined propositions is true.  Therefore, a disjunction of zero 
propositions must be logically false.

If you have zero variables to bind, there are only two possible sum of 
products expressions:

The false result: OR()

The true result: OR( AND() )

In tabular form, the false result has zero columns (variables) and zero 
rows.  The true result has zero columns and one row.  It doesn't make 
any sense to have more than one row, because additional rows would 
necessarily be duplicates of the first.

Received on Tuesday, 15 June 2004 12:38:33 UTC