La programmation logique consiste à utiliser la logique mathématique pour écrire des programmes informatiques. Il existe des langages de programmation spécialisés dans lesquels l'utilisateur peut entrer directement des instructions logiques. Le plus connu de ces langages est probablement appelé Prolog. L'église d'Alonzo a utilisé une forme de programmation logique dans ce qui est connu aujourd'hui sous le nom de lambda calcul. La programmation logique a également été utilisée dans le LISP.

Les programmes consistent en un ensemble de règles et de faits. Dans la plupart des cas, la programmation logique utilise ce que l'on appelle la négation comme échec ou négation faible : Cela signifie que s'il n'est pas possible de déduire une clause{\displaystyle p} p des faits et des règles, le système supposera que sa négation est vraie.