Cássio Cristo
Dawyson Guerra
Matheu Santos
Geralmente aqueles que sabem pouco falam muito e aqueles que sabem muito
falam pouco.
Jean Jacques Rousseau
Interpretação de Herbrand de S
S − um conjunto de cláusulas
 H − o Universo de Herbrand de S
 I − 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, à f é atribuída
uma função que mapeia (h1, h2, .., hn) − um
elemento de Hn − a f(h1,h2,..,hn) − um elemento
de H.

Interpretação de Herbrand de S
Não existe restrição com relação à
atribuição para cada símbolo predicado em
S, de maneira que diferentes Interpretações
de Herbrand podem existir dependendo de
tais diferentes atribuições. Desta forma, uma
Interpretação de Herbrand I de um conjunto
de cláusulas S é qualquer subconjunto de BS
(a Base de Herbrand).
Uma Interpretação de Herbrand é desta
forma uma livre atribuição de valores verdade
(verdadeiro ou falso) a todos os átomos da
BS.
Exemplo

Para testar se um conjunto S de
cláusulas é insatisfatível, precisa-se
considerar
somente
interpretações
sobre o universo Herbrand de S. Se S é
falso sob todas as interpretações do
universo Herbrand de S, então pode-se
concluir que S é insatisfatível
Implementação do Teorema de Herbrand

O teorema de Herbrand sugere um
procedimento de refutação. Isto é, dado
um conjunto insatisfatível S de cláusulas
para provar, se há um procedimento
mecânico que pode sucessivamente gerar
os conjuntos S1', ..., Sn', ... de instâncias
base de cláusulas em S e sucessivamente
testar se eles são insatisfatíveis, então
como garantido pelo Teorema de
Herbrand,
este
procedimento
pode
detectar um número finito N tal que SN' é
insatisfatível.

Gilmore em 1960 desenvolveu um
programa de computador que gerava,
sucessivamente, os conjuntos S0', S1', ...,
onde Si' é o conjunto de todos as
instâncias base obtidas pela troca das
variáveis em S por constantes no conjunto
de constantes i-nível Hi de S. Uma vez que
cada Si' é uma conjunção de cláusulas
base, pode-se usar qualquer método
disponível na lógica proposicional para
checar sua insatisfabilidade

Gilmore usou o método multiplicativo.
Isto é, quando cada Si' é produzido, Si'
é transformado em uma forma normal
disjuntiva. Qualquer conjunção na forma
normal disjuntiva que contém um par
complementar é removida. Se algum
conjunto Si' for vazio, então Si' é
insatisfatível e a prova é encontrada
Exemplo I
Considere S = {P(x), ~P(a)}.
 H0 = {a}
 S0' = P(a) ^ ~P(a) = €
 Dessa forma S é provado ser insatisfatível.

Exemplo II
Considere S = {P(a), ~P(x) ^ Q(f(x)), ~Q(f(a))}.
 H0 = {a}.
 S0' = P(a) ^ (~P(a) v Q(f(a))) ^ ~Q(f(a))

= (P(a) ^ ~P(a) ^ ~Q(f(a))) v (P(a) ^ Q(f(a)) ^
~Q(f(a)))

= €v €= €
 Dessa forma está provado que S é
insatisfatível.


O método multiplicativo usado por
Gilmore é ineficiente como é facilmente
visto. Por exemplo, para um pequeno
conjunto de 10 cláusulas base com dois
literais, há 210 conjunções
EXEMPLO
Seja S = { P( f(x), a, g(y), b) }. Então,
a e b, são as constantes e P e g são os símbolos dos
predicados...
Para resolver pega-se a constante e aplica na fórmula do
predicado e forma todas as combinações possíveis da
constante.
Exemplo:
H0 = { a, b}
H1 = { a, b, f(a), f(b), g(a), g(b) }
H2 = {a,b,f(a),f(b),g(a),
g(b),f(f(a)),f(f(b)),f(g(a)),f(g(b)),g(f(a)),g(f(b)), g(g(a)), g(g(b))}
Método de Davis e Putnam
Davis e Putnam introduziram um método
mais eficiente para testar se um conjunto
de cláusulas baixas é insatisfatível.
 Seja S um conjunto de cláusulas base.
Essencialmente, o método consiste das
quatro regras a seguir:
 I. Regra Tautológica:
Retirar todas as
cláusulas base de S que são tautológicas.
O restante do conjunto S' é insatisfatível se
e somente se S o for.


II. Regra do Literal-Único: Se há uma
cláusula unitária base L em S, obter S' de
S retirando todas aquelas cláusulas base
em S contendo L. Se S' é vazia, então S é
satisfatível. Caso contrário, obter um
conjunto S'' de S' pela retirada de ~L de S'.
S'' é insatisfatível se e somente se S o é.
Note que se ~L é uma cláusula unitária
base, então a cláusula torna-se € quando
~L é retirado da cláusula.

II. Regra do Literal-Único: Se há uma
cláusula unitária base L em S, obter S' de
S retirando todas aquelas cláusulas base
em S contendo L. Se S' é vazia, então S é
satisfatível. Caso contrário, obter um
conjunto S'' de S' pela retirada de ~L de S'.
S'' é insatisfatível se e somente se S o é.
Note que se ~L é uma cláusula unitária
base, então a cláusula torna-se € quando
~L é retirado da cláusula.

III. Regra do Literal-Puro: Um literal L
em uma cláusula base S é dito ser puro
em S se e somente se o literal ~L não
aparecer em nenhuma cláusula base
em S. Se um literal L é puro em S,
retirar todas as cláusulas base contendo
L. O restante do conjunto S' é
insatisfatível se e somente se S o é.
 IV.Regra
da Separação: Se um conjunto
S pode ser colocado na forma (A1  L) 
...  (Am  L)  (B1  ~L)  ...  (Bn 
~L)  R, onde Ai, Bi, e R são livres de L e
~L, então obter os conjuntos S1 = A1  ...
 Am  R e S2 = B1  ...  Bn  R. S é
insatisfatível se e somente se (S1  S2) é
insatisfatível, isto é, ambos S1 e S2 são
insatisfatíveis.
Resumo

A base do Teorema de Herbrand é um
conjunto formado a partir de símbolos
de
predicados,
que
é
gerado
consecutivamente, verificando-se a
insatisfatibilidade dos elementos. Um
programa
de
computador
pode
implementar a busca dos elementos,
pois na prática é muito lenta. Um
conjunto de fórmulas será testado de
forma recursiva.
OBRIGADO !
Download

Interpretação/Implementação de Herbrand