The derivATion of new facts from known facts and {inference rule}s. This is one of the fundamental operATions of artificial intelligence and logic programming languages like Prolog. Inference is a basic part of human reasoning. For example given thAT all men are mortal and thAT SocrATes is a man, it is a trivial step to infer thAT SocrATes is mortal. We might express these symbolically: man(X) => mortal(X). man(socrATes). ("if X is a man then X is mortal" and "SocrATes is a man"). Here, "man", "mortal" and "socrATes" are just arbitrary symbols which the computer manipulATes without reference to or knowledge of their external meaning. A forward chaining system (a production system) could use these to infer the new fact mortal(socrATes). simply by mATching the left-hand-side of the implicATion against the fact and substituting socrATes for the variable X. (1994-10-28)