Re: Undefinedness

From: Marshall <marshall.spight_at_gmail.com>
Date: Wed, 21 Nov 2007 13:50:59 -0800 (PST)
Message-ID: <ff1b6a82-6284-4bf4-ac7e-3245b27a5d30_at_d61g2000hsa.googlegroups.com>


On Nov 21, 5:34 am, JOG <j..._at_cs.nott.ac.uk> wrote:
> Word up CDT.

Hey homes. 'Sup?

> How the devil are you all?

Damn well, thanks. You?

> What if I deigned to create a simple 'adults' subset of this set of
> propositions, by creating a predicate that only returned the elements,
> p, which contained an age attribute greater than 18. Could I state
> this as (where E signifies set membership):
>
> Adults := { p E R | EXISTSx ( x > 18 && (Age, x) E p ) }
>
> My question obviously hinges around Harry's missing age attribute. In
> this case would the EXISTSx (...) part of the set's intension simply
> return a FALSE, or will I end up in the quagmire of 3VL with an
> UNDEFINED? My instinct is that I am still in 2VL given there is no
> null floating about, but since the recent, excellent discussions of
> Jan's DEF operator, and having delved into beeson's logic of partial
> terms, I am not at all confident.
>
> Any comments are much appreciated, and regards to all, Jim.

<insert my usual disclaimer about any such question depending on the semantics of the system under discussion.>

I'd say it's the first one.

Some offhand thoughts:

I believe this example is isomorphic to Jan's DEF constructor.

You can think of any function as data instead of code. So you could remap EXISTS in your example into data. Here, I use _ as a "don't care" value.

R := { {(Name, Tom), (Age, true, 42)},
  {(Name, Dick), (Age, true, 16)},
  {(Name, Harry), (Age, false, _} }

You can decompose this in to two relations, and make Age an optional attribute using the usual technique of having the Age table use a foreign key to the Name table as a primary key. (6NF?) In which case, you can see that the Age table is then a table of ages of people for whom we know their age. This brings us right back to David's response, and the importance of the CWA. So the best query we can do is ask what people do we know to be adults; we cannot ask who the adults are among the people we know. It's not just that we can't get the answer; we can't even ask the question, because there's no way to write that query.)

Marshall Received on Wed Nov 21 2007 - 22:50:59 CET

Original text of this message