Re: Undefinedness

From: Jan Hidders <hidders_at_gmail.com>
Date: Fri, 23 Nov 2007 10:06:51 -0800 (PST)
Message-ID: <46b18d2e-3a66-457d-b4ab-b7c98753cd2b_at_l1g2000hsa.googlegroups.com>


On 23 nov, 12:31, "David Cressey" <cresse..._at_verizon.net> wrote:
> "JOG" <j..._at_cs.nott.ac.uk> wrote in message
>

> news:ea3deb47-3697-4eb5-8b4f-34cf2ef2ec25_at_t47g2000hsc.googlegroups.com...> On Nov 21, 2:22 pm, "David Cressey" <cresse...@verizon.net> wrote:
> > > "JOG" <j..._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.
>
> > While I was only really concerned about whether my logic statements
> > are sticking to 2VL internally, you've sent me off at a tangent here
> > because CWA is one of my bugbears. Imho its at best silly, and at
> > worst contradictory. Take relations such as:
>
> > Weather_is = { condition: Hot }
> > Weather_is_not = { condition: Cold }
> > Domain = {Hot, Cold}
>
> > Perfectly fine with full information, and a constraint that a
> > condition can't appear in both. And I can happily extrapolate from CWA
> > from the first relation that: !is(condition:cold)), and from the
> > second !is_not(condition:hot). Nice...
>
> > ...until we're faced missing information. If both relations are empty
> > (because we just don't have the data say), then CWA tells me that:
> > !Weather_is(condition:Hot) and !Weather_is_not(condition:Hot). It is
> > both hot and not hot. Genius. I don't see how CWA based directly on
> > what propositions state can ever be justified for a system working in
> > the real world (TM).
>
> In theory, you never have to be concerned about missing information. In
> practice, you do.

I know that's not how you meant "in theory", but in current research in database theory this is actually a hot topic, especially in connection with missing or uncertain information (including null values) and also with data integration where the classical CWA almost never fully applies. There's a whole spectrum between the full CWA and the OWA that go from stronger assumption to weaker assumptions. It can for example be that the CWA applies only to certain selections or projections of the relation.

> The best we can hope for is that database will not amplify the mistakes
> people make, at least not very often.

That seems to me almost unavoidable. Any system that enhances your power is likely to amplify the magnitude of your mistakes. The best we can do is to make the people that deal with these systems aware of these dangers and train them well. They should hire more database professors. ;-)

  • Jan Hidders
Received on Fri Nov 23 2007 - 19:06:51 CET

Original text of this message