Undefinedness



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, ***), (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.
.