Production systems are computer programs that use rules to provide artificial intelligence. A production system consists of a set of condition-action rules, one or more knowledge databases, a rule applier that implements the control strategy, and a mechanism for resolving conflicts. There are several types of production systems including monotonic, partially commutative, non-monotonic, and commutative systems which differ in how rule application can affect later rule applications and the importance of rule application order. Monotonic systems never prevent later rule applications while non-monotonic systems can change direction as the knowledge base increases.