Re: Inference in daml

> Say you have the inference rule:
>
>     isBiggerThan(X, house)->isBiggerThan(X,breadbox)
>
> [...] What is the daml expression of this?

"isBiggerThan" is a Transitive Property for a start, so:-

   :isBiggerThan rdf:type daml:TransitiveProperty .

Where:-

   y(x, p) :- y(x, z), y(z, p), rdf:type(y, daml:TransitiveProperty).

And so I think that the "DAML expression" that you are looking for
is:-

   rdf:type(isBiggerThan, daml:TransitiveProperty),
   isBiggerThan(house, breadbox).

Because from those two triples (and using the definition of a
daml:TransitiveProperty, above, which should be inherent to DAML
processors) you can imply that:-

   isBiggerThan(x, house)->isBiggerThan(x, breadbox)

Which is your original inference rule. You can't state that directly
in DAML, because there is no predicate for "implies", but you can make
statements which people can then derive axioms from using the
defintitions of the DAML terms.

Using log:implies you could state that:-

   { :x :isBiggerThan :house }
   log:implies
   { :x :isBiggerThan :breadbox }
   a log:Truth; log:forAll :x .

Which is RDF (just about...), but not involving DAML.

--
Kindest Regards,
Sean B. Palmer
@prefix : <http://webns.net/roughterms/> .
:Sean :hasHomepage <http://purl.org/net/sbp/> .

Received on Sunday, 17 June 2001 19:28:23 UTC