Teorema de Herbrand

Propaganda
Teorema de
Herbrand
Equipe: Eduardo Dantas, Stefhany
Oliveira, Raranna Alves e Vagner do
Carmo
Teorema de Herbrand (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.
• O método de Herbrand é um procedimento de
refutação. Isto é, ao invés de provar que uma fórmula é
válida, prova-se que a negação de uma fórmula é
inconsistente.
Por definição, um conjunto S de cláusulas é
insatisfatível se e somente se ele falso sob todas as
interpretações sobre todos os domínios. Uma vez
que é inconveniente e impossível considerar todas
as interpretações sobre todos os domínios, poderia
ser interessante buscar-se um domínio especial H,
tal que S é insatisfatível se e somente se S é falso
sob todas as interpretações sobre este domínio.
Felizmente, existe um domínio, que se chama de
universo de Herbrand de S, definido como o
seguinte:
• Definição: Sendo H0 o conjunto de constantes
que aparecem em S. Se nenhuma constante
aparece em S, então H0 é formado por uma
única constante, representado por H0 = {a}.
Para i = 0, 1, 2, ...,Hi+1 é a união de Hi com o
conjunto de todos os termos da forma fn(t1, ...,
tn) para todas as funções n-arg fn
que
aparecem em S, onde tj, j = 1, ..., n, são
membros do conjunto Hi . Então cada Hi é
chamado de conjunto de constantes i-nível de
S, e H1 é chamado de Universo de Herbrand de
S.
• Idéia: usar um domínio especial H, tal que S é
insatisfatível se e somente se S é falso sob todas as
interpretações sobre H
• H é o universo de Herbrand de S
• Se H0 é o conjunto de constantes que aparecem
em S.
-Se nenhuma constante aparece em S,
então H0 é formado por uma única constante,
H0={a}
-se f é um símbolo funcional n-ário ocorrendo
em S, e
-se t1, ...,tn são termos que pertencem a H,
então o termo f(t1, ...,tn) também pertence a H
• Exemplo 1: Seja S = {P(a), ~P(x)  P(f(x))}. Então:
H0 = {a}
H1 = {a, f(a)}
H2 = {a, f(a), f(f(a))}
.
.
.
H1 = {a, f(a), f(f(a)), f(f(f(a))), ...}.
• Exemplo 2: Seja S = { P(x)  q(x), R(z), T(y)  ~W(y) }.
Uma vez que não existe nenhuma constante em S,
H0 = { a }.
Não existe nenhum símbolo de função em S ,
portanto H = H0 = H1= ... = H1 = { a }.
Exemplo 3: Seja S = { P( f(x), a, g(y), b) }. Então
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))}
.
.
.
BASE DE HERBRAND
• Um termo-base é um elemento de H
• Uma base de Herbrand para S é o conjunto B(S)
de todas as fórmulas atômicas da forma P(t1,
...,tn)
o P é um símbolo predicativo ocorrendo em S
o t1, ...,tn termos-base
• Exemplo: S = {P(x)  Q(x), R(f(y))}
• H = {a, f(a), f(f(a)), ... }
• B(S) = {P(a), Q(a), R(a), P(f(a)), Q(f(a)), R(f(a)),
...}
INTERPRETAÇÃO DE HERBRAND
• Uma interpretação I para S é uma interpretação de
Herbrand para S se e somente se:
o o domínio U de I é H
o para cada constante a de S, aI = a
o para cada função f de S, fI(t1, ...,tn) = f(t1, ...,tn),
• para cada t1, ...,tn  H(S)
• Também chamada de H-interpretação
• Exemplo 4: Considere o conjunto S = { P(x)  Q(x),
R(f(y)) }. O universo Herbrand H de S é H = { a, f(a),
f(f(a)), ... }.
• Existem três símbolos de predicados: P, Q e R.
Portanto o conjunto de átomos de S é:
• A = { P(a), Q(a), R(a), P(f(a)), Q(f(a)), R(f(a)), ... }.
• Algumas H-interpretações de S são as seguintes :
I1 = { P(a), Q(a), R(a), P(f(a)), Q(f(a)), R(f(a)), ... }.
I2 = { ~P(a), ~Q(a), ~R(a), ~P(f(a)), ~Q(f(a)), ~R(f(a)), ... }.
I3 = { P(a), Q(a), ~R(a), P(f(a)), Q(f(a)), ~R(f(a)), ... }.
Referências
• FREITAS, Frederico Luiz Gonçalves de. Lógica de
Predicados. Link:
[http://www.cin.ufpe.br/~fred/logicaMuitoBom.doc]
Download