Pemrograman logika menggunakan logika matematika untuk menulis program komputer. Ada bahasa pemrograman khusus di mana pengguna dapat langsung memasukkan pernyataan logika. Mungkin yang paling terkenal dari bahasa-bahasa ini disebut Prolog. Alonzo Church menggunakan bentuk pemrograman logika dalam apa yang dikenal sebagai kalkulus lambda saat ini. Pemrograman logika juga telah digunakan dalam LISP.

Program terdiri dari seperangkat aturan dan fakta. Dalam kebanyakan kasus, pemrograman logika menggunakan apa yang disebut negasi sebagai kegagalan atau negasi lemah: Ini berarti bahwa jika tidak mungkin untuk menurunkan beberapa klausa p {\displaystyle p}{\displaystyle p} dari fakta dan aturan, sistem akan menganggap bahwa negasinya benar.