Re: So what's null then if it's not nothing?
Date: Sun, 11 Dec 2005 12:50:52 +0100
Message-ID: <MPG.1e0630fc51d5328098973d_at_news.ntnu.no>
In article <1134174476.373085.313290_at_f14g2000cwb.googlegroups.com>,
boston103_at_hotmail.com says...
> Jon Heggland wrote:
> > In article <1134060103.915048.159540_at_g14g2000cwa.googlegroups.com>,
> > boston103_at_hotmail.com says...
> > > 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?
>
> The above is ambiguous the most likely interpretation is that of
> *logical equivalence* rather than a biconditional.
You asked for equivalence, I gave you equivalence. :)
> If the above is a
> logical equivalence example, then it trivially restates what the NOT
> truth table already says. If it's a biconditional, then it evaluates
> accoding to its truth table.
I'd guess that the above is a substitute for a truth table for NOT, meant to convey the exact same information. Note its context, and the fact that Codd doesn't provide an actual truth table for NOT---so "what the NOT truth table already says" is not given.
> > 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.
>
> But, if he calls '=' a binary relation, then it's obvious that he
> means neither equivalence/biconditional' nor 'ogical equivalence, but
> rather *equlaity* which indeed is a binary relation (as well as a
> predicate) (as are <, >, !=, etc).
But how do you reconcile this with his THETA-SELECT example, where R[A =
r] does produce a result? By your definition, A is certainly not equal
to r.
> The usual meaning of '=' is equality which is a binary relation. In
> expressions* (2*x+4*y = x+2). However, in order to avoid ambiguity,
> in logic, '<-->' is most often used to denote the
> biconditional/equivalence connective and <==> is used to denote
> *equivalence of logical expressions* (whose truth tables are the same).
So let me see: w <--> w can be anything we want, according to how we define its truth table. Lukasiewicz says it is TRUE; Kleene says it is w. w <==> w, on the other hand, is necessarily TRUE, because the truth tables for w and w are (trivially) equal / the same. Did I get that right?
> I am not sure if my answer clarifies or further muddies this stuff for
> you.
I'm so deep in the mud that I don't know up from down. What was our original disagreement again?
> > 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".
>
> Because, for example the integer domain is not harmed so lethally as
> some logic would be by introdicing elements of which one cannot say
> whether they are the same or not. In a sense, one can say that the
> damage inflicted on the integer (or some other) domain by introducing
> NULL is contained through the use of some logic that has, arguably,
> ability to reason/make logical derivations when the domain reasoned
> about has NULL.
I still don't understand what the 'lethal' problem is. Can you give an
example?
> > 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?
>
> Yes, *except* when x, y are variables ranging over truth values.
> I've tried, apparently unsuccessfully so far, to explain why the word
> 'except' appropriate.
It would have helped your case if Codd had included that word. Seems to
me that either:
I lean towards 1 or 2. Do you subscribe to 4, or do you have other
alternatives?
> > 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.
>
> Ok, if you hypothesize that Codd used '=' as a binary
> predicate/relation everywhere *except* for truth values in which case
> he used '=' to denote a biconditional, that might make sense.
Point. I agree there is a dichotomy there. So if we then agree that
saying "NULL = NULL is UNKNOWN" implies a redefinition of the
[mathematical] equivalence relation, the question is whether Codd meant
to do this for truth values as well.
You say he didn't, because that would be stupid and break logic.
I say he did, because he doesn't say otherwise; and in fact talks about
'uniform treatment'.
Is that a reasonable summary?
-- JonReceived on Sun Dec 11 2005 - 12:50:52 CET