next up previous contents index
Next: Inference in Algernon Up: Special Forms Previous: Interacting with the User

Controlling Style of Inference

(:retrieve  predicate)
:retrieve succeeds if the predicate is already in the knowledge base. It does not apply any further rules to attempt to deduce the predicate. :retrieve should be used only in queries. It distributes over functional forms: ((:retrieve (p (f ?x) ?y))) expands to ((:retrieve (f ?x ?$X2)) (:retrieve (p ?$X2 ?y))).

(:w-contra-positive  form tex2html_wrap_inline1480 )
(:wo-contra-positive  form tex2html_wrap_inline1480 )
These forms are used to enable and disable the addition to the knowledge-base of the contra-positives of rules. The default is not to add contra-positives. Contra-positives are used to minimize proofs by contradiction when reasoning with disjunctions (an example of the use of disjunction is given in [Crawford, 90]).

(:in-own-partition  pred)
Provides a primitive mechanism for temporarily changing the active partitions. In general, the active partitions are set by the query or assertion being performed. However, there are cases in which it is clear when writing a rule that a predicate in the antecedent of the rule should be queried in its own partition (usually this is because the predicate is in an obscure partition, but it is important for the query of the predicate to succeed). (:in-own-partition pred) temporarily switches to the partitions of pred and queries (or asserts) pred.gif An example of the use of :in-own-partition can be found in [Crawford, 90].

(:no-completion  form tex2html_wrap_inline1480 )


Micheal S. Hewett
Tue Oct 29 11:15:33 CST 1996