Lógica de programção
Introdução
Programação lógica é um paradigma de programação que faz uso da lógica matemática. John McCarthy [1958] foi o primeiro a publicar uma proposta de uso da lógica matemática para programação.
A primeira linguagem de programação lógica foi a Planner, a qual permitia a invocação orientada a padrões de planos procedimentais de asserções e de objetivos. Com a necessidade de adaptação aos sistemas de memória muito limitada, que eram disponíveis quando ela foi desenvolvida. A linguagem Planner usava estruturas de controle de backtracking, de tal forma que apenas um único caminho computacional tinha que ser armazenado por vez. Em seguida, o Prolog foi desenvolvido como uma simplificação do Planner que permitia a invocação orientada a padrões apenas a partir de objetivos (também baseado em backtracking).
Base na lógica matemática:
O sentido da programação lógica é trazer o estilo da lógica matemática à programação de computadores. Matemáticos e filósofos encontram na lógica uma ferramenta eficaz para desenvolvimento de teorias. Vários problemas são naturalmente expressos como teorias. Dizer que um problema precisa de solução frequentemente equivale a perguntar se uma nova hipótese é consistente com uma teoria existente ou se é consequência dela. A lógica proporciona uma maneira de demonstrar se uma questão é verdadeira ou falsa.
O processo de construir uma demonstração é bem conhecido, portanto a lógica é um meio confiável de responder perguntas. Sistemas de programação lógica automatizam este processo. A inteligência artificial teve uma influência importante no desenvolvimento da programação lógica.
Limitações do uso da lógica matemática para a programação:
John McCarthy propôs que a lógica matemática fosse usada como o fundamento para a epistemologia de sistemas de computadores. Sob a liderança de Marvin Minsky e Seymour Papert, uma abordagem diferente baseada em procedimentos processuais foi desenvolvida no MIT. Quando