## Partitioning Collections

E-Mail Comments to: doc@cyc.com
Copyright© 1996, 1997, 1998 Cycorp. All rights reserved.

| Sets and Individuals in CYC®
| Covering Collections
| Sets Defined by Internal CYC® Functions

When we initially described #$Thing, we informally said that it was partitioned into #$SetOrCollection and #$Individual. Partitioning is expressed in the KB in a similar way to the covering relationships described in the previous section.

A collection is covered by its partitions. But unlike a covering set, the elements of a partitioning set must be subsets of the partitioned collection, and must be mutually disjoint. Thus, every instance of the partitioned collection must be an instance of one and only one of the partitions.

The partitions are specified using the function #$ThePartition. The set created by this function is linked to the partitioned collection by the predicate #$partitionedInto. In the case of #$Thing, the following assertions hold:

         (#$partitionedInto #$Thing (#$ThePartition #$SetOrCollection #$Individual))
         (#$partitionedInto #$Thing (#$ThePartition #$Intangible #$PartiallyTangible))

Or, for the following example:

         (#$partitionedInto Z (#$ThePartition D E F))

The collection Z is partitioned by collections D, E, and F, each of which is an #$elementOf the set created by #$ThePartition.

The constant Q is in violation of the partitioning constraints since it is an instance of G (and hence of Z) but it is not an instance of either D, E, or F.

The constant V is also in violation of the partitioning constraints due to the fact that it is an instance of both D and E.

The relation (#$genls F E) makes F vacuous since any instances will also violate the partitioning constraints.

Last Update: 10/26/1998 11:41:17