Re: syntax question

Thomas Russ <[email protected]>
Newsgroups gmane.comp.ai.powerloom
Message-ID <[email protected]>
>
> Related to this, have you found a nice idiom for capturing disjoint
> subclassing?
>
> I see that DISJOINT, COVERING, and DISJOINT-COVERING provide the raw
> materials for this.  I was just wondering if you've found a
> particularly convenient syntactic sugar for this, to make it easy to
> develop an axiomatization.  Perhaps it's not necessary, and I just
> need to accustom myself to the notation as is.

I'm answering this one from home, so I can't quite so easily look
up what we have in the (increasingly ancient) released version of
PowerLoom.

In our current development version, there is
    MUTUALLY-DISJOINT-COLLECTION
It asserts pairwise disjointness among all of the listed concepts.
This at least eliminates the need for n^2 disjointness assertions
at the user level.  I don't think this is in the 3.0.2 version.

Any disjoint subclass syntax would need to have some way of
specifying which subclasses were mutually disjoint, since in general
one could have multiple disjoint subclass partitions.  So there
would need to be some method of grouping the appropriate subclasses.
A simple example would be having Male and Female as well as Adult
and Child as subclass partitions of Person.  (Of course these
examples don't cause problems, since they are so small).

The syntax would be
(assert (mutually-disjoint-collecton (setof Male Female)))
(assert (mutually-disjoint-collecton (setof Adult Child)))

(assert (mutually-disjoint-collecton
           (setof Airplane Train Bus Car Bicycle Spaceship)))

etc.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.