Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de...

22
INTERPRETAÇÃO DO TEOREMA DE HERBRAND PROFESSOR ROGÉRIO VARGAS FUNDAMENTOS MATEMÁTICOS

Transcript of Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de...

Page 1: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

INTERPRETAÇÃO DO TEOREMA DE HERBRAND

PROFESSOR ROGÉRIO VARGAS

FUNDAMENTOS MATEMÁTICOS

Page 2: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova

automática de teoremas na lógica de primeira ordem.

Page 3: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Encontrar um procedimento geral de decisão para verificar a validade (ou inconsistência) de uma fórmula estava sendo usado há muito tempo. A primeira tentativa foi feita por Leibniz (1646-1716), novamente por Peano na virada do século e pela escola de Hilbert na década de 20. Aconteceu até que Church [1936] e Turing[1936] provassem que isso era impossível. Church e Turing independentemente mostraram que não existe um procedimento geral de decisão para verificar a validade de fórmulas da lógica de primeira ordem.

Page 4: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

No entanto, existem métodos de prova que podem verificar se uma fórmula é válida se realmente ela for válida. Para fórmulas inválidas, esses procedimentos em geral nunca terminarão. Na visão do resultado de Church e Turing, isso é o melhor que se pode ter para se obter um método de prova.

Page 5: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Uma abordagem muito importante para a prova mecânica de teoremas foi dada por Herbrand em 1930. Por definição, uma fórmula válida é uma fórmula que é verdadeira sob todas as suas interpretações. Herbrand desenvolveu um algoritmo para encontrar uma interpretação que pode invalidar uma fórmula dada. No entanto, se uma certa fórmula é realmente válida, nenhuma dessas interpretações podem existir e seu algoritmo termina após um número finito de tentativas. O método de Herbrand é a base para muitos métodos modernos de prova automática.

Page 6: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Gilmore [1960] foi uma das primeiras pessoas a implementar o método de Herbrand em um computador. Desde que uma fórmula é válida se e somente se sua negação for inconsistente, seu programa foi feito para encontrar a inconsistência da negação de uma fórmula dada. Durante a execução do programa, são geradas fórmulas proposicionais que são testadas sobre sua inconsistência.

Page 7: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Se a negação de uma certa fórmula é inconsistente, o programa detecta esta situação. O programa de Gilmore foi usado para provar fórmulas bem simples, porém encontrou sérias dificuldades com muitas outras fórmulas da lógica de primeira ordem. Estudos minuciosos de seu algoritmo revelaram que seu método de testar a inconsistência de uma fórmula proposicional era ineficiente.

Page 8: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

O método de Gilmore foi melhorado por Davis e Putnam [1960], meses depois de seu resultado ser publicado. Entretanto, tal melhoria não foi suficiente. Muitas fórmula válidas da lógica de primeira ordem não poderiam ser provadas pelos computadores em um tempo razoável.

Page 9: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

A maior modificação foi feita por Robinson [1965], que introduziu o tão famoso princípio de resolução. O método de Resolução é muito mais eficiente que os anteriores. Desde o início do princípio de resolução, muitas melhorias foram sugeridas para aumentar sua eficiência.

Page 10: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Definição 1Seja,

S - Um conjunto de cláusulasH - O Universo de Herbrand de SI - Uma interpretação de S sobre H

I é uma Interpretação de Herbrand de S se satisfaz às seguintes condições:

1. I mapeia todas as constantes de S nelas próprias

2. Seja f um símbolo funcional n-ário e sejam h1, h2, .., hn elementos de H. Em I, a f é atribuída uma função que mapeia (h1, h2, .., hn) - um elemento de Hn - a f(h1,h2,..,hn) - um elemento de H.

Page 11: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Não existe restrição como relação à atribuição a cada símbolo predicado em S, de maneira que diferentes Interpretações de Herbrand podem existir, dependendo de tais diferentes atribuições. Desde que para as Interpretações de Herbrand a atribuição a constantes e símbolos funcionais é fixa, é possível identificar uma Interpretação de Herbrand com um subconjunto da Base de Herbrand.

Assim sendo, daqui para frente,

Uma Interpretação de Herbrand I de um conjunto de cláusulas S é qualquer subconjunto de BS, a Base de Herbrand.

entendendo que, sob a interpretação I, a qualquer átomo q em BS é atribuído o valor verdade true, se q I, caso contrário é atribuído false. Com o objetivo de avaliar um dado conjunto de cláusulas com relação a uma dada Interpretação de Herbrand (I), as seguintes regras devem ser aplicadas:

Page 12: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

1. A fórmula atômica ground A é true em I iff A I

2. Uma literal negada ground A é true em I iff A I

3. Uma cláusula ground L1 L2 … Ln é true em I iff pelo menos um literal Li é true em I

4. Em geral, uma cláusula C é true em I iff toda instância ground C de C é true em I (C é obtida substituindo toda ocorrência de uma variável em C por um termo de H. Ocorrências diferentes da mesma variável são substituídas pelo mesmo termo).

