As an example of a set of slots, consider the set transitive-relations . For this set one might want a rule like:
(:srules transitive-relations ((?r ?x ?z) <- (?r ?x ?y) (?r ?y ?z)))One could then assert that (isa (:slot less) transitive-relations) and the rule above would enable Algernon to conclude (less frame1 frame3) from (less frame1 frame2) and (less frame2 frame3). (This rule for transitivity is too in-efficient for use in a large knowledge-base. A more efficient variant is used in the background knowledge-base described in section 4.)
Note that this rule for transitive relations has a variable in the slot position. Such rules are called generic rules and can be associated with sets of frames or slots (though obviously not with individual slots). Such rules pose no computational difficulties for Algernon (since the slot being queried or asserted is always known), and should be considered to be shorthand for repeating the rule once for each slot.