# Re: NULLs: theoretical problems?

From: V.J. Kumar <vjkmail_at_gmail.com>
Date: Tue, 21 Aug 2007 22:20:03 +0200 (CEST)
Message-ID: <Xns9993A62FF46D6vdghher_at_194.177.96.26>

Jan Hidders <hidders_at_gmail.com> wrote in news: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
>>
>>
>>
>> > On 21 aug, 01:13, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:
>> >> Jan Hidders <hidd..._at_gmail.com> wrote
>>
>> >> > On 20 aug, 17:14, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:
>> >> >> Jan Hidders <hidd..._at_gmail.com> wrote in
>>
>> >> >> > 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.

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 ?

```>
> -- Jan Hidders
>
>
```
Received on Tue Aug 21 2007 - 22:20:03 CEST

Original text of this message