Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
David Dharbe
Introduo
Formais normais
Forma prenex
2
2
Forma de Skolem
Forma clausal
3
5
Teoria de Herbrand
Domnio de Herbrand
7
7
Resoluo fundamental
Exercite-se
10
11
11
Introduo
A tcnica de anlise por resoluo, estudada no quadro da lgica proposicional, tambm uma tcnica poderosa para analizar a
lgica dos predicados. Embora a tcnica dos tableaux talvez seja a
mais simples para um ser humano mostrar a (in)satisfatibilidade de
um conjunto de frmulas, no a nica usada em aplicaes computacionais. Uma outra tcnica utilizada a anlise por resoluo que j
foi apresentada no caso proposicional.
Na prtica, a resoluo a base da linguagem de programao
lgica PROLOG1 , a qual permite programar com um tipo restrito de
frmulas de lgica dos predicados chamado de clusulas de Horn.
No caso da lgica dos predicados geral, h vrias ferramentas de deduo automtica, tais como Otter2 , Spass3 e Vampire4 , que utilizam
resoluo.
A tcnica de resoluo, no caso da lgica dos predicados, tambm apoia-se em formas normais. A motivao de introduzir formas
normais poder se apoiar sobre hipteses adicionais (as propriedades que caracterizam as formas normais) para poder provar teoremas
especficos e, sobretudo, tcnicas de anlise dedicadas.
Formais normais
Forma prenex
Def 1. Uma frmula tem forma prenex quando tem a forma:
Q x Q x2 . . . Qn xn |{z}
M
| 1 1 2 {z
}
prefixo
matriz
A aplicao destas regras ser ilustrada com a seguinte frmula exemplo: x ( p( x ) y x (q( x, y)
z r ( a, x, y))).
Ex. x ( p( x ) y x (q( x, y)
z r ( a, x, y))).
AB
A B,
AB
( A B) ( A B).
Ex. x ( p( x ) yu(q(u, y)
z r ( a, u, y))).
Ex. x ( p( x ) yu(q(u, y)
r ( a, u, y))).
A,
A,
( A B)
A B,
( A B)
A B,
x A x B
x ( A B ),
x A x B
x ( A B)
Se x no ocorre em B:
Qx A B
Qx ( A B), onde Q ou ,
Qx A B
Qx ( A B), onde Q ou .
Forma de Skolem
Def 2. Uma frmula tem forma de Skolem quando tem forma prenex e
no possui quantificador existencial.
A partir de uma frmula em forma prenex Q1 x1 Qn xn M, passase a uma frmula em forma de Skolem da seguinte maneira.
Se todos os Qi so , ento a frmula j est em forma prenex.
Seno, seja k o menor ndice tal que Qi . Existe k 1 quantificadores a esquerda de Qk . A varivel xk substituda por
f ( x1 . . . xk1 ), onde f um novo smbolo de funo, em M e a
quantificao xk eliminada. f uma constante quando k = 1.
A operao repetida para eliminar at que todas as quantificaes existenciais estejam eliminadas.
Alguns exemplos permitem ilutrar esta operao:
1. x yu( p( x, y) q( a, x, y, u): A nica quantificao existencial
aplicado varivel u. H duas quantificaes universais aplicandose a ela, logo criado um novo smbolo de funo de aridade dois,
digamos f , e o resultado da Skolemizao obtido eliminando
a quantificao u e substituindo u por f ( x, y): x y( p( x, y)
q( a, x, y, f ( x, y)).
2. x uvw x yz M( x, y, z, u, v, w) primeiro simplificada em
uvw x yz M( x, y, z, u, v, w), pois a primeira quantificao x
intil.
A primeira quantificao existencial, ento criado um novo
smbolo de constante, digamos a que substitui a varivel quantificada u: vw x yz M( x, y, z, a, v, w).
Agora, o primeiro quantificador existencial w est no escopo de
uma nica quantificao universal; criado um novo smbolo de
funo de aridade um, digamos f , e a varivel w substituda por
f (v): v x yz M( x, y, z, a, v, f (v)).
Ainda h uma quantificao existencial, no escopo de trs quantificadores universais; criado um smbolo de funo de aridade trs, digamos g, e a varivel z substituda por g(v, x, y):
v x y M( x, y, g(v, x, y), a, v, f (v)). Esta frmula uma forma de
Skolem.
Intuitivamente, na frmula x yu( p( x, y) q( a, x, y, u), a
substituio da varivel existencialmente quantificada u pelo termo
f ( x, y) uma forma de indicar que o valor de u depende dos valores
de x e y, e esta dependncia codificada atravs da nova funo f .
Def 3. Duas frmulas so A e B so equisatisfatveis quando A
satisfatvel se e somente se B satisfatvel.
Teorema 2. Se A uma forma prenex, a forma de Skolem S A associada
satisfatvel se e somente se A satisfatvel.
Note que as duas formas no so equivalentes semanticamente,
j que a forma de Skolem possui smbolos que no existem em A,
Forma clausal
Def 4. Uma frmula da lgica dos predicados est em forma clausal
se est em forma de Skolem e a sua matriz est em forma normal
conjuntiva.
Dada uma frmula A, para encontrar uma forma equisatisfatvel,
primeiro calcula-se a forma de Skolem e segundo calcula se uma
forma normal conjuntiva da matriz.
x y p( x, y) y x p( x, y)
x y p( x, y) y x p( x, y)
x y p( x, y) y x p( x, y)
x y p( x, y) uv p(u, v)
x yuv ( p( x, y) p(u, v))
x u ( p( x, f ( x )) p(u, g( x, u)))
Quando uma frmula est em forma clausal, se existe uma conveno de notao que diferencia smbolos de variveis e smbolos
de constantes, pode-se omitir os quantificadores. Neste caso, a forma
clausal simplesmente um conjunto de clausulas. Assim, a frmula
x yz(( p( x, y) q( a)) (q( x ) r (b, z))) pode ser representada
pelo conjunto: { p( x, y) q( a); q( x ) r (b, z)}5 .
Teoria de Herbrand
Jacques Herbrand (1903-1931) foi um
matemtico e lgico francs.
Domnio de Herbrand
Def 5. Seja S uma forma de Skolem cujas constantes e funes formam os conjuntos A e F . Se S no conter constante, ento A = { a},
onde a um novo smbolo.
Simplificao de Herbrand
Teorema 3. Seja H uma interpretao de Herbrand, com domnio H, para
a matriz A( x1 , . . . xn ). Ento H( x1 , . . . xn A( x1 , . . . xn )) = V se e
somente se H( A(h1 , . . . hn )) = V para todos os h1 , . . . hn de H.
Def 9 (Instncias fundamentais). As frmulas A(h1 , . . . hn ) so chamadas de instncias fundamentais da matriz A( x1 , . . . xn ) ou da forma
de Skolem correspondente.
Corolrio 1. Uma forma de Skolem satisfeita por uma interpretao
de Herbrand se e somente se todas as suas instncias fundamentais so
satisfeitas nesta interpretao.
Uma simplificao consiste em identificar as interpretaes de
Herbrand de uma forma de Skolem S com as funes totais de BS , a
base de Herbrand de S, para o conjunto {V, F}. Em outros termos,
uma interpretao de Herbrand uma valorao dos tomos fundamentais de S.
A teoria de Herbrand permite ento analizar problemas da lgica
dos predicados usando tcnicas de anlise da lgica proposicional. A
nica diferena, e importante, que o lxico proposicional, formado
pela base de Herbrand, geralmente infinito.
Teoremas de Herbrand
Teorema 4 (Primeiro teorema de Herbrand). Uma frmula S, em forma
de Skolem, satistatvel se, e somente se, tem um modelo de Herbrand.
Note que este teorema apenas se aplica a formas de Skolem. Por
exemplo, a frmula p( a) x p( x ) satisfatvel, mas no admite
Sem variveis.
procedimento de anlise de satisfatibilidade da lgica proposicional para verificar que um conjunto de frmula fechadas (como este
conjunto) insatisfatvel. Logo A insatisfatvel.
O segundo exemplo a forma clausal S = { p( f ( x ), a) p(y, g( a)); p( f ( f ( a)), z)}.
Como o lxico tem smbolos de funes de aridade positiva, o domnio de Herbrand infinito, e h uma infinidade de clusulas fundamentais. Dentre elas, trs so particularmente interessantes:
C1
=def
C2
=def
p( f ( f ( a)), a),
C3
=def
p( f ( f ( a)), g( a)).
Um semi-procedimento de deciso
O teorema de Herbrand permite justificar o seguinte semi-procedimento
de deciso da validade de frmulas da lgica dos predicados:
1. Negar a frmula dada;
2. Calcular uma forma clausal desta negao;
3. Gerar um conjunto finito de clusulas fundamentais;
4. Verificar se este conjunto de clusulas fundamentais insatisfatvel.
Os dois primeiros passos so altamente automticas. O ltimo passo
pode ser realizado com procedimentos de deciso da lgica proposicional. A dificuldade reside principalmente no terceiro passo, que
necessita gerar as instncias fundamentais adequadas.
H2
C
=def
x ( p( x ) q( x )) x (q( x ) r ( x )) x ( p( x ) r ( x ))
x ( p( x ) q( x )) x (q( x ) r ( x )) x ( p( x ) r ( x ))
x ( p( x ) q( x )) x (q( x ) r ( x )) x ( p( x ) r ( x ))
10
x ( p( x ) q( x )) x (q( x ) r ( x )) x ( p( x ) r ( x ))
x ( ( p( x ) q( x )) (q( x ) r ( x )) p(c) r (c) ) (forma de Skolem)
{ p( x ) q( x ); q( x ) r ( x ); p(c); r (c) } (forma clausal)
O domnio de Herbrand desta forma clausa {c} e as quatro clusulas fundamentais so { p(c) q(c); q(c) r (c); p(c); r (c)}. Este
conjunto insatisfatvel7 , e a regra de inferncia inicial correta.
Seja H1 : p( a), H2 : x ( p( x ) p( f ( x ))), e C : x p( x ). Queremos
verificar se correta a regra de inferncia seguinte:
H1
=def
H2
.
C
H1 H2 C.
p( a) x ( p( x ) p( f ( x ))) x p( x )
p( a) x ( p( x ) p( f ( x ))) x p( x )
p( a) x ( p( x ) p( f ( x ))) p(c)
p( a) x ( p( x ) p( f ( x ))) x p( x )
Resoluo fundamental
A resoluo fundamental aplicao da resoluo tal como apresentado para a lgica proposicional a conjuntos de instncias fundamentais de formas clausais.
Seja S um conjunto de clusulas fundamentais; C1 e C2 so duas
clusulas de S tais que C1 = C10 ` e C2 = C20 `. A regra de
resoluo a seguinte:
S ` res(C1 , C2 ) =def C10 C20
11
Exercite-se
Exerccios elaborados por Pascal Fontaine.
( x p( x ) x q( x )) x ( p( x ) q( x ))
x ( p( x ) q( x )) x ( p( x ) q( x ))
x p( x ) x q( x )
P( a)
Q(b)
x ( P( x ) P( f ( x )))
xP( x )
x ( P( x ) P( f ( x ))) x ( Q( x ) Q( f ( x )))
x ( P( f ( x )) Q( f ( x )))
xP( x, x ) x y ( P( x, y) P( x, f ( x )))
x yP( x, y)
H xA( x )
H x ( A( x ) yB( x, y))
H x yB( x, y)
H xA( x )
H x ( A( x ) yB( x, y))
H x yB( x, y)
x ( P( x ) R( x )) x ( Q( x ) P( x ))
x ( P( x ) ( Q( x ) R( x )))
x ( Q( x ) R( x )) x ( Q( x ) P( x ))
x ( P( x ) R( x ))
x y ( Q( x ) R( x, y)) x ( Q( x ) P( x ))
x y ( P( x ) R( x, y))
12
x ( R( x ) Q( x )) x ( P( x ) Q( x ))
x ( P( x ) R( x ))
x ( R( x ) Q( x )) x ( P( x ) Q( x ))
x ( P( x ) R( x ))
x ( P( x ) Q( x )) x ( P( x ) Q( x ))
xP( x ) Q( x )
x ( Q( x ) R( x )) x ( Q( x ) P( x ))
x ( R( x ) P( x ))
Referncias
[1] W. McCune. Otter 3.0 Reference Manual and Guide. Technical
Report ANL-94/6, Argonne National Laboratory, Argonne, USA,
1994.
[2] A. Riazanov and A. Voronkov. Vampire 1.1 (system description). In IJCAR 01: Proceedings of the First International Joint Conference on Automated Reasoning, pages 376380, London, UK, 2001.
Springer-Verlag.
[3] C. Weidenbach. Spass: Combining superposition, sorts and
splitting, 1999.
[4] J. Wielemaker, T. Schrijvers, M. Triska, and T. Lager. SWI-Prolog.
Theory and Practice of Logic Programming, 12(1-2):6796, 2012.
13