60 3 Rules and Inference
support for dynamic knowledge bases, but not as much as a Rete forward
chainer. The Rete-based systems are especially well suited for knowledge
bases that both add data (and rules) and retract them.
It is important to bear in mind that a system in one class can be used to
perform reasoning that is normally associated with another class. Prolog, for
example, is a general-purpose programming language, so one can, in prin-
ciple, implement a theorem prover or a DL reasoning system in Prolog (and
this is commonly done). However, by itself, Prolog is not a theorem prover.
Summary
- Automated reasoners use specialized indexes to improve performance.
- A Rete network is a specialized index that improves the performance of
forward-chaining rule engines. - Most reasoning systems require an unchanging knowledge base. Only
forward-chaining engines and some backward-chaining engines allow for
dynamically changing knowledge bases.