;;; -*- Mode:common-lisp; Package:1user*; Base:10; Fonts:(COURIER TR12I COURIER COURIER TR12B) -*- (in-package 'user) (proclaim '(optimize (speed 3) (safety 0))) ;1;; DEDUCE is a deductive retrieval system which uses generators to retrieve one* ;1;; answer at a time and also generates proofs. It currently supports only* ;1;; backward chaining. A depth bound in number of rules can be given.* ;1;;; Copyright (c) 1988 by Raymond Joseph Mooney. This program may be freely * ;1;;; copied, used, or modified provided that this copyright notice is included* ;1;;; in each copy of this code and parts thereof.* ;1;; Variables are represented with a leading "?". Backchaining rules are of* ;1;; the form (<- consequent . antecedents) and are indexed by predicate name* ;1;; (i.e. "CAR indexing"). The function index-brules can be used to enter* ;1;; these rules. Facts in the database are also indexed by predicate and* ;1;; the function index-facts can be used to enter them into the database.* ;1;; The file CUP-DOMAIN is an example of a domain file which defines rules and facts* ;1;; The function clear-database clears the database and the function dump-database* ;1;; reutrns all facts in the database.* ;1;; After a set of rules and facts have been entered, a request can be retrieved by* ;1;; calling the function (retrieve