Software component that applies logical rules to a knowledge base to deduce new information or solve specific problems.
Generality: 675