Facts are retrieved from an Algernon knowledge-base by following access paths of alternating frames and slots, in which each frame is only accessed if it appears in a known slot of a known frame. Syntactically, a sequence of atomic formulae defines an access path iff any variable appearing as a predicate-symbol or as the first argument to a predicate has appeared previously in the sequence.
An Algernon knowledge base contains rules as well as facts. Rules are of two types:
In almost all cases, a rule is associated with the slot of the frame specified in its key: the left-most atomic formula in the rule. (The exceptions are generic rules, associated with sets of slots, where the specific slot is determined by the actual assertion or query.) When a rule is invoked, the asserted or queried formula is unified against the key. Starting with these bindings, the antecedent of the rule must be an access path. The antecedent is queried, and the consequent is asserted for every set of bindings resulting from the query of the antecent. (See Algernon for Expert Systems for examples.)