Within the context of expert systems, the part of the expert system program that operates on the knowledge base and produces inferences. If the knowledge base is regarded as a program then the inference engine is the interpreter. The expressions in the knowledge representation language are its inputs, and its outputs constitute an interpretation of this input with respect to stored knowledge. The interpreter may be logic-based in that it operates within a certain logic formalism, for instance first-order predicate calculus. See production rule system.