Logické programování je paradigma počítačového programování, kde programové příkazy vyjadřují fakta a pravidla o problémech v rámci systému formální logiky. Pravidla se zapisují jako logické věty s hlavou a tělem; například „H je pravdivé, jestliže B1, B2 a B3 jsou pravdivé“. Fakta se vyjadřují podobně jako pravidla, ale bez těla; například: „H je pravda.“
Některé logické programovací jazyky, například Datalog a ASP (Answer Set Programming), jsou čistě deklarativní. Umožňují výroky o tom, čeho má program dosáhnout, bez explicitních instrukcí, jak to udělat krok za krokem. Jiné, například Prolog, jsou kombinací deklarativního a imperativního jazyka. Mohou obsahovat i procedurální příkazy, jako například „Chcete-li vyřešit H, vyřešte B1, B2 a B3.“
Jazyky používané pro logické programování
- Absys
- ALF (algebraicko-logický funkcionální programovací jazyk).
- Algoritmické ladění programů
- Alice
- Alma-.0
- ASP (Answer Set Programming)
- CHIP
- Ciao
- CLACL
- CycL
- Datalog
- Datomic
- DLV
- ECLiPSe
- F-logic
- Flora-2
- Fril
- FuzzyCLIPS
- Gödel
- HiLog
- Janus
- ΛProlog
- Logtalk
- Maude system
- Mercury
- MetaL
- Programovací systém Mozart
- Oz
- Parlog
- Planner
- PROGOL
- Prolog
- Prolog++
- Prova
- .QL
- Rebeca Modeling Language
- ROOP
- SICStus Prolog
- SWI-.Prolog
- ToonTalk
- Transakční logika
- Twelf
- Vizuální Prolog
- XSB
Jazyk, Logika, Strojové učení, Paradigma, Programovací termíny