Path: utzoo!attcan!uunet!timbuk!cs.umn.edu!ub.d.umn.edu!rutgers!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu!dsinc!netnews.upenn.edu!grad2.cis.upenn.edu!aaron From: aaron@grad2.cis.upenn.edu (Aaron Watters) Newsgroups: comp.databases Subject: Re: errors and 4 valued logic Keywords: logic, truth values Message-ID: <32358@netnews.upenn.edu> Date: 6 Nov 90 14:22:10 GMT References: <694@creatures.cs.vt.edu> Sender: news@netnews.upenn.edu Reply-To: aaron@grad1.cis.upenn.edu (Aaron Watters) Distribution: na Organization: University of Pennsylvania Lines: 50 The question at hand is: What are the appropriate 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.' About which... In article <694@creatures.cs.vt.edu> holliday@csgrad.cs.vt.edu (Glenn Holliday) writes: >Chuck Phillips writes: > I think this is another example of Neat vs Scruffy, otherwise known >as "What does logic _mean_" vs "How does the database work?". If you say so. >The examples >can be logically represented to model any domain you like. Whether you >want them to be false or errors depends completely on what domain you >define. I don't agree at all. B=not H. If one is true then the other is false and that's that. Since at an intuitive level I can admit neither B or H as a true statement, I am forced to consider an additional truth value called `error' (or `overdefined') in order to deal with such statements. (I've had personal correspondence with a constructivist who argues that B must be true since we cannot produce a hair off the king's head -- I maintain this does violence to ordinary common sense, even if it is an internally consistent position.) >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. Something is false if it is incorrect, not just because I cannot prove it to be true. To call mechanisms that do not make this distinction `logical' is a perversion of language. > To call both of these [B and G?] >false, 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. >Glenn Holliday holliday@csgrad.cs.vt.edu I'm afraid I don't understand this. -aaron PS: recap of my position B=H=error. G=false.