CYC® Predicates

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

[Up]Sets and Individuals in CYC®
[Back]Sets and Individuals
[Next]Uses of #$genls and #$isa

#$Predicate is the collection of all CYC® predicates. In CycL, predicates are simply another type of constant, albeit one with many special properties.

The fundamental type of CycL expression is the "atomic formula", where a predicate is applied to one or more terms to indicate some relationship between the things denoted by the terms:

     (<predicate> <term1> <term2> ...)

If there are no variables in the expression, all the terms are said to be "ground", and so the expression is referred to as a "ground atomic formula", or "GAF".

The predicate #$genls is used to indicate that one collection is more general than another, that it is a "superset". For example,

    (#$genls #$Dog #$Animal)

indicates that the collection of animals is a superset of the collection of dogs.

The predicate #$isa is used to indicate that a thing is an instance of (element of) a collection, as in

     (#$isa #$Sparky #$Dog)
     (#$isa #$isa #$Predicate)

where #$Sparky is stated to be an instance of the collection of dogs, and #$isa as a instance of the collection of CYC® predicates.

The predicates #$isa and #$genls are strongly supported by the CYC® system code. There are special datastructures and special code routines inside CYC® which allow rapid, efficient reasoning about collection-membership and collection-supersethood using #$isa and #$genls.

The set-theoretic predicates #$subsetOf and #$elementOf also exist in CYC®. They are applicable to any #$SetOrCollection. However, inferencing with #$subsetOf and #$elementOf is not as strongly supported as that with #$isa and #$genls is. These predicates are not used nearly as often as #$genls and #$isa, which are specifically defined for #$Collections.


[Up] [Back] [Next]
Last Update: 10/26/1998 11:41:22