Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!meaddata!gordon From: gordon@meaddata.com (Gordon Edwards) Newsgroups: comp.databases Subject: Re: errors and 4-valued logic Message-ID: <1602@meaddata.meaddata.com> Date: 12 Oct 90 12:48:09 GMT Sender: usenet@meaddata.com Distribution: comp Organization: Mead Data Central, Dayton OH Lines: 50 In article <30999@netnews.upenn.edu>, aaron@grad2.cis.upenn.edu (Aaron Watters) writes: |> In response to my brief account of one variety of 4-valued logic |> where I claimed: |> |> `the king of North America is bald' is error. |> |> Chuck Phillips writes: |> :Clairification: A statement requiring the existance of the non-existant to |> :be true, is simply false, not an error. However, a domain violation _is_ |> :an error. (e.g. "I am green years old.") |> : |> :If "king" is an out-of-band attribute, then the statement is an error; if |> :"king" is within the defined domain, then the statement is simply: |> :false. |> |> Now I'm willing to admit that this may be what the Prophet Codd says, but |> I respectfully disagree. |> |> if ``The king of North America is bald'' is false then we infer |> that ``The king of North America has hair'' must be true, right? I respectfully disgree with your disagreement. :-) You treat the statement, "The king of North America is bald" as having a single semantic. What you really have is: assertion :- is_ruled_by(North_America, king), is(king, bald). /* read as pseudo prolog */ Both predicates must evaluate to true for the assertion to be true. North America does not have a king, but North America could potentially be ruled by a king. Any land mass that supports human life can have any form of government so I don't think we have a domain problem. Since the first predicate is false, the assertion is false without saying anything about the baldness predicate. |> However neither statement can be meaningfully asserted to be true |> because there is no king of North America. My favorite |> version of 4-valued logic resolves this difficulty by calling |> both statements `overdefined' or `erroneous.' I would argue that |> treating either statement as having a truth value is |> actually illogical. -aaron. |> |> PS: I also claim that `I am green years old' can reasonably be |> treated as false. OK, I'll bite. How? -- Gordon (gordon@meaddata.com)