Re: So what's null then if it's not nothing?

From: JOG <jog_at_cs.nott.ac.uk>
Date: 10 Dec 2005 06:31:18 -0800
Message-ID: <1134225078.698427.226210_at_g43g2000cwa.googlegroups.com>


vc wrote:
> JOG wrote:
> > vc wrote:
> > > JOG wrote:
> > > > vc wrote:
> > > > > Jon Heggland wrote:
> > > > > > In article <1134052742.347560.142840_at_o13g2000cwo.googlegroups.com>,
> > > > > > boston103_at_hotmail.com says...
> > > > > > >
> > > > > > > > I don't think a "regular" unknown/missing SQL NULL for a 2VL boolean
> > > > > > > > domain should be regarded a truth value. That would be inconsistent with
> > > > > > > > how NULL works in other domains.
> > > > > > >
> > > > > > > Then the logic ceases to be such if its truth values set include a
> > > > > > > value for which the equality predicate evaluates to anything other than
> > > > > > > TRUE or FALSE as I said elsewere.
> > > > > >
> > > > > > It does *not* include such a value. NULL is not a truth value any more
> > > > > > than it is a number or a string.
> > > > >
> > > > > I am missing something. If you store/use NULL as a logical value, haw
> > > > > can it *not* belong to the logical vaue domain with its logical
> > > > > operations? Sorry, but that does not make sense.
> > > > [snip]
> > > >
> > > > But Null can never _be_ a logical value: it is by definition an
> > > > indicator of the very absence of a logical value. In addition, as a
> > > > logical value how could it possibly exist?
> > >
> > > I am not sure what point you are trying to make. Are you suggesting
> > > that nulls be allowed in , say, Boolean columns ? Or just the opposite
> > > ?
> >
> > That you cannot mathematically incorporate the null concept into a
> > logical system in the way that has been proposed (i.e. 3VL, which
> > obviously can be effective with more valid domains).

>

> I do not understand what exactly you are trying to say. Is it that
> you cannot have a logic with more than two truth values ? That's
> clearly wrong. What exactly does "3VL, which obviously can be
> effective with more valid domains" mean ?

Well, you answer your question when you quote me. Of course you can have 3VL. It just makes no sense with this domain. If I have {T, F, X}, well fine, but if one then defines X as representing a lack of knowledge concerning T or F, the domain no longer makes sense. X is describing the state of the other values - it is part of a meta-theorem, and has no place sitting next to T and F. (One might want to analogise with quantifiers in second and third order logic).

>

> > In a boolean
> > column for example you could not place true, false and Null in a
> > mathematically consistent system.
>

> You cannot because the Bollean domain does not include anything but
> {true, false}.

no, you are correct. Calling it a Boolean column is silly. A column with a domain {True, False and Null} is what was meant, as discussed above.

>

> >(i.e. it necessarily requires human's
> > to interpret the inconsistency in the practical world)
>

> This, I do not understand. Interpretation of truth values is
> irrelevant for the logical system to be possible.

No you can't just stick any old values into a logical system. 3VL will obviously always work if you are thinking in terms of the symbols (that is how it is defined after all), but we are not dealing with things from a "formalist" standpoint here (bottom up). We already have the meaning of null established and are attempting to work down (a "realist" or "platonist" standpoint), and as such we cannot just squash its characteristics into a symbol and expect everything to work, just because we've written down a truth table.

>
>

> >
> > >
> > > > In a world where the equality relation over a logical domain is not reflexive?!? This whole
> > > > argument makes no sense to me.
> > >
> > > Whose argument are you objecting to ?
> >
> > The argument that would incorportate Null != Null into the logical
> > arrangement - this would mean that the equality relation in the domain
> > would be non-reflexive, a nonsense in a logic system. This should be
> > the stopping point for that train of thought imo.
>

> But, that's what I've been objectiong to myself in my lengthy dialog
> with Jon, right ?

Sure! It looks like we are just agreeing loudly. Perhaps it looked like I was arguing against you, but this was not the intention. Rather I was just making statements, sparked off by your comments.

>

> >
> > > >. If you want to use nulls, well
> > > > mathematically your looking at a meta-language, and you simply can not
> > > > condense it all down into a single conceptual level (Or hofstadter
> > > > might point out that you have to pass it up to the next djinn!).
> > >
> > > What's that supposed to mean ?
> >
> > That mathematical levels are being confused in this discussion (a very
> > easy thing to do). Null talks about the underlying algebra - it is not
> > part of it.
>

> That does not make any sense. Could you please elaborate on 'null
> talking about underlying algebra' ?
>

> >As such it is the next mathematical layer, part of a meta
> > language _about_ that level beneath it.
>
> See above.

Well I've maybe explained this above. Null means we do not have a value for boolean X say, whereas True and False are actually instances of those values, that Null describes are missing. Null is acting at a different level, as it describes an underlying theorem rather than being part of one. Now I understand my descriptions probably make this clear as mud, but this sort of consideration of theorems and meta-theorems and meta-meta-theorems is pretty much all modern mathematics is about (consider Godel's work). I do not teach this stuff (as you can probably tell) so all I can do is point you in the direction of the references I made before.

All best, Jim. Received on Sat Dec 10 2005 - 15:31:18 CET

Original text of this message