A production system consists of a collection of productions (rules), a working memory of facts and an algorithm, known as forward chaining, for producing new facts from old. A rule becomes eligible to "fire" when its conditions match some set of elements currently in working memory. A conflict resolution strategy determines which of several eligible rules (the conflict set) fires next. A condition is a list of symbols which represent constants, which must be matched exactly; variables which bind to the thing they match and "<> symbol" which matches a field not equal to symbol.
Example production systems are OPS5, CLIPS, flex.