Re: model theory of error

Michael Kifer wrote:

> 5. For predicates, we have two options.
>    a. The simplest option is to say that a predicate, p(a,b,c,...), is false if
>       any of its arguments evaluates to _|_ in the interpretation.
> 
>    b. This option introduces a new truth value, called E (error) such that 
>       ~E = E, E/\F=F, E/\T=E, E\/F=E, E\/T=T. Then we can say that
>       p(a,b,c,...) has truth value E if at least of of the args is _|_.
> 
>   The advantage of option (b) over option (a) is that we have an explicit
>   representation for errors. 
>   The disadvantage is that it is much more complicated. Many results need
>   to be ported to account for this new truth value, and I did not check
>   this carefully. Quite possible that this idea breaks somewhere.
> 
>   I think option (b) is too much work for very little gain.
> 
> 
> Comments? (esp. if anyone can see whether option (a) breaks somewhere)

As Axel has already pointed out (b) seems to be the same as the SPARQL 
approach. So adopting this would simplify the life of implementers who 
want to support both (like us) and hence is preferable.

How would (a) behave in a future dialect extension with negation?
Using (b) then it is clear that both p(a,...) and not p(a, ...) yield E 
if any of the argument evaluates to _|_.

Dave
-- 
Hewlett-Packard Limited
Registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England

Received on Monday, 7 January 2008 16:22:37 UTC