Re: Possible semantic bugs concerning domain and range

On September 27, pat hayes writes:
> 
> >Pat,
> >
> >Now we seem to have a come to a better understanding about the
> >correspondence between FOL and OWL, could you re-answer the following
> >question.
> >
> >Thanks,
> >
> >Ian
> >
> >>Pat,
> >>
> >>DAML+OIL, and I hope OWL, can be viewed a fragment of FOL, with atomic
> >>classes and properties corresponding to unary and binary predicates
> >>respectively. According to this correspondence, subClassOf axioms
> >>become implications, e.g., A subClassOf B corresponds to:
> >>
> >>forall x . A(x) -> B(x)
> >>
> >>Similarly, a property range axiom P range A corresponds to:
> >>
> >>forall x,y P(x,y) -> A(y).
> >>
> >>What could be simpler and clearer than that?
> >>
> >>The combination of these two sentences entails
> >>forall x,y P(x,y) -> B(y).
> >>
> >>What could be simpler and clearer than that?
> >  >
> >  >If you want some alternative semantics, could you please explain in
> >  >similar terms what it is?
> 
> Sure. I agree this is clear and simple, and I think everyone agrees 
> that something very close to this is what we all want. The issue has 
> always been only whether those conditions are necessary, or necessary 
> and sufficient. We all want the following to be true:
> 
> Range(P, A) -> (forall x,y P(x,y) -> A(y) )
> 
> You want
> 
> Range(P,A) <-> (forall x,y P(x,y) -> A(y) )
> 
> They are about equally clear and intuitive; but the latter rules out 
> some possibilities which the former permits. I believe that all the 
> 'intuitive' entailments that people want in fact hold in both these 
> cases; and that the former is therefore to be preferred.

I am agnostic about which of these is to be preferred - as a humble
engineer, all I need to know is which one it is so that I have a clear
spec to which I can build my systems.

One point that is worth making though is that there are a number of
similar statements that can be made about OWL properties, and that it
may make sense to give them a uniform semantics, i.e., all treated as
implication or all treated as bi-implication. E.g., we also have:

Domain(P,C) implies/iff (forall x,y P(x,y) -> C(x))
TransitiveProperty(P) implies/iff (forall x,y,z (P(x,y) ^ P(y,z)) -> P(x,z))
SymmetricProperty(P) implies/iff (forall x,y P(x,y) -> P(y,x))
FunctionalProperty(P) implies/iff (forall x,y,z (P(x,y) ^ P(x,z)) -> y=z)
InverseFunctionalProperty(P) implies/iff (forall x,y,z (P(y,x) ^ P(z,x)) -> y=z)
inverseOf(P,Q) implies/iff (forall x,y P(x,y) -> Q(y,x))

We already had the discussion w.r.t. transitive (or was it
functional). I argued for implies semantics, but the general view
seemed to be that iff semantics should hold (and by extension that it
should hold for all the above statements).

Ian


> 
> The potential utility of the former is that it allows ranges to have 
> properties.  Suppose we wanted to say something about ranges (perhaps 
> ranges from a particular class of ranges), expressed by a predicate 
> Q:  Range(P, x) -> Q(x), say. (It is SUCH a relief to be able to 
> write logic!) With the second, stronger condition, this would entail 
> that Q was preserved under implication, ie
> (forall x (P(x) -> R(x)) -> (Q(P) -> Q(R))
> which is a very strong condition for Q to have to satisfy for no good 
> reason; in fact, it is so strong that it would make this practically 
> useless, since hardly any useful properties satisfy this kind of 
> condition (it is restricted to properties like having more than a 
> certain number of instances, things like that.)
> 
> I hope this helps to make the point clearer.
> 
> Pat
> 
> -- 
> ---------------------------------------------------------------------
> IHMC					(850)434 8903   home
> 40 South Alcaniz St.			(850)202 4416   office
> Pensacola              			(850)202 4440   fax
> FL 32501           				(850)291 0667    cell
> phayes@ai.uwf.edu	          http://www.coginst.uwf.edu/~phayes

Received on Monday, 30 September 2002 10:03:14 UTC