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

From: JOG <jog_at_cs.nott.ac.uk>
Date: 11 Dec 2005 18:15:38 -0800
Message-ID: <1134353738.616494.318540_at_o13g2000cwo.googlegroups.com>


vc wrote:
> JOG wrote:
> > vc wrote:
> >
> > > JOG wrote:
> > > > 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.
> > >
> > > You are wrong: What X 'represents' does not matter. What matters are
> > > the truth tables defining how logical connectives work.
> > >
> > > > 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.
> > >
> > > This does not make any sense.
> > >
> > > >(One might want
> > > > to analogise with quantifiers in second and third order logic).
> > >
> > > What has the second-order logic to do with the 3 VL propositional logic
> > > ? Do you have any idea what second-order logic is ?
> > >
> > >
> > > >
> > > > >
> > > > > > 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.
> > >
> > > As long as NULL is used in the truth tables, threre is no problem. A
> > > problem will arise when one would claim that NULL=NULL evaluates to
> > > anything but TRUE when it functions as a truth value.
> > >
> > > >
> > > > >
> > > > > >(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).
> > >
> > > Why not ? That's how modern propositional logic is treated: just a
> > > bunch of symbols with a bunch of rules.
> > >
> > > >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.
> > >
> > > That's how it's done in modern propositional logic. If you want to
> > > invent your own math, be my guest.
> > >
> > > >
> > > > >
> > > > >
> > > > > >
> > > > > > >
> > > > > > > > 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
> > >
> > > OK.
> > > .
> > > >
> > > > >
> > > > > >
> > > > > > > >. 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.
> > >
> > > That's not so. One can employ any string of characters representing
> > > truth values including NULL. The string 'NULL' meaning is in your
> > > head, not in in a logic system you want to use.
> > >
> > > >Null is acting at a
> > > > different level, as it describes an underlying theorem rather than
> > > > being part of one.
> > >
> > > The above still does not make sense.
> > >
> > > > 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).
> > >
> > >
> > > Goedel's theorem has got zip to do with the stuff we are discussing
> > > (what specific theorem by the way are you referring to?).
> > >
> > > >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.
> >
> > Ok, no problems. I won't try going through the individual points tit
> > for tat.
>
> Why not ?

Because they have incongrously digressed from my intended point! But I take responsibilty for that, due to my dark references about Hofstadter's descriptions of incompleteness theorems ;) So Godel's stated that any recursive axiomatic system cannot be consistent and complete. The only analogy I was making was down to the "recursivity". Axiomatic systems can be consistent and complete so long as you use another *different* system to form and treat the axioms of the original. (i.e. what I was referring to in a horiffically general way as another mathematical level. I have full faith that noone has in the past, or will again). This meta-theorem of course has the same problem of inconsistency or incompleteness as the first so you have to keep on adding systems upwardly ad infinitum..

Now this has _nothing_ at all to do with the discussion except as a sweeping analogy for boundaries between different levels of interpretation (which hofstadter analogised as genies (djinns) who when granting a wish, passed it up to his genie superior, who in turn asked his superior, and so on infinitely. If you haven't read GEB then again, that reference will make no sense at all.). That was _all_ I was getting at, and i regret it dragging the topic away from my intended point.

>

> > You can't seem to connect with analogy (you think I'm
> > referring to using Godel's theorem in this context, where I am
> > obviously not, but rather his realisation of seperate levels, any of
> > which can be complete or consistent but never both.
>

> Goedel never talked about any levels in the context of his theorems.
> You still did not answer what specific theorem of Goedel's, applicable
> to propositional logic, you'd referred to.
>

> >Its just an analogy
> > to look at a mathematical system at different levels.), so I'll give up
> > there. As such you also can't separate what a Null is from the other
> > values in a domain you wish to squash with it (Codd also did not, Date
> > et al. did but, as someone pointed out previously, attempted to express
> > this intuitively as opposed to mathematically).
>
> I am not sure at all what you are trying to say, sorry.

OK, so given this brooooad and impetuous analogy of considering systems at different levels and the examining the relationships between them:

In a db you can have a value or a null (In a column that is - I'm not referring to the 3VL you have been discussing with others). Now a value is a value, but a null acts at a higher level, as it _describes_ a characteristic of an underlying value: that the value is not here. I suppose one might consider it a variable, a holder for the value that ought to be there but is for some reason is unknown (And by that I very much mean missing, not inapplicable - if it is inapplicable the predicate of the table is wrong full stop, and i hold no credence to any debate therein).

So if one is considering the domain of an integer column to actually be: {all_integers, null), those levels are immediately becoming confused. Now all ALL orderings are haemmoraged - every single one becomes a poset as null and an integer aren't even comparable! (It's like trying to compare an apple with the property of being even) So now you have a system where your theorems may be invalid (which imo something like 4<null is). It makes no sense to me given this state of affairs to try and lay a further logical system on top (whether it be 2VL or NVL). As such I hope thats clear that my post wasn't aimed at your points in particular but the discussion as a whole.

>

> >
> > However, while we differ there, we agree Null!=Null cannot be an
> > acceptable state of affairs in a logical system, so (if I've followed
> > your line correctly) you propose Null=Null
>

> I do not insist on using NULL as a truth value, any string of
> characters can be used as such, but yes I do not see a problem weth
> using NULL as a truth value, and yes it's a trivial observation that,
> as a truth value, NULL has to be equal to NULL, otherwise your systen
> ain't a logic no more for obvious reasons.
>

> >be incorporated and assume
> > that symbols in an abstract logical system can happily represent any
> > old item in the real world, nevermind the intension of the domain set
> > they come from, and yet still give the user intuitive results
>

> I never said anything about using NULL as a truth value being intuitive
> or otherwise.
> .
> >. I'm
> > clearly not convincing you, so I guess all I can do is wish you good
> > luck with that, and hope you continue to read the literature.
>

> What specific lacunae do you suggest I should fill out by reading "the
> literature" ? In other words, what mistakes did I make whist
> discussing the subject. Please be specific, without dark hints at
> Goedel's theorems and such, as I honestly might be missing something.
> >
> > _still_ all best vc, Jim ;)

Anything that turns up. My apologies if those lines sounded patronising, that absolutely wasn't the intention and I wasn't inferring you had any lucanae (and yes, I had to look that up). I really did mean good luck with the analysis as I bowed out the thread, and for you to carry on expanding the knowledge behind it. Rereading it now, it clearly doesn't come across that way. standard sloppy usenet fare i'm afraid vc - I'm reading this discussion with interest. Received on Mon Dec 12 2005 - 03:15:38 CET

Original text of this message