Logique non monotone
Une logique non-monotone est une logique formelle dans laquelle la base de faits inférés peut ne pas croître et même parfois décroître. En effet, la plupart des logiques formelles sont monotones, ce qui signifie qu'ajouter un fait ou un axiome à un ensemble de faits ou d'axiomes n'enlève pas de faits à cet ensemble. Autrement dit, cela signifie qu'ajouter une nouvelle connaissance à un système ne fera qu'augmenter les faits inférés dans ce système. Parce qu'elles interdisent la remise en cause de ce qui est su et déduit, les logiques monotones ne peuvent pas faire de la révision de connaissances.

Exemple 
Un exemple typique de révision de connaissance est :

 Si « X est un oiseau » mais pas « X est un manchot » alors « X vole »
 « Titi est un oiseau »

On peut déduire de ce programme le fait « Titi vole ». Si on ajoute à ce programme le fait « Titi est un manchot », on ne peut plus déduire « Titi vole » : en augmentant la base d'axiomes, on peut diminuer la base de faits déduits, mais aussi, comme dans ce cas, remettre en cause les faits déjà déduits.

Le cas Prolog 
La bonne fin des programmes Prolog est garantie dans un cadre de logique monotone, qui suppose qu'il n'y pas mise à jour de la base de connaissances durant un raisonnement.

Source 

Logique non classique
Logique formelle