Re: The Peter paradox isn't.

Here is my reply to Pat's comments that the restriction I presented does
not indicate a paradox in the same-syntax extension layering of OWL on top
of RDF.




		The Same-Syntax Extension Paradox


Here is a more-detailed derivation of the paradox that I see when producing
same-syntax extensions of RDF.

There are two roads to a paradox.  One of these roads uses features that
are not in DAML+OIL, but exist in some DLs.  The other, longer, more
complicated road uses only features that are in DAML+OIL.

The basic methodology here is to extract the properties of a same-syntax
extension building on the new RDF model theory.  This is mostly done by
determining what entailments (or derivations, if you like) are needed and
seeing what constraints this places on OWL (or OWL+, a more-powerful
version of OWL) interpretations.  I've tried to stay as close to the
terminology in the new RDF model theory as possible.

The summary of all this is that if you want to be a same-syntax extension
of the RDF model theory and you have
a) rdf:type as a property;
b) defined classes, like DAML+OIL restrictions;
c) some sort of complement or negation; and
d) self reference
then you have a semantic paradox.  The first requirement, of course, is
satisfied by RDF itself.


1/ First, consider classes defined as intersections.

   If John is in both A and B, 
   then John is in the (an) intersection of A and B.

   <John, rdf:type, A>, <John, rdf:type, B> 
   |= <John, rdf:type, :_1>, <:_1, owl:intersectionOf, :_2 >,
      <:_2, owl:first, A>, <:_2, owl:rest, :_3>, 
      <:_3, owl:first, B>, <:_3, owl:rest, owl:nil>,

   This is only a valid entailment if all satisfying OWL interpretations of
   the first two statements contain an intersection class for A and B.

   This example motivates the inclusion of lots of things that must be in
   OWL interpretations.  In particular, if A and B are classes, then there
   must be a list whose members are A and B, in that order, and there must
   be a class that is the intersection of this list.  Note that I have not
   shown that there has to be a unique list consisting of A and B in that
   order, just that there must be at least one.  Nor have I shown that
   there has to be a unique class that is the intersection of this list,
   just that there must be at least one.

   Also, there are lists and classes that have to be in all OWL
   interpretations.  For example, in all OWL interpretations there must be
   at least one list whose sole member is the denotation of rdfs:Class and
   there must be a class that is the intersection of this list.


2/ Now, consider classes that are finite sets.

   rdfs:Class is always in the class consisting of rdfs:Class

   |= <rdfs:Class, rdf:type, :_1>, <:_1, owl:oneOf, :_2 >,
      <:_2, owl:first, rdfs:Class>, <:_2, owl:rest, owl:nil>

   This example motivates the existence of finite sets in OWL
   interpretations.  In particular, if i is an object, then there must a
   list whose sole member is i, and there must be a class that is the oneOf
   of this list.

   Some of these classes must be in all OWL interpretations.  For example,
   there must be a class in all OWL interpretations that is the oneOf of a
   list whose sole member is the denotation of rdfs:Class.


3/ Next consider DAML+OIL restrictions.

   If John has a child that is a Person, then John belongs to the
   Restriction that requires that its members have a child that is a
   Person.

   <John, child, Joe>, <Joe, rdf:type, Person>
   |= <John, rdf:type, :_1>, <:_1, rdf:type, owl:Restriction>,
      <:_1, owl:onProperty, child>, <:_1, owl:hasClass, Person>

   This is only a valid entailment if all satisfying OWL interpretations of
   the first two statements contain a restriction of the above form.

   This example motivates the inclusion of lots of restrictions in OWL
   interpretations.  In particular, if p is a property and c is a class,
   then there must be a restriction on p having class c.  Again I have not
   shown that there must be a unique restriction of this form, just that
   there has to be at least one.  So, in general if the objects mentioned
   in a restriction exist in an OWL interpretation then there must be such
   a restriction in the interpretation.

   As above, there are restrictions that have to be in all OWL
   interpretations.  In particular, in all OWL interpretations there must
   be a restriction on the denotation of rdf:type having class the
   denotation of rdfs:Class.


Now there are two roads that can be pursued.  The easier road is to go
outside of the expresssive power of DAML+OIL, allowing an identity property
and local relationships between properties.  I'll call this more-powerful
version of OWL OWL+.


