Slots on this class:

A relation is a set of tuples that represents a relationship among objects in the universe of discourse. Each tuple is a finite, ordered sequence (i.e., list) of objects. A relation is also an object itself, namely, the set of tuples. Tuples are also entities in the universe of discourse, and can be represented as individual objects, but they are not equal to their symbol-level representation as lists.

By convention, relations are defined intensionally by specifying constraints that must hold among objects in each tuple. That is, a relation is defined by a predicate which holds for sequences of arguments that are in the relation.

Relations are denoted by relation constants in KIF. A fact that a particular tuple is a member of a relation is denoted by (<relation-name> arg_1 arg_2 .. arg_n), where the arg_i are the objects in the tuple. In the case of binary relations, the fact can be read as `arg_1 is <relation-name> arg_2' or `a <relation-name> of arg_1 is arg_2.' The relation constant is a term as well, which denotes the set of tuples.

Subclass-Of: Set


(<=> (Relation ?Relation)
     (And (Set ?Relation)
          (Forall (?Tuple)
                  (=> (Member ?Tuple ?Relation) (List ?Tuple)))))