The Simplified Deductive Data Retriever is a simple logic system that supports basic backward chaining rules. It's a subset of the Deductive Data Retriever. It can do the same illustrative test cases, but doesn't support tracing or forward chaining, it doesn't keep a global knowledge base, and it uses simpler internal code.
Setting up the Deductive Retriever
Compile and load retriever.lisp. The key
functions exported from the package
(with-kb rules exp1 exp2 exp3 ...): a special form that executes the expressions with the rules in rules; rules should be a list of backward chaining rules.
(ask sentence): returns a list of all sentences matching sentence using the current set of rules
Note that only backward-chaining rules are allowed. Facts should be given as rules with no antecents, e.g.,
Testing the Retriever
Loading this file creates the package retriever-tests. This is a good place to experiment with different rule bases.