An inference engine is a software application designed to deduce specific facts given vague generalities. It is frequently associated with expert systems, and operates by using a set of axioms together with a big pool of data, then inducting rules between data to produce results.

Inference engines are great for solving syllogisms and logic puzzles.