5. Um conjunto de cláusulas S é true em I iff cada cláusula de S é true em I.

Um literal, cláusula ou conjunto de cláusulas é false em I iff não for true.

Page 13: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Uma Interpretação de Herbrand é pois uma livre atribuição de valores verdade (true ou false) a todos os átomos da BS. Uma tal interpretação deve, portanto, atribuir também true ou false a todos os átomos em GP. Assim, os valores verdades desses átomos determinam os valores-verdade de todas as cláusulas em GP.

Page 14: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Definição 2Seja, S um conjunto de cláusulasH o Universo de Herbrand de SI uma Interpretação de Herbrand de S sobre H Se S é true em I, então I é um Modelo de Herbrand de S.

Page 15: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Exemplo 1.1Seja S={p(X) q(X)} um conjunto de cláusulas. Desde que S tem BS = {p(a),q(a)}, as possíveis 2|BS| Interpretações de Herbrand de S são: I0: I1: {p(a)}I2: {q(a}I3:{p(a),q(a)} De acordo com as regras de avaliação mostradas anteriormente, as interpretações I0, I1 e I3 são Modelos de Herbrand de S e I2 é simplesmente uma Interpretação de Herbrand de S.

Page 16: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Exemplo 1.2

{g(a)} {q(a),m(a)} {p(a),q(a),g(a)}

{p(a)} {p(a),q(a)} {q(a),g(a)} {p(a),m(a),g(a)}

{q(a)} {p(a),m(a)} {m(a),g(a)} {q(a),m(a),g(a)}

{m(a)} {p(a),g(a)} {p(a),q(a),m(a)} {p(a),q(a),m(a),g(a)}

Seja S={p(X) q(X), m(Y) g(a), q(Z)} um conjunto de cláusulas.

Desde que S tem BS = {p(a),q(a),m(a),g(a)}, as possíveis 2|BS| = 16 Interpretações de Herbrand de S são:

As interpretações que são Modelos estão em negrito.

Page 17: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Exemplo 1.3Considere o conjunto de cláusulas P: likes(chris,X) if likes(X,logic)likes(bob, logic) O Universo de Herbrand de P é o conjunto {chris, bob, logic} e a instanciação ground de P, ie, GP é: likes(chris,chris) if likes(chris,logic)likes(chris,bob) if likes(bob,logic)likes(chris,logic) if likes(logic,logic)likes(bob, logic) que pode ser escrita, para maior facilidade de leitura como: CC if CLCB if BLCL if LLBL A Base de Herbrand é BP = {CC,CL,CB,LC,LL,LB,BC,BL,BB}.

Page 18: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

O conjunto {BL,CB} BP é assim uma Interpretação de Herbrand. Para essa interpretação, GP é reproduzido abaixo, com os valores verdade associados escritos em lugar de seus átomos: false if falsetrue if truefalse if falsetrue Com essa atribuição, todas as cláusulas de GP são verdade. Esta interpretação é portanto um Modelo de Herbrand para GP e, portanto, um Modelo de Herbrand de P.

Page 19: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Para testar se um conjunto S de cláusulas é insatisfatível, é apenas necessário considerar interpretações sobre o Universo de Herbrand de S. Se S for false sob todas as interpretações sob o Universo de Herbrand de S, então S é insatisfatível. 

Page 20: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

ConclusãoUm dos aspectos mais importantes da Interpretação de Herbrand é que não é mais necessário considerar o universo de todas possíveis interpretações e usar os objetos de cada universo de toda a forma possível, dado que as Interpretações de Herbrand representam todas as outras. Todas as Interpretações de Herbrand compartilham o mesmo universo o Universo de Herbrand. Isso significa que é apenas necessário considerar instâncias obtidas substituindo variáveis por elementos do Universo de Herbrand. Com um pouco de cuidado é possível garantir que nenhuma das possíveis conjunções de instâncias de cláusulas é omitida no teste. Neste caso, o teste eventualmente irá descobrir se uma meta G é consequência lógica de um conjunto de cláusulas. Entretanto, a busca por todas as possíveis instâncias pode continuar para sempre. Os seguintes casos podem acontecer:

Page 21: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

1. G é uma consequência lógica de S. Neste caso a busca irá eventualmente terminar com sucesso, i.e, uma contradição será encontrada. 2. G não é uma consequência lógica de S. Existem dois possíveis subcasos a serem considerados: 2.1 Todas as possíveis instâncias foram geradas sem que tenha sido encontrada uma contradição. Neste caso G não é uma consequência lógica de S. 2.2 Instâncias são geradas continuamente e uma contradição nunca é encontrada. Neste caso não existe certeza com relação a G ser ou não uma consequência lógica de S.

Page 22: Basicamente, o Teorema de Herbrand fornece a base teórica para as técnicas de prova automática de teoremas na lógica de primeira ordem.

Composição

André CardosoCleiton Fernando

Filipe AlbuquerqueJosé Neto

Silas Almeida