4/ A restriction that consists of those objects where rdf:type is not a
   superproperty of the identity property can be constructed using the
   above features.  There is no syntax for this, but one way might be

   <:_1 rdf:type owl:Restriction>
   <:_1 owl+:onProperty owl+:identity>
   <:_1 owl+:notSuperProperty rdf:type>

   This is the Russel set, as an object belongs to this restriction if and
   only if it is not related to itself by the rdf:type property.  

   More fully, is this restriction related to itself by the rdf:type
   property?  Well if it is, then it is not an instance of itself because
   it violates the conditions in the restriction, and thus it is not
   related to itself by the rdf:type property.  However, if it isn't, then
   it is an instance of itself because it satisfies the conditions in the
   restriction, and thus it is related to itself by the rdf:type property.
   So rdf:type is ill-defined on this restriction and thus it has no
   satisfying OWL+ interpretations.

   However, this restriction only mentions objects that exist in all OWL+
   interpretations.  Therefore a restriction of this form exists in all
   OWL+ interpretations.  Therefore all OWL+ interpretations are
   ill-formed, so OWL+ has a semantic paradox.


The harder road stays within DAML+OIL, using circular or self references
instead of an identity property.


5/ First, a simple kind of self-reference.

   If John is in a restriction C whose p's all belong to C, 
   then John is in some restriction whose p's all belong to it.
   If Bill has no p's, then then Bill is in some restriction whose p's all
   belong to it. 

   <John, rdf:type, C>, <C, rdf:type, owl:Restriction>,
   <C, owl:onProperty, p>, <C, owl:toClass, C>
   |= <John, rdf:type, :_1>, <:_1, rdf:type, owl:Restriction>,
      <:_1, owl:onProperty, p>, <:_1, owl:toClass, :_1>

   This is a valid entailment, showing that restrictions can point back to
   themselves. 


6/ Now, a self-referential restriction that is entailed by statements that
   are not self referential.

   If John has no p's, then John is in some restriction whose p's all
   belong to it. 

   <John, rdf:type, :_1>, <:_1, rdf:type, owl:Restriction>,
   <:_1, owl:onProperty, p>, <:_1, owl:maxCardinality, "0">
   |= <John, rdf:type, :_2>, <:_2, rdf:type, owl:Restriction>,
      <:_2, owl:onProperty, p>, <:_2, owl:toClass, :_2>

   From the previous entailment, restrictions that point back to themselves
   are allowed.  Given that they are allowed, the above entailment is
   mandated, John is a member of any restriction whose c's all belong to it
   because he has no c's.

   Therefore, OWL interpretations must include self-referential
   restrictions.  In particular, is c is a property, then there must be a
   restriction that is all c's belong to itself.

   Again, restrictions of this form exist in all OWL interpretations.  In
   particular, all OWL interpretations must contain restrictions whose
   condition is that all rdf:type's belong to the restriction.


7/ Next, a more complex self-referential restriction.

   If John has no c's, then John is in some restriction that has no c's
   that are the restriction itself.

   <John, rdf:type, :_1>, <:_1, rdf:type, owl:Restriction>,
   <:_1, owl:onProperty, c>, <:_1, owl:maxCardinality, "0">
   |= <John, rdf:type, :_2>, <:_2, rdf:type, owl:Restriction>,
      <:_2, owl:onProperty, c>, <:_2, owl:maxCardinalityQ, "0">,
      <:_2, owl:hasClassQ, :_3>,
      <:_3, owl:oneOf, :_4>, <:_4, owl:first, :_2>, <:_4, owl:rest, owl:nil>

   This is just a combination of previous stuff.

   In particular, if c is a property then there must be a restriction that
   whose condition is that no c's belong to the oneOf of itself. 


From the above, a restriction like

   <:_2, rdf:type, owl:Restriction>,
   <:_2, owl:onProperty, rdf:type>, <:_2, owl:maxCardinalityQ, "0">,
   <:_2, owl:hasClassQ, :_3>,
   <:_3, owl:oneOf, :_4>, <:_4, owl:first, :_3>, <:_4, owl:rest, owl:nil>

must be in all OWL interpretations that have rdf:type as a property.  But
this is all OWL interpretations.

Now is this restriction related to itself by rdf:type?  If it is, then it
is not; but if it is not, then it is.  Thus any OWL interpretation
containing this restriction is ill-formed.  But this is all OWL
interpretations, so OWL has a semantic paradox.

Received on Tuesday, 19 February 2002 09:21:38 UTC