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



In article <1133496446.794271.267450@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
boston103@xxxxxxxxxxx says...
>
> 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"

I take this to mean that Codd's example is *not* a tautology (in 3VL),
whereas Codd claims that it is. In other words, a mistake on Codd's
part.

> > Because the result of the the evaluation of equivalence
>
> of what ?

of two 3VL-boolean expressions

> > and equality
>
> of what ?

of two 3VL-boolean expressions

> > 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)

I think you are missing a "not" there.

> 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.

Thank you so far. Now, can you explain equality too, and how it differs?
Is "p & q" equivalent to "not (not p or [not] q)", but not equal? Are
"0", "1" and "2" wffs? Is it equality or equivalence that are used in
conditions in programming languages, e.g. in a relational restriction?

> > 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?

Would you say that 0 <=> 0? Would you say that 0 = 0?

> > 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 ?

I'll ask you again: Do you claim that when null is encountered as a 3VL
boolean (lukasiewiczian?), Codd says null = null should yield true?

> When we use {0,1,2} in the 3vl, we do not claim that 0,1,2
> are integers, do we ?

I don't know why you keep bringing this straw man up. What I *do* claim
is that a system where the symbols 0,1,2 are used for *both* 3VL truth
values *and* integers, with different rules for each, is confusing and
badly designed.

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

And my point is that it is not a good idea to do so *within the same
system*.

> 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 ?

If his system included fraction computation as well as logic, yes! If it
didn't (and I doubt it did), then no.

> > 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.

We use the symbol NULL for "", just like it is used for the UNKNOWN
truth value (0 or 1/2, whatever). Surely there is no problem? After all,
the context is different.

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

Shall we agree to disagree?

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

I'll ask you yet again: Do you claim that when null is encountered as a
3VL boolean (lukasiewiczian?), Codd (or SQL) says null = null should
yield true?

> > > > 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 ?

Define 0, 1, 2 and = so that 0 = 0, 1 = 1 and 2 = 2. Or 1/2 = 1/2, for
that matter.
--
Jon
.



Relevant Pages

  • Re: So whats null then if its not nothing?
    ... Or the equivalence truth table? ... > It's very strange that Codd references neither Lukasiewicz nor Kleene, ... >> Lukasiewicz's, but for the imlication and equivalence, they are ... > "same string of symbols denoting the same things" equality. ...
    (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?
    ... 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)
  • 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)