Re: owl:Thing (was Re: Managing Co-reference)

On May 21, 2008, at 10:17 PM, Peter Ansell wrote:

> 2008/5/21 Bijan Parsia <bparsia@cs.man.ac.uk>:
[snip]
>> This isn't how they are defined. They are defined in terms of the  
>> model
>> theory, to wit, in any interpretation (thus any model) owl:Thing  
>> contains
>> all the elements of the interpretation (intuitively, all the  
>> individuals)
>> and owl:Nothing is the empty set. Obviously, the universal set (or  
>> a given
>> domain) and the empty set are complements, hence the tautologies/ 
>> theorems
>> you list above. You, of course, don't need such distinguished  
>> symbols, since
>> you do have negation in OWL, you can always introduce them by a  
>> definition.
>> Pick an arbitrary class name, C, then owl:Thing == (C or ~C) and  
>> owl:Nothing
>> == (C and ~C). Obviously, once you have one, you could always  
>> define the
>> other in the manner you list above.
>
> The problem I see might be more clear as follows:
>
> owl:Thing : {owl:Nothing ^ ~owl:Nothing}

If "^" means "and" that's wrong. It should be "or"

> owl:Nothing : {~owl:Thing}

That's fine. I'm not sure what the braces mean.

> substituting owl:Thing into owl:Nothing you get,
>
> owl:Nothing : {~{owl:Nothing ^ ~owl:Nothing}}

Uhm. I think you mean owl:Nothing = ~owl:Nothing & owl:Nothing.

That's fine.

> I just don't see how that can be a consistent definition for an empty
> set.

Well, remember that in propositional logic you can substitute pretty  
freely.

If C then C&~C.

Is perfectly grammatical and meaningful. It can even be true (e.g.,  
if C is false). It can't be true if C is true.

> How can you define something as the complement of a set which
> includes itself in it?

It doesn't include itself. Equivalence isn't a membership  
relationship. it says that the two sides *have all the same members*.

So, Nothing = ~owl:Thing should be read as:

The class named "Nothing" contains, in every interpretation, exactly  
the individuals that are not instances of the class named "Thing".  
Since Thing, by definition, contains every individual, Nothing must  
be empty.

Similarly, Nothing = Nothing and ~ Nothing should be read as:

The class named "Nothing" contains, in every interpretation, exactly  
the individuals that are instances that are members of the class  
Nothing (well, we can stop here since there are no instances).

Nothing = C and ~C

The class named "Nothing" contains, in every interpretation, exactly  
the individuals that are instances of the class C and *not* instances  
of the class see. obviously there are no such instances, so Nothing  
is the empty set.

> The definition may be in the model but it
> appears inconsistent in this interpretation.

Nope. See the simple model theoretic given above.

> I am not big on playing
> games with "empty sets" or "zero" to make things appear consistent as
> they usually mask higher conceptual problems that (would/may) manifest
> themselves when you actually get to utilising them.

I don't know what you mean here. Nothing and Thing are very bog  
standard. And they are definable in the logic without reference to  
those symbols, e.g.,

myThing = C or ~C (for some arbitrary class name "C")
myNothing = C and ~C (for some arbitrary class name "C").

Thus, strictly speaking, they are syntactic sugar. So they are not  
add ons or weird things, they are deeply part of the logic which is,  
after all, a fragment of first order logic.

Cheers,
Bijan.

Received on Wednesday, 21 May 2008 22:00:03 UTC