Re: Undefinedness

From: Cimode <>
Date: Fri, 23 Nov 2007 13:44:18 -0800 (PST)
Message-ID: <>

On 21 nov, 14:34, JOG <> wrote:
> 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 do not understand how you can already go to any form of subtyping without a valid proposition allowing to establish relation R? I suggest decomposing R before attempting to constitute Adults such as...

R := { {(Name, Tom), (Age, 42)}, {(Name, Dick), (Age, 16)}, {(Name,  Harry)} }
into ....(I assume Name as being a unique identifier) RName:= { {(Name, Tom)}, {(Name, Dick)}, {(Name,  Harry)} } -->p1
RAges := { {(Name, Tom), (Age, 42)}, {(Name, Dick), (Age, 16)} } --> p2
You may then constitute....

Adults := { p1 E R1 | EXISTSx ( x > 18 && (Age, x) E p1 ) } Received on Fri Nov 23 2007 - 22:44:18 CET

Original text of this message