54 3 Rules and Inference
kinds of automated reasoners. Including rule-based systems, the main kinds
of automated reasoners are
- forward-chaining rule engines,
- backward-chaining rule engines,
- theorem provers,
- constraint solvers,
- description logic reasoners,
- business rule systems,
- translators,
- miscellaneous systems.
These are not mutually exclusive categories, and some systems support more
than one style of reasoning. We now discuss each of these categories in detail,
and then give a list of some of the available software for automated reason-
ing.
Summary
- Rule-based programming is a distinct style from the more common pro-
cedural programming style. - A rule consists of an antecedent and a consequent. When the antecedent
is satisfied, the consequent is invoked (fired). - Rule engines logically infer facts from other facts, and so are a form of
automated reasoning system. - There are many other kinds of reasoning system such as theorem provers,
constraint solvers, and business rule systems.
3.2 Forward- and Backward-Chaining Rule Engines
Forward-chaining rule engines are the easiest rule engines to understand.
One simply specifies a set of rules and some initial facts. The engine then
fires rules as long as there are rules whose match condition is true. Of course,