;;; DEDUCE is a deductive retrieval system which uses generators to retrieve one ;;; answer at a time and also generates proofs. It currently supports only ;;; backward chaining. A depth bound in number of rules can be given. ;;;; Copyright (c) 1988 by Raymond Joseph Mooney. This program may be freely ;;;; copied, used, or modified provided that this copyright notice is included ;;;; in each copy of this code and parts thereof. ;;; Variables are represented with a leading "?". Backchaining rules are of ;;; the form (<- consequent . antecedents) and are indexed by predicate name ;;; of the consequent (i.e. "CAR indexing"). The function index-brules can be ;;; used to enter these rules. Facts are also indexed by predicate and ;;; the function index-facts can be used to enter them. ;;; The file CUP-DOMAIN is an example of a domain file which defines rules and facts ;;; The function clear-facts clears the database of facts and the function dump-facts ;;; returns all facts in the database. Similar functions (clear-brules dump-brules) ;;; exist for backchaining rules. ;;; After a set of rules and facts have been entered, a request can be retrieved by ;;; calling the function (retrieve