Next: Inference in Algernon
Up: Special Forms
Previous: Interacting with the User
- (: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 )
- (:wo-contra-positive form )
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. An example of the use of
:in-own-partition can be found in [Crawford, 90].
- (:no-completion form )
Micheal S. Hewett
Tue Oct 29 11:15:33 CST 1996