Symbolic inference
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
mortal(socrates).
simply by matching the left-hand-side of the implication against the fact and substituting socrates for the variable X.