Re: daml:SymmetricProperty?

From: Ian Horrocks (
Date: 03/01/01

On March 1, Mike Dean writes:
> DAML+OIL currently supports TransitiveProperty and
> inverseOf.  Should we also be able to indicate a
> SymmetricProperty
>   P(a, b) implies P(b, a)
> such as sibling or spouse?
> I checked and see that OIL [1] supports this.

We can already capture this in daml+oil. To quote from

"DAML+OIL currently does not support SymmetricProperty.  However, the
same effect can be achieved simply by asserting that the property is a
subproperty of its inverse and vice versa (i.e., that the property and
its inverse are equivalent)."

Of course this leads to subProperty cycles.

I think the decision was made not to add an explicit SymmetricProperty
class of properties on the grounds that it wasn't a very widely used
idiom (I don't know of any evidence for or against this suggestion).

> How about ReflexiveProperty
>   P(x, x)
> such as equivalentTo?

Although some daml+oil properties are reflexive (by dint of their
semantics), we cannot in general capture reflexive relations using the
expressive power of the existing language - so adding
ReflexiveProperty would be a real extension and not just syntactic

> I'm told that TransitiveProperty and SymmetricProperty and
> ReflexiveProperty would imply samePropertyAs (equivalence).

I'm not sure I understand this. Transitive, symmetric and reflexive
relations are known as equivalence relations (because they define
equivalence classes), but that isn't the same thing as implying
equivalence. For example, sameColourAs could be an equivalence
relation, but objects having the same colour are not necessarily

> Comments?
> 	Mike
> [1]


This archive was generated by hypermail 2.1.4 : 04/02/02 EST