Prolog es un lenguaje de programación lógico que se usa comúnmente en inteligencia artificial, donde los programas se componen de cláusulas de Horn que funcionan como reglas lógicas. Los programas en Prolog se escriben al revés de otros lenguajes, con el consecuente primero y luego el antecedente, que puede ser una conjunción de objetivos separados por comas. La ejecución de los programas en Prolog se basa en la unificación y el backtracking sin usar instrucciones de control.