En informatique, un moteur de règles est un système logiciel qui exécute une ou plusieurs règles métiers dans un environnement de production. Ces règles peuvent venir de la législation, de politiques applicables ou d'autres sources. Un moteur de règle est généralement fourni comme composant d'un système de gestion de règles qui, parmi d'autres fonctionnalités, permet d'enregistrer, définir, classifier et gérer toutes les règles, vérifier la cohérence de leur définition, définir les relations entre différentes règles, et relier certaines d'entre elles à d'autres applications, qui sont affectées par ces règles ou nécessitées par celles-ci.
Un moteur d'inférence (du verbe « inférer » qui signifie « déduire ») est un logiciel (processus informatique) correspondant à un algorithme de simulation des raisonnements déductifs. Un moteur d'inférence permet aux systèmes experts de conduire des raisonnements logiques et de dériver des conclusions à partir d'une base de faits et d'une base de connaissances. Les moteurs d'inférence peuvent implémenter : une logique formelle d'ordre 0 (logique des propositions), d'ordre 0+, d'ordre 1 (logique des prédicats) ou d'ordre 2 avec une gestion d'hypothèses monotone ou non monotone, un chaînage avant, chaînage arrière ou mixte, une complétude déductive ou non.
A semantic reasoner, reasoning engine, rules engine, or simply a reasoner, is a piece of software able to infer logical consequences from a set of asserted facts or axioms. The notion of a semantic reasoner generalizes that of an inference engine, by providing a richer set of mechanisms to work with. The inference rules are commonly specified by means of an ontology language, and often a description logic language. Many reasoners use first-order predicate logic to perform reasoning; inference commonly proceeds by forward chaining and backward chaining.