La programación lógica es un tipo de programación informática en la que el programador debe dar instrucciones a la computadora sobre cómo tomar decisiones utilizando lógica matemática, como el uso de un algoritmo matemático. Los programas de computadora se componen de código que le dice a la computadora qué hacer. Sin embargo, eventualmente, la computadora se encontrará con una instancia en la que debe tomar una decisión sobre cómo proceder y, sin ninguna información sobre cómo hacerlo, no podría completar su función actual. La programación lógica se ocupa de este tipo de decisiones y le da instrucciones a la computadora para que pueda tomar una decisión «lógica» sobre la mejor manera de responder a una determinada situación. Para que la programación lógica funcione, el programador que escribe el código debe asegurarse de que sus afirmaciones tengan sentido y sean verdaderas, por lo tanto, lógicas, y se requiere un programa informático conocido como demostrador de teoremas para tomar decisiones basadas en las afirmaciones que encuentra en el informe del programador. código.
Un demostrador de teoremas se refiere a un programa de computadora que ha sido diseñado para resolver enunciados matemáticos conocidos como teoremas. Los teoremas son declaraciones que se demuestra que son verdaderas en base a declaraciones anteriores. En programación lógica, el demostrador de teoremas trabaja junto con los enunciados creados por el programador de computadoras para llegar a conclusiones. Por ejemplo, si el código establece que A es igual a B y B es igual a C, el demostrador de teoremas llegará a la conclusión lógica de que A debe ser igual a C. Este proceso es diferente al que el programador simplemente le dice a la computadora en el codifique que A es igual a C porque el programa de computadora debe sacar esta conclusión utilizando el probador de teoremas y las declaraciones originales del programador en el código.
En teoría, para que la programación lógica funcione, el programador solo necesita asegurarse de que sus enunciados sean correctos y el creador del demostrador de teoremas debe asegurarse de que el programa pueda leer los enunciados y tomar las decisiones más eficientes basándose en ellos. La capacidad de tomar una decisión eficiente se conoce como una computadora que funciona «lógicamente». En realidad, los dos campos de trabajo se superponen, y quienes realizan la programación lógica a menudo tienen que cambiar y manipular el código en función de cómo funciona el demostrador de teoremas para lograr los resultados que desean. El simple hecho de presentar declaraciones precisas sobre cómo tomar una determinada decisión puede no ser suficiente para que la computadora realice la función correcta, y el programador tendrá que probar su código y hacer los ajustes correspondientes.
Para que la programación lógica funcione, también se basa en el razonamiento hacia atrás. En el razonamiento hacia atrás, el programa llega a conclusiones al observar un conjunto de datos y trabajar a partir de declaraciones generales conocidas para llegar a conclusiones más avanzadas. El programa puede saber que dos piezas de información son verdaderas e inferirá que, dado que esas dos piezas de información son verdaderas, eso significa que una tercera pieza de información también es verdadera. Continúa este proceso hasta que llega a una conclusión lógica basada en la información que se le da. Debido a la forma en que funciona, la programación lógica se basa en un lenguaje de representación declarativo, lo que significa que el programa le dice a la computadora lo que debe hacer, pero deja que el probador de teoremas determine la forma más lógica o eficiente de realizar el procedimiento solicitado.