Prolog ist eine Programmiersprache, die Anfang der 1970er Jahre veröffentlicht und vom französischen Informatiker Alain Colmerauer entwickelt wurde. Prolog wird den logischen und deklarativen Programmiersprachen zugeordnet. Man kann Prolog auch als logische Maschinensprache sehen, die auf mathematische Regeln und Fakten aufbaut, genauer auf die Prädikatenlogik. In der logischen Programmierung nach prädikatenlogischen Formeln spielen die Horn-Formel eine zentrale Rolle. Prolog ist eine Sammlung solcher Horn-Formeln, die ihren Namen nach dem US-amerikanischen Mathematiker Alfred Horn erhielten. Der Prolog-Interpreter interpretiert über Fakten die Anfragen an den Datenbestand der Programmierung und sucht nach einer logischen Antwort. Wird eine Ableitung auf der Datenbasis gefunden, so ist die Anfrage logisch ableitbar. Bei einem negativen Interpreter-Ergebnis ist die Ableitung falsch. Man spricht in diesem Zusammenhang von Closed World Assumption (Vereinbarung über Aussagen nach Fakten). Einfach beschrieben geht man davon aus, dass alles, was nicht als wahr analysiert werden kann, als negativ zu interpretieren ist. Prolog gehört bis heute zu den Programmiersprachen, die bei komplexen Analysen eingesetzt wird, um komplexe Lösungen bei Problemstellungen zu analysieren. Die logische Programmiersprache findet man bei Programmierungen in der Künstlichen Intelligenz ebenso wie im Systemmanagement auf Basis asynchroner Ereignisse.
Prolog wird auch den deklarativen Programmiersprachen zugeordnet. Deklarative Programmierungen zeichnen sich vor allem durch die Problembeschreibungen aus. Zu den deklarativen Sprachen werden neben den logischen Programmiersprachen auch die funktionellen Programmiersprachen oder die synchronen Programmiersprachen gezählt. Deklarative Programmiersprachen stellen die grundlegende Frage nach dem Was. Im Gegensatz zu den “kreativeren” deklarativen Programmiersprachen werden imperative Programmiersprachen auf Befehlssammlungen aufgebaut, die das Programm ausführen muss. Deklarative Programmiersprachen werden dort eingesetzt, wo es um sehr komplexe Lösungsansätze gibt, die weit über die “Befehlsprogrammierungs-Optionen” hinausgehen. Ein Vorteil von deklarativen Sprachen ist unter anderem die bessere Verwaltbarkeit der Systeme. Implementierungen von Prolog sind unter anderem GNU-Prolog oder SWI-Prolog. Auf dem IBM-Prolog basiert zum Beispiel die Software Tivoli, die die Verwaltung von Informationssystemen übernimmt. Prolog hat unter anderen Einfluss auf Softwares wie Erlang, eine funktionelle Programmiersprache, die in der Industrie eingesetzt wird, zum Beispiel bei der Überwachung der Netzwerktechnik oder bei Produkt-Softwares von Telekommunikationsunternehmen. Entwickelt hat die industrielle Programmiersprache Erland das schwedische Telekommunikationsunternehmen Ericsson.