Re: A Problem With The Semantics of DAML+OIL Restrictions

On July 24, pat hayes writes:
> (Pat, to Tim B-L:)
> 
> > > Obviously,
> > > there are cases where one wants to be able to say this, to be able to
> > > give necessary and sufficient conditions. We do this when we say two
> > > names are equivalent, for example, in effect. But I think your point
> > > arises in the form: how can we adopt this open-ended attitude, and
> > > state necessary conditions on restrictions *without* saying they are
> > > sufficient? That would be easy to characterise semantically, but I
> > > suspect might place a burden on a DAML+OIL reasoner which would break
> > > decideability.  (? Any DL expert care to comment?)
> 
> (Ian:)
> 
> >I'm not sure I understand your concern here. If C is an arbitrary
> >class and R is a restriction, then In DAML+OIL we can state any or all
> >of C -> R, R -> C, or C <-> R (i.e., subClassOf C R, subClassOf R C,
> >sameClassAs C R). This does not have an adverse effect on
> >decidability, and modern DL reasoners (such as FaCT) can easily cope
> >with this.
> 
> I'm not sure I understand it either, but the issue is not in saying 
> these things for class relationships,  but saying the analogous 
> things for restrictions. The answer may be obvious, and if so I 
> apologise, but how would I state necessary but not sufficient 
> conditions on a restriction, in such a way that further conditions 
> could be added monotonically by further statements?

I'm still not clear about the question, but I will do my best...

A restriction is a class constructor (like conjunction, negation
etc.), the result of which is a class. Because of the way the syntax
works it is possible to name a restriction directly, as in:

<daml:Restriction rdf:ID="R">
...

which is equivalent to:

<daml:Class rdf:ID="R">
  <daml:sameClassAs>
    <daml:Restriction>
...

Either of these would have the the effect of making the restriction a
N&S condition for R. If you want the restriction to be only an N condition
of R you can say:

<daml:Class rdf:ID="R">
  <daml:subClassOf>
    <daml:Restriction>
...

If you want it to be only an S condition of R you can say:

<daml:Restriction>
  <daml:subClassOf rdf:resource="#R"/>
...

I hope this is the right answer to the right question :-)

Ian

p.s. N&S were useful terms in old style logical KR systems where each
class name had a unique "definition" (i.e., an inclusion or
equivalence axiom with the class name on the l.h.s.). In this context
it made sense to talk about each of these axioms as stating either the
N or N&S conditions for instances of the named class. In modern
systems like D+O, which support arbitrary inclusion/equivalence
axioms, I think talk of N&S conditions is more confusing than
otherwise - I would prefer simply to talk of inclusion (subClassOf)
and equivalence (sameClassAs) axioms.

Received on Wednesday, 25 July 2001 03:14:44 UTC