From: JOG <jog_at_cs.nott.ac.uk>
Date: Wed, 21 Nov 2007 05:34:59 -0800 (PST)
Message-ID: <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. Received on Wed Nov 21 2007 - 14:34:59 CET

Original text of this message