Re: NULLs: theoretical problems?
Date: Tue, 21 Aug 2007 20:45:50 -0000
Message-ID: <1187729150.610272.117790_at_r29g2000hsg.googlegroups.com>
On 21 aug, 22:20, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:
> Jan Hidders <hidd..._at_gmail.com> wrote innews:1187723867.532149.53830_at_57g2000hsv.googlegroups.com:
>
>
>
> > On 21 aug, 17:19, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:
> >> Jan Hidders <hidd..._at_gmail.com> wrote
> >> innews:1187699645.789970.23980_at_57g2000hsv.googlegroups.com:
>
> >> > On 21 aug, 01:13, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:
> >> >> Jan Hidders <hidd..._at_gmail.com> wrote
> >> >> innews:1187645998.798282.58960_at_g4g2000hsf.googlegroups.com:
>
> >> >> > On 20 aug, 17:14, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:
> >> >> >> Jan Hidders <hidd..._at_gmail.com> wrote in
> >> >> >> news:1187599195.269472.153110 _at_a39g2000hsc.googlegroups.com:
>
> >> >> >> > On 20 aug, 01:48, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:
> >> >> >> >> I wonder what the truth tables for 'AND' and 'OR' would look
> >> >> >> >> like with the DEF operator. Could you show those tables ?
>
> >> >> >> > They would be the usual table you already gave:
>
> >> >> >> >> x y AND
> >> >> >> >> -------
> >> >> >> >> defined
> >> >> >> >> 0 0 0
> >> >> >> >> 1 0 0
> >> >> >> >> 0 1 0
> >> >> >> >> 1 1 1
>
> >> >> >> What is 'x AND y' equal to if x is '1' and y is not defined ?
>
> >> >> > The database would not allow you to write that. If y is nullable
> >> >> > then it forces you to write "DEF y : x AND y".
>
> >> >> What is DEF y : x AND y equal to if x is '1' and y is not defined
> >> >> ?
>
> >> > False. Because DEF y : f(y) means that (1) y is defined and (2)
> >> > f(y) holds.
>
> >> So you convert undefined operands in your logical formulas to
> >> 'false'.
>
> > No. There is no conversion necessary. That's the whole point.
>
> I do not understand. You have:
>
> DEF y y DEF y:y
> 1 1 1 (1)
> 1 0 0 (2)
> 0 0 (3)
>
> So 'DEF y:y' will give the same result when y is either undefined or
> 'false', rows (2) and (3). How is it not substituting 'false' for
> undefined ?
In the way that if y is undefined then "DEF y : f" is not always equivalent with "f[y/false]" i.e. "f" with all free occurrence of y replaced with "false".
- Jan Hidders