Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!vtserf!creatures!csgrad!holliday From: holliday@csgrad.cs.vt.edu (Glenn Holliday) Newsgroups: comp.databases Subject: Re: errors and 4 valued logic Summary: logic wants understanding of domains Keywords: logic, error, domain Message-ID: <720@creatures.cs.vt.edu> Date: 18 Nov 90 03:34:28 GMT Sender: usenet@creatures.cs.vt.edu Reply-To: holliday@csgrad.cs.vt.edu (Glenn Holliday) Organization: Virginia Tech Computer Science, Blacksburg, VA Lines: 91 aaron@grad2.cis.upenn.edu (Aaron Watters) writes: > Once again we are concerned with the truth values > for the following statements > B: `the king of north america is Bald.' > H: `the king of north america has Hair.' > G: `I am Green years old.' Indeed! And I think I finally understand why we are disagreeing. I think you want B H and G to be different kinds of objects than I do. The most important point is that we are interested in how to get real life databases to make useful decisions when faced with unusual values. >I claimed B = not H, B=H=error. You assign TRUE or FALSE to each of B, H and G. I don't think that's possible. Chuck Phillips (Chuck.Phillips@FtCollins.NCR.COM) also took my path when he broke these down into >B1: There exists exactly one king of North America. >-and- >B2: The king of North America is bald. >H1: There exists exactly one king of North America. >-and- >H2: The king of North America is not bald. >It is true that B2 and H2 cannot both be true. Further, since B1=H1=FALSE, >it follows (B1 and B2)=(H1 and H2)=B=H=FALSE. Aaron Waters argues >In logic you cannot in general >replace a constant with an existential statement in this manner. To >my mind the noun `the king of north america' does not correspond to >any existential statement it corresponds > in logic to a constant > in pascal (ml) to a pointer (reference) > in O-O dbs's to an object. Exactly! Each of your statements H B and G are not constants. They are intended to model more than one chunk of information about the objects "king", "north america", "hair", etc. If you _do_ treat them as logical constants, then your argument is correct. But I believe they have lost all meaning if you do that. Assigning truth values to H B and G says nothing about the real-world domain we're trying to model and reason about in our database. Your programming-language restatement is good. But pointers to data structures do not have truth values. We need to look inside the structures and reason about the meanings of the data values and relationships between them. >>If any object can be in the domain, you can infer true statements >>or fail to infer them, which makes them false (_if_ you define your logical >>system to give that meaning to false!). >this is Reiter's closed world assumption, which I've always regarded >as a convenient technical assumption that is not really justifiable >in general. >>your database wants rules that say >>1. The domain for every object/entity must be completely defined. >>2. Any purported value which does not fall within the appropriate domain is >> reported as an error. >>3. Any reference to a value which does not exist (but would fall within an >> appropriate domain if it did exist) is reported as an error. >I'm afraid I don't understand this. -aaron My basic point is, before we can use formal logic in databases, we need to decide how logic should work in a real database system, what are the meanings of the possible data in the database, and what are sensible/useful behaviors when we try to reason on values that are "funny" in one way or another. You don't have to use the closed world assumption -- but you have to decide how to recognize an error and what to do about it. >Consider a query about a circular list L of integers > Query: Is the first entry of the list less than 3? > Answer: No. >Don't you think it would be better to get `error' signifying >that there is no such first entry? I think it would be better to get Answer: No first entry is defined on this domain. -- Glenn | holliday@csgrad.cs.vt.edu OR Holliday | glenn%bayberry@chado.fidonet.org OR | GHOLLID@access.nswc.navy.mil (Internet)