La programmazione logica è l'uso della logica matematica per scrivere programmi per computer. Esistono linguaggi di programmazione specializzati in cui l'utente può inserire direttamente le affermazioni logiche. Probabilmente il più noto di questi linguaggi si chiama Prolog. Alonzo Church ha usato una forma di programmazione logica in quello che oggi è conosciuto come calcolo lambda. La programmazione logica è stata usata anche in LISP.

I programmi consistono in un insieme di regole e fatti. Nella maggior parte dei casi, la programmazione logica usa quella che viene chiamata negazione come un fallimento o una negazione debole: Ciò significa che se non è possibile ricavare qualche clausola p {\displaystyle p} {\displaystyle p}dai fatti e dalle regole, il sistema supporrà che la sua negazione sia vera.