# Re: NULLs: theoretical problems?

From: V.J. Kumar <vjkmail_at_gmail.com>
Date: Sat, 25 Aug 2007 16:32:13 +0200 (CEST)
Message-ID: <Xns99976B31DD5AFvdghher_at_194.177.96.26>

Jan Hidders <hidders_at_gmail.com> wrote in news:1188040682.225629.211180_at_q3g2000prf.googlegroups.com:

```>> Jan Hidders <hidd..._at_gmail.com> wrote
>>
>> > On 25 aug, 01:35, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:
>> >> Are you saying that 'DEF t.a : (t.a = 5 OR TRUE)' evaluates to
>> >> 'false' ?
>>
>> > It evaluates to 'false' if t.a is undefined, and to 'true' if it is
>> > defined.
>>
>> >> Please give us the DEF operator interpretation rules.  Without the
>> >> rules the discussion quickly becomes rather meaningless,  really !
>>
>> > I've already done that twice. So for the third time: The formula
>> > "DEF c : f(c)" evaluates to true if c is defined and f(c) evaluates
>> > to true, and to false in all other cases.
>>
>> Very well.  Now that we have the rules, let's consider some aspects
>> of the DEF logic that I've already mentioned but do not mind
>> repeating my words again:
>>
>> 1.  The classical logic 'x or true=true' does not hold if x is
>> undefined.
```

>
> In the allowed formulas x cannot be undefined. So the logic doesn't
> say anything about whether it holds or not holds.
>
```>> 2. The classical logic  'x or not x = true' does not hold if x is
>> undefined.
```

>
> Also here, in the allowed formulas x cannot be undefined.
>
```>> Parenthetically,  I find your complaint about the  same
>> phenomenon in the SQL three-valued logic,  well, mysterious taking
>> into account the fact that the DEF logic has the same defect !
```

>
> It doesn't. In the allowed formulas it holds.
>
```>> Apparently,
>> the DEF logic behaves the same way as the SQL three-valued logic does
>> in all the cases except (1).
```

>
> There are other cases as well. All rules from 2VL logic apply in the
> allowed formulas so everywhere that 2VL differs from 3VL there def
> logic will also differ from 3VL.
>

What's this "allowed" beast ? Clearly, 'def(x):(x or not x') is allowed so your argument is without merit ! Likewise, 'def(x):(x or true)'

> -- Jan Hidders
>
Received on Sat Aug 25 2007 - 16:32:13 CEST

Original text of this message