Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> comp.databases.theory -> Re: All hail Neo!

Re: All hail Neo!

From: Jay Dee <>
Date: Sun, 30 Apr 2006 01:29:18 GMT
Message-ID: <OpU4g.22500$>

Marshall Spight wrote:
> Jay Dee wrote:

>>Marshall Spight wrote:
>>>Bob Badour wrote:
>>>>If one starts with a two valued logic and adds a third value, one
>>>>changes all of the features of the prior logic. Every truth table must
>>>>change. Every identity is potentially affected as are associativity,
>>>>distributivity etc.
>>>Do the pre-existing rows of the truth tables of existing
>>>boolean functions change?
>>Yes; columns and rows are added.  The result is the "combinatorial
>>explosion" referred to elsewhere.

> Columns are added to the truth tables of existing boolean functions,
> you say? Can you give an example? The columns of the truth table
> for a boolean function correspond to the input and output parameters
> of that function, so saying column are added is saying that there
> are additional arguments or result values. This is certainly not
> true for AND and OR; can you give an example of a boolean function
> for which it is true?
> And the assertion that "rows are added" does not make
> a "yes" answer to my question. Adding rows does not
> change the pre-existing rows.
> I know what the combinatorial explosion is, and it's one reason
> why I argue against the use of 3VL in language design.
> Marshall

(using a monospace font...)

and| T | F
  T | T | F
  F | F | F

must become

  and| T | F | null

   T | T | F | ?
   F | F | F | ?
null| ? | ? | ?

more columns, more rows.

The question becomes, "WTF do we put in for ??"

If we decide that null means more than one thing, as SQL has done, we have to add more columns and rows for "null, type 1," "null, type 2," &c.

Some may ask, "How is it that SQL has decided that null has more than one meaning?" One brief answer is: it allows null to be stored in tables - having some magic meaning known to the designer - and it creates nulls (sic) in outer joins. (There are more examples; I could go on, but there's no point to it.)

Once a piece of magic fluff has more than one meaning, its "real" meaning is unknowable. In other words, I can imagine more than one way that a null showed up in a response to a query, but I can't discern *the* reason that it's there.

There's no good end to that trail. Received on Sat Apr 29 2006 - 20:29:18 CDT

Original text of this message