The derivation of new facts from known facts and inference rules. 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
simply by matching the left-hand-side of the implication against the fact and substituting socrates for the variable X.