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

From: vc <boston103_at_hotmail.com>
Date: 7 Dec 2005 12:38:46 -0800
Message-ID: <1133987926.307730.65450_at_g14g2000cwa.googlegroups.com>


Jon Heggland wrote:
> In article <1133894046.516473.27860_at_f14g2000cwb.googlegroups.com>,
> boston103_at_hotmail.com says...
> >
> > > > > What do you call the domain { TRUE, UNKNOWN, FALSE }? And by the way,
> > > > > haven't you argued for ages that names don't matter?
> > > >
> > > > Names do not matter, but the number of logical constants does. If
> > > > it's more than two, then the logic is most certainly not Boolean.
> > >
> > > You are quibbling.
> >
> > I beg your pardon ? The number of logical constants, not thir names,
> > is what distinguishes propositional logic from various multivalued
> > logics, including various breeds of 3VLs.

>

> You don't answer my questions; you come up with complete non sequiturs.
> A domain has a name. The domain consisting of the values { TRUE, FALSE }
> is called Boolean. There is another domain, consisting of the values {
> TRUE, UNKNOWN, FALSE }, which I called "3VL Boolean". You ignored the
> main argument in order to quibble about this name, and I asked you what
> I should call it in order to keep the discussion on track.

You can call it a set of truth values or a 3VL data type. I objected to your using the word Boolean because it's used to describe a two-value logic/algebra. Also, what's your "main argument" regarding the truth values set naming that I ignored ? How is the crucial point that distinguishes the 2VL from a multivalued logic, namely the number of truth values is a non-sequitur ?

>

> > > > > What is the type/domain of the expression following the keyword WHERE in
> > > > > SQL?
> > > > Clearly, the the expression is a 3VL formula as defined by the
> > > > standard.
> > >
> > > You are still quibbling. I asked about the data type.
> >
> > I told you already that the data type is the set (T,F,U} with its
> > associated operations. What's not clear about that ?
>
> What you call that set.

See above.

[...]

> > > > > And if we did have a Boolean { TRUE, FALSE } domain in SQL, shouldn't we
> > > > > be able to assign NULL to an attribute of that type?
> > > >
> > > > If we assign NULL to the attribute of the Boolean type, it ain't
> > > > Boolean no more.
> > >
> > > And if we assign NULL to an integer attribute, it ain't integer no more?
> >
> > Of course not.

>

> And your conclusion is ..? That for Boolean attributes, NOT NULL must be
> enforced at all times?

In order for Boolean attributes to remain such, yes, otherwise they would be not Boolean and necessarily one would be using a logic other than Boolean which would have much more profound implications that extending the integer domain with nulls.

> --
> Jon
Received on Wed Dec 07 2005 - 21:38:46 CET

Original text of this message