# Re: Undefinedness

Date: Wed, 21 Nov 2007 14:22:40 GMT

Message-ID: <QaX0j.9266$701.8555_at_trndny08>

"JOG" <jog_at_cs.nott.ac.uk> wrote in message
news:84c11971-6500-48e4-ba0f-b8b659f390da_at_d61g2000hsa.googlegroups.com...

> Word up CDT. How the devil are you all? Well, I return with a question

*> that as ever highlights my complete lack of formal mathematical
**> training, and in light of knowing no logicians in my daily life (funny
**> that), I was hoping that one of you kind folks might be able to
**> advise:
**>
**> Say I had a set of 3 encoded propositions:
**> R := { {(Name, Tom), (Age, 42)}, {(Name, Dick), (Age, 16)}, {(Name,
**> Harry)} }
**>
**> (note that Harry's Age is missing, so instead of adding a null, i've
**> intentionally just left the attribute out. Just ride with such oddness
**> for now if you would.)
**>
**> 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.
*

I'm no mathematician or logician, but I'll answer anyway.

To me, it dpends on whether the relationship (Name, Age) follows the open world assumption or the closed world assumption. If it's the closed world assumption, then we would have to say that Harry is not included with the adults. However, if we defined another set, Children,

Children := { p E R | EXISTSx ( x < 19 && (Age, x) E p ) }

Please note that Harry is excluded from Children as well.

If we had a rule that says that every person mentioned in R is either a child or an adult, that would be tantamount to requiring that the entry for Harry be rejected at time of insertion.

BTW, I see nothing odd about your notation. NULLS are not needed. Hwever, your proposition R actually contains two propositions: first that the named person exists, and second that the person named with an age has that age. Received on Wed Nov 21 2007 - 15:22:40 CET