Logické programovanie je používanie matematickej logiky na písanie počítačových programov. Existujú špecializované programovacie jazyky, v ktorých môže používateľ priamo zadávať logické príkazy. Pravdepodobne najznámejší z týchto jazykov sa nazýva Prolog. Alonzo Church používal formu logického programovania v jazyku, ktorý je dnes známy ako lambda kalkul. Logické programovanie sa používalo aj v jazyku LISP.
Programy pozostávajú zo súboru pravidiel a faktov. Vo väčšine prípadov sa pri logickom programovaní používa tzv. negácia ako zlyhanie alebo slabá negácia: To znamená, že ak z faktov a pravidiel nie je možné odvodiť nejakú klauzulu p {\displayyle p}, systém bude predpokladať, že jej negácia je pravdivá.