PROGRAMACIN LGICA
Este concepto de programacin lgica est ligado histricamente a un lenguaje llamado Prolog, que proviene de PROgrammation en LOGique (programacin en lgica), que fue el primer lenguaje de programacin lgico y el ms conocido y utilizado.
La Programacin Lgica es un Paradigma de Programacin basado en la Lgica. Los programas construidos en un lenguaje lgico estn, construidos nicamente por expresiones lgicas, es decir, que son ciertas o falsas, en oposicin a un expresin interrogativa (una pregunta) o expresiones imperativas (una orden)
El Paradigma Lgico se basa en la creacin de reglas por parte del programador, que luego sern aplicadas para resolver ciertos problemas dados y en los que se pueden destacar los siguientes aspectos:
Ejecucin: Meta que intenta probarse a partir de los hechos y reglas. Aplicacin de reglas por backtracking: Mtodo de resolucin. Soporte de la informacin Lista. Lgica: Asertos y reglas. Control: Mecanismo de resolucin. Estructuras de datos: Constantes, variables y listas.
En Prolog, las cosas son distintas: el orden de ejecucin de las instrucciones no tiene nada que ver con el orden en que fueron escritas. Las instrucciones de Prolog se llaman "reglas o clusulas de Horn" y esencialmente pueden representarse as: "Hacer esto si se cumplen tales o cuales condiciones".
EL BACKTRACKING
Para obtener las soluciones a las clusulas objetivo solicitadas, Prolog utiliza una tcnica de borrado que consiste en reemplazar cada submeta por los consecuentes de todas las reglas de la base que la satisfacen. Para poder hacer esto utiliza el backtracking, que es el mecanismo para la bsqueda de datos de Prolog, totalmente invisible para el usuario. De esta forma se verifica si existe cierto hecho determinado o si se cumple algn goal.