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




Jon Heggland wrote:
> In article <1133399157.887590.131540@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
> boston103@xxxxxxxxxxx says...
> > Jon Heggland wrote:
> > > In article <1133365672.244152.260720@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
> > > boston103@xxxxxxxxxxx says...
> > > >
> > > > Please read the original article I've referenced for justification and
> > > > the debate beween Codd and Date on the issue of nulls:
> > > > http://www.dbdebunk.com/page/page/1706814.htm.
> > >
> > > I found no justification in the original article; that's why I asked! I
> > > have read the Codd/Date debate; it seems that Codd is confused about how
> > > 3VL works.
> >
> > What specifically is he confused about with respect to 3VL ?
>
> Tautologies, for one thing, as pointed out by Clement-Davies.

Au contraire, it's Clement -Davies who does not get Codd's point.
Codd correctly remarks that checking whether a logical formula is a
tautology would be nice, but unrealistic even in the 2L because in the
FOL on which the RM is based the problem is simply undecidable.

It's unclear at all what Clement -Davies means by this : "Since the
example he gives [regarding birth years] isn't a tautology in
Lukasiewicz's system and any system of three-valued logic in which this
was made to be a tautology would show unfortunate effects elsewhere"


[...]
> > The 3VL equivalence is a logical operator (or connective) whose meaning
> > is defined by a truth table in the same way as it is for the 2VL
> > equivalence (sometimes called a biconditional). The equality operation
> > is a predicate/relation defined over a set of values.
> > I do not know why they call equivalence EQUALS.
>
> Because the result of the the evaluation of equivalence

of what ?

and equality

of what ?

> should be / is the same, perhaps? Or maybe it's just happy coincidence
> that it is in 2VL ... What practical (or indeed logical) consequences
> has such a separation of equality and equivalence for database theory?

Logical equivalence is defined over a set of wffs whose truth tables
are the same. E.g.,

p & q <=> not (not p or q)

Clearly, we have two different formulas that are logically
equivalent because their truth tables are the same. In other words,
'<=>' partitiones the set of wffs into equivalence classes.

> Do you think it is a good idea to define a system where 0 is equivalent
> to 0, but not equal to 0?

What's that supposed to mean ? What set is your equivalence is defined
over ? What set is your equality is defined on?

>
> > > > He uses the same symbol (NULL) both to talk about the unknown as an
> > > > unknown value and to talk about the unknown as a logical constant as
> > > > you noticed earlier yourself. It's confusing, but one can easily
> > > > deduce from the context what exactly he means. In order to avoid
> > > > confusion, one can use NULL to represent only an unknown value and
> > > > UNKNOWN to represent the additional [to TRUE/FALSE] logical constant.
> > >
> > > The problem is that NULL = NULL and thus UNKNOWN = UNKNOWN is not true,
> >
> > There is no 'thus', the problem is that you are missing the context.
>
> Codd uses the same symbol, omega/null for both his 'value (of any type)
> at present unknown' and for the unknown truth value. Or do you claim
> that when null is encountered as a 3VL boolean (lukasiewiczian?), Codd
> says null = null should yield true?

As I said before, the domains (contexts) are different so what's the
problem ? When we use {0,1,2} in the 3vl, we do not claim that 0,1,2
are integers, do we ?

>
> > Now, we
> > can consider a set consisting of three elements {TRUE, FALSE, UNKNOWN}.
> > It's a trivial observation that we can define equality over such set
> > where UNKNOWN = UNKNOWN evaluates to TRUE
>
> We can define anything we want, I guess.

Sure we can.

>
> > (UNKNOWN does not have any special meaning, you could as well use
> > QWERTY instead).
>
> Just like you can use ASDFGH for TRUE and ZXCVBN for FALSE? What's your
> point?

The point is that we can [re]-use the same symbols for different things
as I hope I've demonstrated above.

>
> > Further, you
> > can use NULL instead of UNKNOWN, nothing really changes, you still
> > have a three element set {TRUE, FALSE, NULL} where you can define
> > equality so that NULL=NULL evaluates to TRUE. In other words, we
> > establish different rules for say {0,1,2,3, ..., NULL} and {FALSE,
> > TRUE, NULL}.
>
> In which case it is a really, really stupid idea to use the same symbol.

Are you saying that say Lukasiewicz's was stupid because he used
{0,1/2, 1} for his system confusing the fraction (1/2) with a truth
constant ?

> To use the same argument, we can call the empty string NULL, and say
> that in a string context, NULL = NULL is true.

I cannot parse that.

>Or use NULL instead of
> TRUE, and "nothing really changes". Possible? Yes. Practical? No.

See above.

>
> But anyway, does Codd or SQL do this?

Do what ?

> If not, what is the point of your
> argument? That we can, if we want, design really horrendous formal
> systems? I won't dispute that.
>
> > > I never claimed such a thing. I do claim that 0 = 0, 1 = 1 and 2 = 2,
> > > though.
> >
> > See above.
>
> Come on. Your argument above says essentially "we can define it to be if
> we want to". I'm asking why we (or Codd) wouldn't want to.

I do not understand that. "Would not want to" do what ?

> --
> Jon

.



Relevant Pages

  • Re: So whats null then if its not nothing?
    ... >> I found no justification in the original article; ... I think a proper 3VL with a proper UNKNOWN truth value is better. ... > equivalence. ... Because the result of the the evaluation of equivalence and equality ...
    (comp.databases.theory)
  • Re: So whats null then if its not nothing?
    ... >> was made to be a tautology would show unfortunate effects elsewhere" ... >>> Because the result of the the evaluation of equivalence ... the truth tables should be the same. ... If the first zero denotes a logical constant, ...
    (comp.databases.theory)
  • Re: So whats null then if its not nothing?
    ... to store truth values in the database, ... think it is very likely that he means equivalence in all cases. ... I don't think Codd ... A redefinition of equivalence, not equality. ...
    (comp.databases.theory)
  • Re: So whats null then if its not nothing?
    ... *logical equivalence* rather than a biconditional. ... accoding to its truth table. ... An example of such use by COdd would be ... When I said that Cddd had redefined equality, ...
    (comp.databases.theory)
  • Equivalence & Equality.
    ... There may be a relation with various equivalence classes, ... Part 2 EQUALITY ... as symmetry of equality does the job. ... the two forms of substitutivity as mentioned above; ...
    (sci.logic)