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



In article <1134060103.915048.159540@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
boston103@xxxxxxxxxxx says...
>
> > ... unless he by '=' means equivalence!
>
> I don't know about a single example of him using '=' as equivalence in
> the logical domain. Could you provide one ?

Something like "NOT(F) = T; NOT(w) = w; NOT(T) = F", you mean?

Apart from that, he uses '=' a lot---calling it a "binary relation"---
and he defines his theta-select and theta-join using it. He also wants
to (be able to) store truth values in the database, and he does not say
that '=' should mean anything else if that is the case. Based on this, I
think it is very likely that he means equivalence in all cases. Although
you complained of my calling equivalence a relation ... Is Codd at fault
too, or is there another common interpretation of '=' that can safely be
called a relation?

> > I don't suggest to redefine equality for anything. I don't think Codd
> > does either.
>
> But he does, what else 'null = 7--> unknown' is if not a redefinition
> ?

A redefinition of equivalence, not equality. I don't think this equality
enters into the discussion at all, actually.

> > Fair enough. And this doesn't mean that arithmetic has "ceased to
> > exist" in SQL due to a redefinition of equality of numbers, because
> > arithmetic doesn't depend on comparing truth tables?
>
> I do not understand the bit about arithmetic.

Me neither. :) I'll rephrase: You say (if I understand you correctly)
that to claim that NULL = NULL is UNKNOWN even for "truth value NULLs"
constitutes a redefinition of equality, which renders logic
useless/unusable. I'm wondering why a similar disaster doesn't happen to
arithmetic / number theory when we say that NULL = NULL is UNKNOWN for
"integer NULLs".

> > What's so unclear about it? The very same examples I have used several
> > times earlier. "select * from Foo where (a < 16) = (b > 7)" if a and b
> > are numbers; "select * from Bar where a = not b" if a and b are truth
> > values.
>
> I thought we'd covered that earlier. The most likely interpretation is
> '=' is a biconditional.

I thought so too. But I don't really understand your position here. We
are discussing what Codd's "[W]hat is the truth value of x = y if x or y
or both are null? An appropriate result in each of these cases is the
unknown truth value, rather than true or false" means, right?

The "null = null is UNKNOWN" statement is a special case of the quote
above. I believe Codd meant this to hold even for the truth value kind
of null/w. I also believe that Codd meant '=' to signify equivalence,
not equality; and this is all consistent if he used Kleene's 3VL.

If I understand you correctly, you believe that '=' means equality in
the quote, and that therefore Codd implicitly meant it to not apply to
truth value null/w, because that would break logic. That seems a very
convoluted reading to me, especially when we seem to agree that '='
means equivalence everywhere else. If we just leave equality out of it,
everything falls into place!

> > A relational algebra or calculus expression---but we have to use a
> > textual language anyway, so it doesn't really matter.
>
> Please provide an example of such expression.

Never mind; SQL is adequate for this. It makes no difference.
--
Jon
.



Relevant Pages

  • Re: So whats null then if its not nothing?
    ... I raised the question how Codd meant equivalence to work in his 3VL. ... the truth table for equivalence. ... It's very strange that Codd references neither Lukasiewicz nor Kleene, ... where such a truth value column cannot be 'missing' NULL, only UNKNOWN ...
    (comp.databases.theory)
  • Re: So whats null then if its not nothing?
    ... You asked for equivalence, I gave you equivalence. ... > logical equivalence example, then it trivially restates what the NOT ... > accoding to its truth table. ... It would have helped your case if Codd had included that word. ...
    (comp.databases.theory)
  • Re: So whats null then if its not nothing?
    ... >> has such a separation of equality and equivalence for database theory? ... > equivalent because their truth tables are the same. ... Codd says null = null should yield true? ...
    (comp.databases.theory)
  • Re: So whats null then if its not nothing?
    ... >> logical equivalence example, then it trivially restates what the NOT ... >> accoding to its truth table. ... But on page 403, Codd calls the three expression just that, a 'NOT' ... See above, it's an equality predicate. ...
    (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)