Você está na página 1de 119

LGICA DE PREDICADOS

SUMRIO

CAPTULO 1 - INTRODUO..............................................................................................
1.1. INTELIGNCIA ARTIFICIAL, LGICA SIMBLICA E PROVA DE
TEOREMAS...............................................................................................................................
1.2. BASE MATEMTICA........................................................................................................
CAPTULO 2 - A LGICA PROPOSICIONAL...................................................................
2.1. INTRODUO...................................................................................................................
2.2 INTERPRETAES DE FRMULAS NA LGICA PROPOSICIONAL
.....................................................................................................................................................
2.3. VALIDADE E INCONSISTNCIA NA LGICA PROPOSICIONAL..............................
2.4 FORMAS NORMAIS NA LGICA PROPOSICIONAL....................................................
2.5. IMPLICAO LGICA...................................................................................................
2.6 APLICAES DA LGICA PROPOSICIONAL..............................................................
2.7 EXERCCIOS.....................................................................................................................
CAPTULO 3 - LGICA DE PREDICADOS.....................................................................
3.1 INTRODUO..................................................................................................................
3.2 INTERPRETAO DE FRMULAS NA LGICA DE PREDICADOS
...................................................................................................................................................
3.3 FORMAS NORMAIS PRENEX NA LGICA DE PREDICADOS..................................
3.4 APLICAES DA LGICA DE PREDICADOS..............................................................
3.5 EXERCCIOS.....................................................................................................................
CAPTULO 4 - TEOREMA DE HERBRAND.....................................................................
4.1 INTRODUO..................................................................................................................
4.2 FORMAS PADRO DE SKOLEM....................................................................................
4.3 O UNIVERSO DE HERBRAND DE UM CONJUNTO DE
CLUSULAS...........................................................................................................................
4.4 RVORES SEMNTICAS................................................................................................
4.5 TEOREMA DE HERBRAND.............................................................................................
4.6 IMPLEMENTAO DO TEOREMA HERBRAND.........................................................
4.7 EXERCCIOS.....................................................................................................................
CAPTULO 5 - PRINCPIO DA RESOLUO.................................................................
5.1. INTRODUO.................................................................................................................
5.2 O PRINCPIO DE RESOLUO PARA A LGICA PROPOSICIONAL
...................................................................................................................................................
5.3 SUBSTITUIO E UNIFICAO...................................................................................
5.4 ALGORITMO DE UNIFICAO.....................................................................................
5.5 O PRINCPIO DE RESOLUO DA LGICA DE PREDICADOS...............................
5.6 COMPLETUDE DO PRINCPIO DE RESOLUO......................................................
5.7 EXEMPLOS USANDO O PRINCPIO DE RESOLUO..............................................
5.8 ESTRATGIA DE ELIMINAO....................................................................................
5.9 EXERCCIOS.....................................................................................................................
CAPTULO 6 - RESOLUO SEMNTICA E RESOLUO INDEXADA ................
6.1 INTRODUO..................................................................................................................
6.2 INTRODUO INFORMAL RESOLUO SEMNTICA........................................
6.5 HIPERRESOLUO E ESTRATGIA DO CONJUNTO DE APOIO:
CASOS ESPECIAIS DA RESOLUO SEMNTICA.........................................................
6.5.1 Hiperresoluo.................................................................................................................
6.5.2 Estratgia do Conjunto de Apoio.....................................................................................

6.6 RESOLUO SEMNTICA USANDO CLUSULAS ORDENADAS


...................................................................................................................................................
6.7 IMPLEMENTAO DA RESOLUO SEMNTICA...................................................
6.8 RESOLUO INDEXADA..............................................................................................
6.9 COMPLETUDE DA RESOLUO INDEXADA............................................................
6.10 EXERCCIOS...................................................................................................................
CAPTULO 7 - RESOLUO LINEAR.............................................................................
7.1 INTRODUO..................................................................................................................
7.2 RESOLUO LINEAR.....................................................................................................
7.3 RESOLUO POR ENTRADA E RESOLUO UNITRIA........................................
7.4 RESOLUO LINEAR USANDO CLUSULAS ORDENADAS E
INFORMAO DOS LITERAIS RESOLVIDOS...................................................................
7.5 COMPLETUDE DA RESOLUO LINEAR.................................................................
7.6 DEDUO LINEAR E BUSCA EM RVORE..............................................................
7.7 HEURSTICAS NA BUSCA EM RVORE....................................................................
7.7.1 Estratgia de Eliminao................................................................................................
7.7.2 Estratgia da Preferncia por Poucos-Literais................................................................
7.7.3 Uso de Funes de Avaliao Heurstica........................................................................
7.8 ESTIMATIVAS DE FUNES DE AVALIAO..........................................................
7.9 EXERCCIOS...................................................................................................................

CAPTULO 1 - INTRODUO
1.1. INTELIGNCIA ARTIFICIAL, LGICA SIMBLICA E PROVA DE TEOREMAS
Desde o nascimento do primeiro computador moderno, a tecnologia dos computadores
desenvolveu-se numa velocidade fantstica. Hoje v-se computadores sendo usados, no
somente para resolver problemas de alta complexidade computacional, como realizar uma
transformada rpida de Fourier ou inverter uma matriz de grandes dimenses, mas tambm
para executar tarefas que poderiam ser chamadas de inteligentes, se feitas por seres humanos.
Algumas destas tarefas so: escrita de programas, responder perguntas, provar teoremas. A
Inteligncia Artificial um ramo da cincia da computao que est preocupado com a
execuo de tais tarefas.
A segunda metade dos anos 60 foi fenomenal para a inteligncia artificial devido ao
aumento no interesse na prova automtica de teoremas. A disseminao deste interesse foi
causada, no somente pela crescente conscincia de que a habilidade de fazer dedues lgicas
uma parte integrante da inteligncia humana, mas foi, talvez, um resultado do nvel alcanado
pelas tcnicas de prova automtica de teoremas ao final dos anos 60. Os fundamentos da prova
automtica de teoremas foram desenvolvidos por Herbrand em 1930. Seu mtodo era
impossvel de ser implementado at a inveno do computador digital. E continuou assim at a
publicao do fantstico artigo de J.A. Robinson em 1965, junto com o desenvolvimento do
princpio da resoluo, cujos maiores passos foram dados para obter os provadores de
teroremas implementados em computadores. A partir deste momento, sucessivos refinamentos
tem sido feitos no princpio de resoluo.
Paralelamente ao progresso no aprimoramento das tcnicas de prova automtica de
teoremas aconteceu o progresso na aplicao das tcnicas de prova automtica de teoremas a
vrios problemas de inteligncia artificial. Elas foram inicialmente aplicadas a deduo
(resposta de questes) e, posteriormente para soluo de problemas, sntese e anlise de
programas entre muitas outras aplicaes.
Existem muitos pontos de vista atravs dos quais pode-se estudar a lgica simblica.
Tradicionalmente, ela foi estudada atravs de orientaes filosficas e matemticas. Aqui se
est interessado em aplicaes da lgica simblica para resoluo de problemas
intelectualmente difceis. Isto , quer-se usar lgica simblica para representar problemas e
obter suas solues.
A seguir vo ser apresentados alguns exemplos bastante simples para demonstrar como
a lgica simblica pode ser usada para representar problemas. Mesmo que no se tenha ainda
discutido formalmente lgica simblica pode-se utilizar a intuio para compreender o que
segue.
Considere os seguintes fatos:
F1: Se est quente e mido, ento chover.
F2: Se est mido, ento est quente.
F3: Est mido agora.
A pergunta : Vai chover ?
Os fatos acima so escritos em portugus. Deve-se usar smbolos para represent-los.
Faa P, Q e R representar Est quente, Est mido e Chover, respectivamente. Tambm so
necessrios alguns smbolos lgicos. Neste caso, pode-se usar para representar o E e para
representar Implica Em. Ento os trs fatos acima podem ser representados como:
1

F1: P Q R
F2: Q P
F3: Q
Traduzidas as sentenas em portugus para frmulas lgicas. Pode-se observar que
sempre que F1,F2 e F3 so verdadeiras , a frmula:
F4: R , verdadeira.
Portanto, pode-se dizer que F4 conseqncia lgica de F1, F2 e F3. Isto , chover.
Considere outro exemplo, assumindo os seguintes fatos:
F1: Confcio um homem.
F2: Todos os homens so mortais.
Para representar F1 e F2, necessrio um novo conceito, chamado de predicado.
Pode-se fazer P(x) e Q(x) representar x um homem e x mortal, respectivamente. Tambm
usamos (x) para representar para todo x.
Portanto, os fatos acima sero representados por:
F1: P(Confcio)
F2: (x) (P(x) Q(x)).
Novamente, poder-se- ver que a partir de F1 e F2 pode-se deduzir logicamente que:
F3: Q(Confcio), significando que Confcio mortal.
Nos dois exemplos acima foi necessrio provar que uma frmula conseqncia
lgica de outras frmulas.
Vai-se chamar de Teorema uma sentena na qual uma frmula conseqncia lgica de
outras frmulas. A demonstrao de que um teorema verdadeiro, isto , que uma frmula
conseqncia lgica de outras frmulas, ser chamada de Prova do Teorema. O problema de
prova automtica de teoremas considerar mtodos automticos para encontrar provas de
teoremas.
Existem vrios problemas que podem ser, convenientemente, transformados em
problemas de prova de teorema. Seguem alguns deles:
1.
2.

3.

Num sistema de resposta a perguntas, fatos podem ser representados por frmulas
lgicas. Ento, para responder uma pergunta atravs dos fatos, deve-se provar que a
frmula correspondente resposta deriva das frmulas representando os fatos.
Num problema de anlise de programas, pode-se descrever a execuo de um programa
por uma frmula A, e a condio de que o programa acabar, por outra frmula B.
Ento, verificar se o programa acabar equivalente a provar que a frmula B
conseqncia lgica da frmula A.
No problema de isomorfismo de grafos, quer-se saber se um grafo isomrfico a um
subgrafo de um outro grafo. Este problema no meramente um problema interessante
da matemtica; mas, tambm um problema prtico. Por exemplo, a estrutura de um
composto orgnico pode ser representada por um grafo. Portanto, testar se uma
2

subestrutura de um composto orgnico estrutura de um outro composto orgnico um


problema de isomorfismo de grafos. Para este problema, pode-se descrever grafos atravs
de frmulas. Ento, o problema pode ser formulado como: provar que a frmula que
representa um grafo conseqncia lgica da frmula que representa outro grafo.
4. No problema de transformao de estados, existe uma coleo de estados e uma coleo
de operadores. Quando um operador aplicado a um estado, um novo estado obtido.
Partindo de um estado inicial, tenta-se encontrar uma seqncia de operadores que
transformaro o estado inicial em um estado desejado. Neste caso, pode-se descrever os
estados e as regras de transio entre eles atravs de frmulas lgicas. Deste modo, a
transformao do estado inicial em um estado desejado pode ser tratada como a
verificao de que a frmula representando o estado desejado conseqncia lgica da
frmula que representa ambos os estados e as regras de transio entre eles.
Uma vez que muitos problemas podem ser formulados como problemas de prova
automtica de teoremas, est uma rea muito importante da cincia da inteligncia artificial.
Graas ao esforo de muitos pesquisadores, teve-se grande avano no uso de computadores
para provar teoremas.
1.2. BASE MATEMTICA
Nesta seo vai-se descrever alguns conceitos matemticos bsicos que sero usados
nos prximos captulos.
Um conjunto uma coleo de elementos (membros). Um conjunto que no contm
nenhum elemento chamado de conjunto vazio e representado por . Sejam A e B dois
conjuntos. x A usado para representar que x um elemento de A, ou que x pertence a A.
O conjunto A idntico ao conjunto B, representando-se por A = B, se e somente se A
e B tem os mesmos elementos.
O conjunto A um subconjunto de B, representando-se por A B, se e somente se
cada elemento de A um elemento de B.
O conjunto A um subconjunto prprio do conjunto B, representado por A B, se e
somente se A B e A B.
A unio de dois conjuntos A e B, representado por A B, o conjunto formado por
todos os elementos que pertencem a A ou a B.
A interseco dos dois conjuntos A e B, representada por A B, o conjunto
constitudo de todos os elementos que pertencem tanto a A quanto a B.
A diferena entre dois conjuntos A e B, representada por A - B, o conjunto
constitudo de todos os elementos que pertencem a A e no pertencem a B.
Agora, sero definidas algumas relaes e funes:
Um par ordenado de elementos representado por (x,y), onde x chamado de
primeira coordenada e y chamada de segunda coordenada.
Uma relao um conjunto de pares ordenados. Por exemplo, a relao de igualdade
um conjunto de pares ordenados, onde cada um deles tm a primeira coordenada igual a
segunda coordenada. O domnio de uma relao R o conjunto de todas as primeiras
coordenadas de elementos de R, e sua imagem o conjunto de todas as segundas coordenadas.
Uma funo uma relao na qual no existem dois elementos distintos que possuam a
mesma primeira coordenada. Se f uma funo e x um elemento do seu domnio, ento f(x)
representa a segunda coordenada do nico elemento em f cuja primeira coordenada x. f(x)
chamado valor de f em x e dizemos que f atribui o valor f(x) para x.
3

Ao longo deste texto, usa-se muitos smbolos convencionais. Por exemplo, > significa
maior que, , maior ou igual a; <, menor que, , menor ou igual a; = , igual a; , diferente
de; , definido como e assim por diante. O smbolo de igualdade = ser usado para vrios fins.
Ele poder ser usado para representar definido por, idntico a, equivalente a ou igual
a. Isto no trar nenhuma confuso, pois o significado exato ser sempre descrito no texto.

CAPTULO 2 - A LGICA PROPOSICIONAL

2.1. INTRODUO
Lgica simblica considera as linguagens cujo principal propsito simbolizar o
raciocnio encontrado no somente na matemtica, mas tambm na vida diria. Neste captulo,
vai-se, inicialmente, estudar a lgica simblica mais simples - a lgica proposicional (ou
clculo proposicional). No prximo captulo, vai-se tratar algo mais geral - a lgica de
predicados ( ou o clculo de predicados de primeira ordem ou lgica de predicados).
Na lgica proposicional, se est interessado nas sentenas declarativas que podem ser
tanto verdadeiras quanto falsas, mas no ambas. Uma sentena declarativa qualquer
chamada de proposio. Mais formalmente, uma proposio uma sentena declarativa que
ou verdadeira ou falsa. Exemplos de proposies so: A neve branca, O acar um
hidrocarbono, Smith possui o grau de Ph.D.. O verdadeiro ou falso atribuido a proposio
chamado de valor da proposio. Normalmente, representa-se verdadeiro por V e falso por F.
Por convenincia, vai-se usar letras maisculas ou conjunto de letras para representar uma
proposio. Portanto, pode-se representar as proposies acima como segue:
P A neve branca,
Q O acar um hidrocarbono,
R Smith possui o grau de Ph.D.
Os smbolos, como P, Q e R, que so usados para representar proposies so
chamados de frmulas atmicas ou tomos.
A partir das proposies pode-se construir proposies compostas usando os conetivos
lgicos. Exemplos de proposies compostas so: "A neve branca e o cu est claro" e "Se
Joo no est em casa, ento Maria est em casa". Os conetivos lgicos nas duas proposies
compostas acima so "e" e "se...ento". Na lgica proposicional, usa-se cinco conetivos
lgicos: ~ (no), (e), (ou), (se...ento), e (se e somente se). Estes cinco conetivos
lgicos podem ser usados para construir proposies compostas a partir de proposies.
Generalizando, eles podem ser usados para construir proposies compostas mais complexas a
partir de outras proposies compostas aplicando-os repetidamente. Por exemplo, vai-se
representar "A humidade est elevada" por P, "A temperatura esta elevada" por Q, e "Algum
se sente confortvel" por C. Ento a sentena "Se a humidade e a temperatura esto elevadas,
ento algum no se sentir confortvel" pode ser representada por (( P Q) (~C)).
Portanto, v-se que uma proposio composta pode expressar uma idia bastante complexa.
Na lgica proposicional, uma expresso que representa uma proposio, tal como P, ou uma
proposio composta, tal como (( P Q) (~C)), chamada de frmula.
Definio: Frmulas na lgica proposicional so definidas recursivamente como o seguinte:
1. Um tomo uma frmula.
2. Se G uma frmula, ento (~G) uma frmula.
3. Se G e H so frmulas, ento (G H), (G H), (G H), e (G H) so frmulas.
4. Todas as frmulas so geradas pela aplicao das regras acima.
No difcil ver que expresses tal como (P ) e (P ) no so frmulas. Ao longo das
explicaes, parnteses sero suprimidos desde que isso no cause nenhuma confuso. Por
exemplo, P Q e P Q so as frmulas (P Q) e (P Q), respectivamente. Pode-se, ento,
omitir o uso dos parnteses. Ento, P Q R representa (P (Q R)), e P Q ~R S
representa (P (Q ((~R S))).
5

Sejam G e H duas frmulas. Ento os valores das frmulas (~G), (G H), (G H). (G
H), e (G H) so obtidos a partir dos valores de G e H pelo seguinte caminho:
1. ~G verdadeiro quando G for falso, e falso quando G for verdadeiro. ~G chamado de
negao de G.
2. (G H) verdadeiro se G e H so ambos verdadeiros; do contrrio, (G H) falso. (G
H) chamado de conjuno de G e H.
3. (G H) verdadeiro se pelo menos um de G e H for verdadeiro; do contrrio (G H)
falso. (G H) chamado de disjuno de G e H.
4. (G H) falso se G verdadeiro e H falso; do contrrio, (G H) verdadeiro. (G H)
lido como "Se G, ento H" ou "G implica em H".
5. (G H) verdadeiro quando G e H tem o mesmo valor lgico; de outro modo (G H)
falso.
As relaes acima podem ser vistas adequadamente na tabela 2.1. Baseando-se nesta
tabela, pode-se avaliar os valores lgicos de uma frmula avaliando os valores dos tomos que
compem a frmula.
G
V
V
F
F

H
V
F
V
F

~G
F
F
V
V

(G H)
(G H)
(G H)
V
V
V
F
V
F
F
V
V
F
F
V
Tabela 2.1 - Valores Lgicos das Frmulas

(G H)
V
F
F
V

2.2 INTERPRETAES DE FRMULAS NA LGICA PROPOSICIONAL


Suponha que P e Q so dois tomos e que os valores verdade de P e Q so V e F,
respectivamente. Ento, de acordo com a segunda linha da tabela 2.1 com P e Q substitudos
por G e H, respectivamente, notamos que os valores de (~P), (PQ), (P Q), (PQ), e (PQ)
so F, F, V, F e F, respectivamente. Igualmente, os valores de qualquer frmula podem ser
avaliados em termos dos valores dos tomos.
Exemplo 2.1: Considere a frmula: G ((PQ) (R (~S))
Os tomos nesta frmula so P, Q, R e S. Suponha que os valores de P,Q, R, e S sejam
V, F, V e V, respectivamente. Ento (PQ) F uma vez que Q falso; (~S) F uma vez que
S V; (R (~S)) F uma vez que R V e (~S) F; ((PQ)(R (~S)) V uma vez que
(PQ) F e (R (~S)) F. Portanto, a frmula G V se P,Q, R, e S sejam V, F, V e V,
respectivamente.
O conjunto de valores {V, F, V, V} para {P, Q, R, S}, respectivamente, ser chamado
de uma interpretao da frmula G. Uma vez que cada P, Q, R e S pode assumir um valor V
ou F, existem 24 = 16 interpretaes da frmula G. Na Tabela 2.2, temos os valores da frmula
G sob todas as suas 16 interpretaes.

P
V
V
V
V
V
V
V
V
F
F
F
F
F
F
F
F

Q
R
V
V
V
V
V
F
V
F
F
V
F
V
F
F
F
F
V
V
V
V
V
F
V
F
F
V
F
V
F
F
F
F
Tabela 2.2 -

S
~ S (P Q) (R (~ S))
(PQ)(R (~S))
V
F
V
F
F
F
V
V
V
V
V
F
V
V
V
F
V
V
F
F
V
F
F
F
V
F
V
F
V
V
V
F
F
V
V
F
V
F
F
V
V
F
F
F
V
F
V
F
T
V
V
F
F
T
V
F
V
F
F
V
V
F
F
F
V
F
V
F
V
V
V
F
F
V
V
F
V
F
F
V
Tabela Verdade de G (PQ) (R (~S))

Uma tabela , tal como a tabela 2.2, que mostra os valores da Frmula G para todas as
possveis combinaes de valores dos tomos pertencentes a G chamada Tabela Verdade de
G.
Agora dar-se- uma definio formal de uma interpretao de uma frmula
proposicional.
Definio: Dada a frmula proposicional G, seja A1, A2, ..., An os tomos que compem a
frmula G. Ento uma interpretao de G uma seqncia de valores para A1, ..., An no qual
cada Ai possui um valor V ou F, mas no ambos.
Definio: Uma frmula G dita ser verdadeira sob (ou em) uma interpretao se e somente
se G avaliada V (verdadeira) na interpretao; do contrrio, G dita ser falsa sob a
interpretao.
Se existirem n tomos distintos em uma frmula, ento existiro 2n interpretaes
distintas para essa frmula. Algumas vezes, se A1, ..., An so tomos que compem uma
frmula, pode ser mais conveniente representar uma interpretao por um conjunto {m1,
m2, ..., mn }, onde mi Ai ou ~Ai . Por exemplo, o conjunto {P, ~Q, ~R, S} representam uma
interpretao na qual P, Q, R e S so V, F, F e V, respectivamente. Isto , se um tomo A est
em um conjunto que representa uma interpretao, ento A possui valor V; enquanto que se a
negao do tomo A est no conjunto, ento A recebe o valor F. Essa conveno ser adota
daqui para frente.
2.3. VALIDADE E INCONSISTNCIA NA LGICA PROPOSICIONAL
Nesta seo, vai-se considerar frmulas que so verdadeiras sob todas as suas
interpretaes possveis e frmulas que so falsas sob todas as suas interpretaes possveis.
Exemplo 2.2: Considere a frmula: G ((PQ) P) Q .
Os tomos nesta frmula so P e Q. Portanto, a frmula G tem 2 2 = 4 interpretaes.
Os valores verdade de G sob todas as suas 4 interpretaes so dados na tabela 2.3. Note que
7

a frmula G verdadeira sob todas as suas interpretaes. Esta frmula ser chamada de uma
frmula vlida (ou tautologia).
P Q
(PQ)
(P Q) P
((PQ) P) Q
V V
V
V
V
V F
F
F
V
F V
V
F
V
F F
V
F
V
Tabela 2.3 - Tabela Verdade de ((PQ) P) Q
Exemplo 2.3: Considere a frmula: G (P Q) (P ~Q).
A tabela verdade de G dada na tabela 2.4. Note que G falso sob todas as suas
interpretaes. Esta frmula ser chamada de uma frmula inconsistente (ou uma
contradio).
P Q ~Q
(P Q)
(P ~Q)
(P Q) (P ~Q)
V V F
V
F
F
V F V
F
V
F
F V F
V
F
F
F F V
V
F
F
Tabela 2.4 - Tabela Verdade de (P Q) (P ~Q).
Agora ver-se- a definio formal de validade e inconsistncia.
Definio: Uma frmula dita vlida se e somente se ela for verdadeira sob todas as suas
interpretaes. Uma frmula dita invlida se e somente se ela no vlida.
Definio: Uma frmula dita ser inconsistente se e somente se ela for falsa sob todas as suas
interpretaes. Uma frmula dita ser consistente se e somente se ela no for inconsistente.
Pelas definies acima, so bvias as seguintes observaes:
1. Uma frmula vlida se e somente se sua negao inconsistente.
2. Uma frmula inconsistente se e somente se sua negao vlida.
3. Uma frmula invlida se e somente se existe, no mnimo, uma interpretao sob a qual a
frmula falsa.
4. Uma frmula consistente se e somente se existe no mnimo uma interpretao sob a qual a
frmula verdadeira.
5. Se uma frmula vlida, ento consistente, mas no vice-versa.
6. Se uma frmula inconsistente, ento ela invlida, mas no vice-versa.
Exemplo 2.4: Usando o mtodo das tabelas verdade, possvel estabelecer o seguinte:
a. (P ~P) inconsistente; portanto tambm invlida.
b. (P ~P) vlida; portanto tambm consistente.
c. (P ~P) invlida, mas ainda consistente.
Se uma frmula F verdadeira sob uma interpretao I, ento diz-se que I satisfaz F,
ou F satisfeita por I. Por outro lado, se uma frmula F falsa sob uma interpretao I, ento
diz-se que I falsifica F ou F falsificada por I. Por exemplo, a frmula (P (~Q)) satisfeita
pela interpretao {P, ~Q}, mas falsificada pela interpretao {P, Q}. Quando uma
interpretao I satisfaz uma frmula F, I tambm chamado de modelo de F.
Ser mostrado, posteriormente, que a prova de validade ou inconsistncia de uma
frmula um problema muito importante. Na Lgica Proposicional, uma vez que o nmero de

interpretaes de uma frmula finito, uma delas pode decidir se uma frmula ou no vlida
(ou inconsistente) testando-se exaustivamente todas as suas possveis interpretaes.
2.4 FORMAS NORMAIS NA LGICA PROPOSICIONAL
Como ficar claro mais a frente, muitas vezes necessrio transformar uma frmula de
uma forma para outra, especialmente para a "forma normal". Isto feito pela substituio da
frmula dada por outra "equivalente" a ela e repetindo-se este processo at que a forma
desejada seja obtida. Por "equivalente" entende-se o seguinte:
Definio: Duas frmulas F e G so equivalentes (ou F equivalente a G), representando-se
por F = G, se e somente se, os valores verdade de F e G so os mesmos sob todas as
interpretaes de F e G.
Exemplo 2.5: Pode-se verificar que (P Q) equivalente a (~P Q) examinando a tabela
verdade (tabela 2.5).
P Q
(PQ)
(~P Q)
V V
V
V
V F
F
F
F V
V
V
F F
V
V
Tabela 2.5- Tabela Verdade de (P Q) e (~P Q).
Sero necessrios alguns recursos para se transformar uma frmula em outra
equivalente. Na lgica proposicional, o smbolo 1 representa uma frmula que sempre
verdadeira e uma frmula que sempre falsa. Ento tem-se alguns pares teis de frmulas
equivalentes, mostrados na tabela 2.6, onde F, G e H so frmulas. Para simplificar,
chamaremos cada uma delas de uma lei.
As leis na tabela 2.6 podem ser verificadas pelo uso das tabelas verdade. As leis (2.3a),
(2.3b) so, geralmente, chamadas de leis comutativas; as leis (2.4a), (2.4b) de leis associativas;
as leis (2.5a), (2.5b) de leis distributivas; e as leis (2.10a), (2.10b) de leis de De Morgan.
(2.1)
(2.2)
(2.3)
(2.4)
(2.5)
(2.6)
(2.7)
(2.8)
(2.9)
(2.10)

FG = (FG) (GF)
FG = ~F G
(a) F G = G F;
(a) (F G) H = F (G H);
(a) F (G H) = (F G) (F H);
(a) F = F;
(a) F 1 = 1;
(a) F ~F = 1;
~(~F) = F
(a) ~(F G) = ~F ~G;

(b) F G = G F (leis comutativas)


(b) (F G) H = F (G H) (leis associativas)
(b) F (G H) = (F G) (F H) (leis distributivas)
(b) F 1 = F
(b) F =
(b) F ~F =
(b) ~(F G) = ~F ~G (Leis de De Morgan)

Tabela 2.6 - Leis para Formao de Frmulas Equivalentes


Devido s leis associativas, os parnteses em (FG)H ou F(GH) podem ser
suprimidos. Isto , pode-se escrever FGH para (FG)H e F(GH). Geralmente, pode-se
escrever F1F2...Fn sem nenhuma ambigidade, onde F1, F2, ... , Fn so frmulas.
F1F2...Fn verdadeira sempre que pelo menos uma das frmulas Fi , 1 i n , for
verdadeira, do contrrio ela ser falsa. F1F2...Fn chamada de disjuno de F1,...,Fn.
9

Similarmente, pode-se escrever F1F2...Fn , a qual verdadeira se todas as frmulas F 1


, ... , Fn so verdadeiras, caso contrrio, falsa. F1F2...Fn chamada de conjuno de
F1,...,Fn .
Note que a ordem que Fi aparece na disjuno ou conjuno no importa.
Por exemplo, F1F2F3 = F1F3F2 = F2F1F3 = F3F1F2 = F2F3F1 = F3F1F2
Define-se forma normal como segue:
Definio: Um literal um tomo ou a negao de um tomo.
Definio: A frmula F dita estar na forma normal conjuntiva se e somente se F tem a
forma: F F1F2...Fn, n 1, onde cada F1,...,Fn uma disjuno de literais.
Exemplo 2.6: Sejam P, Q e R tomos. Ento F (P ~ Q R) (~P Q) uma frmula na
forma normal conjuntiva. Para essa frmula, F1 = (P ~ Q R) e F2 = (~P Q) .
Claramente, F1 uma disjuno dos literais P, ~Q, e R e F2 uma disjuno dos literais ~P e
Q.
Definio: A frmula F dita estar na forma normal disjuntiva se e somente se tem a forma: F
F1F2...Fn , n 1, onde cada F1,...,Fn uma conjuno de literais.
Exemplo 2.7: Sejam P, Q e R tomos. Ento F (~P Q) (P ~Q ~R) uma frmula na
forma normal disjuntiva. Para esta frmula,F1 = (~P Q) e F2 = (P ~Q ~R). Claramente
ve-se que F1 uma conjuno dos literais ~P e Q , e F2 uma conjuno dos literais P, ~Q e
~R.
Qualquer frmula pode ser transformada em uma forma normal. Isto obtido
facilmente usando-se as leis dadas na tabela 2.6. A seguir mostramos um resumo do
procedimento de transformao.
Passo 1 : Use as leis
(2.1) FG = (FG) (GF)
(2.2) FG = ~F G
para eliminar os conetivos lgicos e .
Passo 2 : Repetidamente use a lei
(2.9) ~(~F) = F
e as leis de De Morgan
(2.10a) ~(F G) = ~F ~G
(2.10b) ~(F G) = ~F ~G
para deslocar o sinal de negao para imediatamente antes dos tomos.
Passo 3 : Repetidamente use as leis distributivas
(2.5a) F (G H) = (F G) (F H)
(2.5b) F (G H) = (F G) (F H)
e as outras leis para obter a forma normal.
Exemplo 2.8: Obtenha a forma normal disjuntiva para a frmula (P ~Q) R.
Sendo (P ~Q) R= ~(P ~Q) R
por (2.2)
= (~P ~(~Q)) R
por (2.10a)
= (~P Q) R
por (2.9).
a forma normal disjuntiva de (P ~Q) R (~P Q) R.
10

Exemplo 2.9: Obtenha a forma normal conjuntiva para a frmula (P (Q R)) S.


Sendo (P (Q R)) S=
= (P ( ~Q R)) S
por (2.2)
= ~(P ( ~Q R)) S
por (2.2)
= (~P ~(~Q R)) S
por (2.10b)
= (~P (~(~Q) ~R)) S
por (2.10a)
= (~P (Q ~R)) S
por (2.9)
= ((~P Q) (~P ~R)) S
por (2.5a)
= S ((~P Q) (~P ~R))
por (2.3a)
= (S (~P Q)) (S (~P ~R)) por (2.5a)
= (S ~P Q) (S ~P ~R)
por (2.4a).
A forma normal conjuntiva de (P (Q R)) S (S ~P Q) (S ~P ~R).
2.5. IMPLICAO LGICA
Tanto na matemtica como na vida diria, geralmente necessrio decidir se uma
afirmao segue de outras afirmaes. Isto leva ao conceito de Implicao Lgica. Antes da
definio formal, vai-se ver um exemplo do que se entende por implicao lgica.
Exemplo 2.10: Suponha que os preos de estocagem diminuem se a taxa de juros
internacional aumenta. Suponha, tambm, que a maioria das pessoas ficam infelizes quando os
preos de estocagem diminuem. Assuma que a taxa de juros internacional aumenta. Mostre que
se pode concluir que a maioria das pessoas esto infelizes.
Para mostrar a concluso acima, colocaremos as sentenas da seguinte forma:
P Taxa de juros internacional aumenta.
S Preos de estocagem diminuem.
U A maioria das pessoas esto infelizes.
H quatro sentenas neste exemplo, que so:
(1) Se a taxa de juros internacionais aumenta, os preos de estocagem diminuem.
(2) Se os preos de estocagem diminuem, a maioria das pessoas ficam infelizes.
(3) A taxa de juros internacional aumenta.
(4) A maioria das pessoas esto infelizes.
Essas sentenas podem ser simbolizadas como:
(1) P S
(2) S U
(3) P
(4) U
Vai-se mostrar que (4) verdadeiro sempre que (1)(2)(3) verdadeiro. Atravs de
simbologia prpria tem-se que ((P S) (S U) P) representa a sentena anterior.
Transformando para a forma normal conjuntiva atravs da aplicao de diversas leis de
transformao apresentadas anteriormente obtm-se:
((P S) (S U) P)
((~P S) (~S U) P)
Por 2.2
(P (~P S) (~S U))
Por 2.3b (Lei comutativa)
(((P ~P) (P S)) (~S U)) Por 2.5b (Lei distributiva)
(( (P S)) (~S U))
Por 2.8b (Lei do inverso)
(P S) (~S U)
Por 2.6a (Lei da identidade)
(P S ~S) (P S U)
Por 2.5b (Lei distributiva)
(P ) (P S U)
Por 2.8b (Lei do inverso)
11

 (P S U)
Por 2.7b (Lei do elemento nulo)
PSU
Por 2.6a (Lei da identidade)
Portanto, se ((P S) (S U) P) verdadeiro, como exposto acima, ento (P S
U) verdadeiro, pois so equivalentes. Uma vez que, (P S U) verdadeiro somente se
P, S e U so todos verdadeiros, conclu-se que U verdadeiro.
Devido ao fato de U ser verdadeiro quando (P S), (S U) e P so verdadeiros, em
lgica, U chamado de implicao lgica de (P S), (S U) e P. Mais formalmente, podese definir implicao lgica como segue.
Definio: Dadas as frmulas F1, F2, F3, ..., Fn e a frmula G, diz-se que F1,F2,...,Fn implica
logicamente ou apenas implica na frmula G, se G verdadeiro todas as vezes que
F1F2F3...Fn for verdadeiro.
Indica-se da seguinte forma: F1 F2 F3 ... Fn G
Exemplo 2.11: As tabelas verdade das frmulas P Q,
P
V
V
F
F

Q
V
F
V
F

P Q
V
F
F
F

P Q
V
V
V
F

PQ

P Q
V
F
F
V

P Q so:
(1)
(2)
(3)
(4)

A frmula P Q verdadeira (V) somente na linha 1 e, nesta linha, as frmulas P Q e


P Q tambm so verdadeiras (V). Logo, a primeira frmula implica cada uma das outras
duas frmulas, isto :
PQPQ
e
PQPQ
Teorema 2.1 (Teorema da Deduo): Dadas as frmulas F1,...,Fn e a frmula G, F1,...,Fn
implica logicamente em G se e somente se a frmula condicional ((F1 F2 F3 ... Fn)
G) vlida (tautologia).
Prova: (IDA) Suponha que G implicao lgica de F1,...,Fn. Seja I uma interpretao
arbitrria. Se F1,...,Fn so verdadeiros em I, ento, pela definio de implicao lgica, G
verdadeiro em I. Portanto, ((F1 ... Fn) G) verdadeiro em I. Por outro lado, se F1,...,
Fn so falsos em I, ento a condicional ((F1 ... Fn) G) verdadeira em I. Dessa forma,
((F1 ... Fn) G) verdadeira sob qualquer interpretao. Ento a condicional ((F1 ...
Fn) G) uma frmula vlida (tautolgica).
(VOLTA) Suponha que a condicional ((F1 ... Fn) G) uma frmula vlida. Para
alguma interpretao I, se (F1 ... Fn) verdadeira em I, ento G precisa ser verdade em I.
Portanto, G implicao lgica de F1, ... , Fn.
Portanto, a toda implicao lgica corresponde uma condicional vlida (tautolgica).
Exemplo 2.12: A condicional P ~P Q vlida, pois a ltima coluna de sua tabela verdade
encerra somente a letra V.
P
Q
~P
P ~P
P ~P Q
V
V
F
F
V
V
F
F
F
V
F
V
V
F
V
F
F
V
F
V
12

Logo, subsiste a implicao lgica P ~P Q.


Teorema 2.2: Dadas as frmulas F1,..., Fn e a frmula G, G uma implicao lgica de F1,...,
Fn se e somente se a frmula (F1 F2 ... Fn ~G) inconsistente (contradio).
Prova: Pelo teorema 2.1, anteriormente demonstrado, G uma implicao lgica de F1, ..., Fn
se e somente se a frmula ((F1 ... Fn) G) vlida. Portanto, G uma implicao lgica
de F1, ..., Fn se e somente se a negao de ((F1 ... Fn) G) inconsistente
(contraditria). Uma vez que,
~((F1 ... Fn) G)
~(~(F1 ... Fn) G)
Por 2.2
(~(~(F1 ... Fn)) ~G)
Por 2.10 (Lei de De Morgan)
(F1 ... Fn) ~G
Por 2.9 (Lei da dupla negao)
F1 ... Fn ~G,
conclui-se que o teorema 2.2 verdadeiro.
Os teoremas 2.1 e 2.2 so muito importantes. Eles mostram que provando que uma
frmula particular uma implicao lgica de um conjunto finito de frmulas o equivalente a
provar que uma certa frmula relacionada vlida (tautolgica) ou inconsistente
(contraditria).
Exemplo 2.13: Considere as frmulas F1 (P Q), F2 ~Q e G ~P. Mostre que G
uma implicao lgica de F1 e F2, ou seja, ((P Q) ~Q) ~P.
Resposta: Para mostrar a implicao lgica acima pode-se usar trs mtodos: o primeiro
fazer a prova atravs de tabela verdade usando a definio, o segundo e o terceiro usar,
respectivamente, os teoremas 2.1 e 2.2 onde se quer provar se as respectivas frmulas so
vlidas ou inconsistentes. Para tanto, desenvolve-se cada teorema na forma normal conjuntiva
ou na forma normal disjuntiva. A escolha da frmula equivalente arbitrria, mas pode-se
diminuir a quantidade de clculos usando a forma normal disjuntiva para provar a validade
(Teorema 2.1) e a forma normal conjuntiva para provar a inconsistncia (Teorema 2.2). Isso
explicado pela Lei 2.7 (Lei do Elemento Nulo). Para se chegar validade em uma expresso na
forma normal disjuntiva preciso apenas que durante o desenvolvimento apenas um membro
seja verdadeiro:
F1 F2 F3 1 F4 ... Fn = 1
No caso de se querer provar a inconsistncia de uma expresso na forma normal
conjuntiva, necessrio provar apenas que um membro seja falso para tornar toda a expresso
falsa:
F1 F2 F3 F4 ... Fn =
Mtodo 1: Pode-se usar a tcnica da tabela verdade para mostrar que G verdade em
cada modelo (interpretao) de (P Q) ~Q. Portanto,
P
V
V
F
F

Q
V
F
V
F

P Q
V
F
V
V

~Q
F
V
F
V

(P Q) ~Q
F
F
F
V

13

~P
F
F
V
V

(1)
(2)
(3)
(4)

Da tabela acima, pode-se notar que h somente uma interpretao (4) onde (P Q)
~Q verdadeiro. Como se v nessa interpretao (4) ~P tambm verdadeiro. Assim, pela
definio de implicao lgica, concluimos que (P Q) ~Q implicam logicamente em ~P.
Mtodo 2: Aqui usa-se o teorema 2.1. Este pode ser provado extendendo a tabela
verdade anterior ou desenvolvendo-se a frmula ((P Q) ~Q) ~P.
a) A tabela a seguir mostra que ((P Q) ~Q) ~P verdade (V) em todas as
interpretaes. Portanto ((P Q) ~Q) ~P vlida (tautologia) e, conforme o teorema
2.1, ~P uma implicao lgica de (P Q) e ~Q.
P
Q
~Q
~P
PQ
(P Q) ~Q
((PQ~Q)~P
V
V
V
F
F
F
V
V
F
F
V
F
F
V
F
V
V
F
F
V
V
F
F
V
V
V
V
V
b) Pode-se, tambm, provar a validade de ((P Q) ~Q) ~P pela sua
transformao em formas normais conjuntivas ou disjuntivas. Como se quer provar uma
validade, torna-se mais conveniente usar a forma normal disjuntiva.
~((P Q) ~Q) ~P
Por 2.2
~((~P Q) ~Q) ~P
Por 2.2
~((~P ~Q) (Q ~Q)) ~P
Por 2.5b (Lei distributiva)
~((~P ~Q) ) ~P
Por 2.8b (Lei do inverso)
~((~P ~Q)) ~P
Por 2.6a (Lei da identidade)
(P Q) ~P
Por 2.10b (Lei de De Morgan)
(Q P) ~P
Por 2.3a (Lei comutativa)
Q (P ~P)
Por 2.4a (Lei associativa)
Q1
Por 2.8a (Lei do inverso)
1
Por 2.7a (Lei do elemento nulo)
Deste modo, ((P Q) ~Q) ~P vlida.
Mtodo 3: Aqui vai-se usar o teorema 2.2. Neste caso, quer-se provar que ~(((P Q)
~Q) ~P) = ((P Q) ~Q) (~(~P)) = (P Q) ~Q P inconsistente.
a) Novamente, como no mtodo 2, pode-se usar a tcnica da tabela verdade para
mostrar que ((P Q) ~Q) ~P falso em cada interpretao.
P
V
V
F
F

Q
V
F
V
F

~Q
F
V
F
V

P Q
V
F
V
V

(P Q) ~Q P
F
F
F
F

(1)
(2)
(3)
(4)

Da tabela acima conclu-se que (P Q) ~Q P inconsistente e, de acordo com o teorema


2.2, ~P implicao lgica de (P Q) e ~Q .
b) Pode-se, tambm, provar a inconsistncia de (P Q) ~Q P atravs de sua
transformao em uma forma normal conjuntiva.
14

(P Q) ~Q P
(~P Q) ~Q P
Por 2.2
((~P ~Q) (Q ~Q)) P
Por 2.5b (Lei distributiva)
((~P ~Q) ) P
Por 2.8b (Lei do inverso)
((~P ~Q) P
Por 2.6a (Lei da identidade)
((~Q ~P) P
Por 2.3b (Lei comutativa)
~Q (~P P)
Por 2.4b (Lei associativa)
~Q
Por 2.8b (Lei do inverso)

Por 2.7b (Lei do elemento nulo)


Dessa forma, (P Q) ~Q P inconsistente e portanto fica mostrada a implicao lgica.
2.6 APLICAES DA LGICA PROPOSICIONAL
Aps discutir vrios aspectos e conceitos nas sees anteriores, vai-se abordar agora
aplicaes da lgica proposicional. Elas so melhores ilustradas atravs de exemplos.
Exemplo 2.14: Dado que o congresso se recusa aprovar novas leis, ento a greve no
terminar a menos que ela dure mais que um ano e o presidente da empresa renuncie. A greve
terminar se o congresso se recusar a agir e a greve est apenas iniciando?
Inicialmente transforma-se as sentenas em smbolos:
P : O congresso se recusa a agir.
Q : A greve acabou.
R : O presidente da empresa renuncia.
S : A greve dura mais que um ano.
Ento os fatos dados no exemplo podem ser representados atravs de frmulas:
F1 : (P (~Q (R S))) se o congresso se recusa aprovar novas leis, ento a greve no
terminar a menos que ela dure mais que um ano e o presidente da empresa renuncie.
F2 : P o congresso se recusa a agir.
F3 : ~S a greve apenas iniciou.
A partir dos fatos F1, F2 e F3 pode-se concluir que a greve no terminar? Isto ,
pode-se mostrar que ~Q conseqncia lgica de F1, F2 e F3? Pelo Teorema 2.1, isto
equivalente a mostrar que ((P (~Q (R S))) P ~S) ~Q uma frmula vlida. Os
valores verdade da frmula acima sob todas as suas interpretaes so mostrados na tabela
2.7.
A partir da tabela 2.7, pode-se ver que no h nenhuma interpretao sob a qual a
frmula falsa. Portanto a frmula ((P (~Q (R S))) P ~S) ~Q uma frmula
vlida. Deste modo ~Q conseqncia lgica de F1, F2 e F3. Isto , pode-se concluir ~Q de
F1, F2 e F3. Portanto a resposta no, A GREVE NO TERMINAR.

P
V
V
V
V
V

Q
V
V
V
V
F

R
V
V
F
F
V

S
V
F
V
F
V

F1
V
F
F
F
V

F2
V
V
V
V
V

F3
F
V
F
V
F
15

~Q
F
F
F
F
V

(F1 F2 F3) ~Q
V
V
V
V
V

V
V
V
F
F
F
F
F
F
F
F

F
F
F
V
V
V
V
F
F
F
F

V
F
V
V
V
V
V
F
V
V
V
F
V
V
F
F
V
V
V
V
V
V
V
V
F
F
F
V
V
F
V
F
V
F
V
F
V
V
F
F
F
V
F
F
V
F
V
F
V
V
V
V
F
F
V
V
V
F
V
F
V
V
V
F
V
V
F
F
V
V
F
F
V
F
V
V
V
Tabela 2.7 Tabela da Verdade de (F1 F2 F3) ~Q

Exemplo 2.15: (Problema da Sntese Qumica)


Suponha que se tenha as seguintes reaes qumicas.
MgO + H2 Mg + H2O
C + O2 CO2
CO2 + H2O H2CO3
Suponha, tambm, que se tenha alguma quantidade de MgO, H 2, O2 e C. Mostre que se
pode fazer H2CO3.
Para este problema, deve-se considerar MgO, H2, O2 e C, como frmulas atmicas.
Ento as reaes qumicas acima podem ser representadas pelas seguintes frmulas:
A1: (MgO H2) (Mg H2O)
A2: (C O2) CO2
A3: (CO2 H2O) H2CO3
Uma vez que temos MgO, H2, O2 e C, estes fatos podem ser representados pelas
seguintes frmulas:
A4: MgO
A5: H2
A6: O2
A7: C
Agora, o problema pode ser tratado como a prova de que H2CO3
conseqncia lgica de A1, ... , A7, que, pelo teorema 2.2, verdadeiro, se (A1 ... A7)
~H2CO3 inconsistente. Prova-se isto, transformando a frmula A1 ... A7 ~H2CO3 em sua
forma normal disjuntiva.
A1 ... A7 ~H2CO3 =
((MgO H2) (Mg H2O)) ((C O2) CO2)
((CO2 H2O) H2CO3) MgO H2 O2 C ~H2CO3
=
(~MgO ~H2 Mg) (~MgO ~H2 H2O)
(~C ~O2 CO2) (~CO2 ~H2O H2CO3)
MgO H2 O2 C ~H2CO3
=
(~MgO ~H2 Mg) (~MgO ~H2 H2O) MgO H2
(~C ~O2 CO2) C O2 (~CO2 ~H2O H2CO3)
~H2CO3
=
Mg H2O MgO H2 CO2 C O2
(~CO2 ~H2O) ~H2CO3
=
(~CO2 ~H2O) H2O CO2 Mg MgO H2 C O2
~H2CO3
=
Mg MgO H2 C O2 ~H2CO3
16

Uma vez que sempre falso, a frmula (A1 ... A7 ~H2CO3) inconsistente.
Portanto, H2CO3 conseqncia lgica de A1 ... A7. Isto , pode-se obter H2CO3 a partir de
MgO, H2, O2 e C. O procedimento acima de provar que uma frmula inconsistente pela sua
transformao em , alguma vezes, chamado de mtodo multiplicativo, pois o processo de
transformao muito semelhante a multiplicao por zero em uma expresso aritmtica. O
exemplo 2.15 apenas um simples exemplo de sntese qumica. Na realidade existem centenas
de reaes qumicas. De maneira a provar de forma eficiente estes teoremas, necessita-se de
mtodos eficientes, que sero discutidos nos captulos seguintes.
Nos exemplos anteriores, mostrou-se que lgica proposicional pode ser aplicada na
soluo de vrios problemas. O mtodo , inicialmente, simbolizar os problemas atravs de
frmulas e, ento, provar que estas frmulas so vlidas ou inconsistentes. Usou-se o mtodo
da tabela da verdade e o mtodo multiplicativo para provar que uma frmula vlida
(inconsistente). Nos captulos seguintes, mtodos mais eficientes sero vistos para provar a
validade e inconsistncia de frmulas.
2.7 EXERCCIOS
SEO 2.1
1. Simbolize as seguintes proposies por frmulas.
(a) Uma relao uma relao de equivalncia se e somente se ela reflexiva, simtrica
e transitiva.
(b) Se a umidade est elevada, chover esta tarde ou esta noite.
(c) O cncer no ser curado a no ser que sua causa seja determinada e uma nova
droga para o cncer seja encontrada.
(d) necessrio coragem e habilidade para escalar uma montanha.
(e) Se ele um homem que trabalha arduamente em sua campanha, ele provavelmente
ser eleito.
2. Seja,
P Ele precisa de um doutor.
R Ele teve um acidente.
U Ele est ferido.

Q Ele precisa de um advogado.


S Ele est doente.

Coloque as seguintes frmulas em Portugus.


(a) (S P) (R Q)
(b) P (S U)
(c) (P Q) R
(d) (P Q) (S U)
(e) ~(S U) ~P
SEO 2.2
3. Complete a tabela verdade da seguinte frmula:
(~P Q) (~(P ~Q))
P
V
V
F
F

Q
V
F
V
F

~P

~Q

~P Q

P ~Q

~(P ~Q)

17

(~P Q) (~(P ~Q))

SEO 2.3
4. Para cada uma das seguintes frmulas, determine se vlida, invlida, inconsistente,
consistente ou alguma combinao dessas dessas.
(a) ~(~P) P
(b) P (P Q)
(c) ~(P Q) ~Q
(d) (P Q) P
(e) (P Q) (~Q ~P)
(f) (P Q) (Q P)
(g) P (P Q)
(h) (P (Q P)) P
(i) P (Q ~P)
(j) (P ~Q) (~P Q)
(k) ~P (~(P Q))
(l) P ~P
(m) ~P P
5. Considere a seguinte proposio:
Se o congresso se recusa a promulgar novas leis, ento a greve no terminar a menos
que dure mais que um ano e o presidente da firma renuncie, e se o congresso promulga novas
leis ou a greve no termina ento a greve durar mais que um ano.
A proposio acima contraditria? Explique.
SEO 2.4
6. Transforme as seguintes frmulas em formas normais disjuntivas.
(a) (~P Q) R
(b) P ((Q R) S)
(c) ~(P ~Q) (S T)
(d) (P Q) R
(e) ~(P Q) (P Q)
7. Transforme as seguintes frmulas em formas normais conjuntivas.
(a) P (~P Q R)
(b) ~(P Q) (P Q)
(c) ~(P Q)
(d) (P Q) R
(e) (~P Q) (P ~Q)
8. possvel ter uma frmula que forma normal conjuntiva e tambm forma normal
disjuntiva? Caso exista, d um exemplo.
9. Verifique cada um dos seguintes pares de frmulas equivalentes atravs de transformaes
em ambos os lados na mesma forma normal.
(a) P P = P e P P = P
(b) (P Q) (P R) = (P (Q R))
(c) (P Q) (P Q) = (~P Q) (Q P)
(d) P Q (~P ~Q) = ~P ~Q (P Q)
(e) P (P (P Q)) = ~P ~Q (P Q)
SEES 2.5 E 2.6
10. Prove que (~Q ~P) uma implicao lgica de (P Q).
11. Se o congresso se recusa a promulga novas leis, ento a greve no terminar a no ser que
ela dure mais que um ano e o presidente da firma renuncie. Suponha que o congresso se recusa
a agir, a greve termine e o presidente da firma no renuncie. A greve durou mais que um ano?
12. Considere as seguintes proposies:
18

F1 Tom no pode se um bom estudante a no ser que seja dedicado e seu pai o
financie.
F2 Tom um bom estudante se seu pai o financia.
Mostre que F2 uma implicao lgica de F1.
13. Mostre que para as seguintes proposies, F2 uma implicao lgica de F1.
F1 Se o presidente no tem a autoridade apropriada ou se ele no quer assumir a
responsabilidade, ento nem a ordem ser restaurada e nem os disturbios pararo de se
expandir a menos que os desordeiros tornem-se cansados da desordem e as autoridades locais
comecem a tomar medidas conciliatrias.
F2 Se o presidente no quer assumir a responsabilidade e os desordeiros no esto
cansados da desordem, ento os desordeiros se expandiro.
14. Mostre que Q uma implicao lgica de (P Q) e P. Esta a chamada regra modus
ponens.

19

CAPTULO 3 - LGICA DE PREDICADOS


3.1 INTRODUO
Na lgica proposicional, a maioria dos elementos bsicos so tomos. Atravs dos
tomos se constrem frmulas. Ento, usa-se as frmulas para expressar vrias idias
complexas. Como discutido no Captulo 2, nesta lgica simples, um tomo representa uma
sentena declarativa que pode ser V ou F, mas no ambos. Um tomo tratado como uma
entidade nica. Seus atributos e componentes so desprezados. Entretanto, existem muitas
idias que no podem ser tratadas desta maneira simplista. Por exemplo, considere a seguinte
declarao: Todo homem mortal.
Uma vez que Confcio um homem, ele mortal.
O raciocnio acima intuitivamente correto, porm se for aplicada a seguinte
representao: P: Todo homem mortal,
Q: Confcio um homem,
R: Confcio mortal,
ento R no conseqncia lgica de P e Q dentro do contexto da lgica proposicional. Isto
acontece porque os atributos de P, Q e R no so utilizados na lgica proposicional. Neste
Captulo, ser introduzida a lgica de predicados, que apresenta mais trs conceitos lgicos,
chamados: termos, predicados e quantificadores. Ser visto na seqncia que a maioria da
linguagem, tanto corrente (Portugus) quanto matemtica, pode ser simbolizada como lgica
de predicados.
Da mesma forma que na lgica proposicional, inicia-se definindo tomos na lgica de
predicados. Antes de formalizar a definio de tomo, observe alguns exemplos.
Suponha que se deseja representar "x maior que 3". Inicialmente define-se um
predicado MAIOR(x,y) significando "x maior que y" (observe que um predicado uma
relao). Ento a sentena "x maior que 3" representada por MAIOR(x,3).
De maneira semelhante, pode representar "x ama y" pelo predicado AMA(x,y). Ento a
frase "Joo ama Maria" pode ser representada por AMA(Joo, Maria).
Tambm se pode usar funes na lgica de predicados. Por exemplo, pode usar
adio(x,y) para representar "x + y" e pai(x) significando "o pai de x". As sentenas "x + 1
maior que x" e "O pai de Joo o ama" podem ser simbolizadas por MAIOR(adio(x,1),x) e
AMA(pai(Joo),Joo), respectivamente.
Nos exemplos anteriores, MAIOR(x,3), AMA(Joo, Maria), MAIOR(adio(x,1),x) e
AMA(pai(Joo),Joo) so todos tomos na lgica de predicados, onde MAIOR e AMA so
predicados; x uma varivel; 3, Joo e Maria so constantes; e pai e adio so funes.
Em geral, permitido o uso de quatro tipos de smbolos na construo de um tomo:
i.
Constantes: so, geralmente, nomes de objetos, tais como: 3, Joo e Maria.
ii. Variveis: so escritos, normalmente, em letras minsculas ou letras sublinhadas: x, y, z,...
iii. Funes: so escritos, normalmente, em letras minsculas, f, g, h, ... ou cadeias
significativas como pai e adio.
iv. Predicados: so escritos, normalmente, em letras maisculas, P, Q, R, ... ou cadeias
significativas como MAIOR e AMA.
Qualquer funo ou predicado necessita de um nmero especificado de argumentos. Se
a funo f necessita de n argumentos, f chamada de funo n-arg. Observe que uma constante
pode ser considerada uma funo sem argumentos. Do mesmo modo, se um predicado P
necessita de n argumentos, ento P chamado de predicado n-arg. Por exemplo, pai uma
funo 1-arg e MAIOR e AMA so predicados 2-arg.
Uma funo um mapeamento de uma lista de constantes para uma constante. Por
exemplo, pai(Joo) uma funo que mapeia a pessoa chamada Joo para uma pessoa que o
20

pai de Joo. Portanto pai(Joo) representa uma pessoa, mesmo sem se conhecer seu nome.
Chama-se pai(Joo) um termo na lgica de predicados. Formalmente, tem-se a seguinte
definio:
Definio: Termos so definidos, recursivamente, como:
i.
Uma constante um termo.
ii. Uma varivel um termo.
iii. Se f uma funo n-arg e t1, t2, ... , tn so termos, ento f(t1,t2, ... ,tn) um termo.
iv. Todos os termos so gerados pela aplicao das regras acima.
Exemplo 3.1: Sendo x e 1 termos, e adio uma funo 2-arg, adio(x,1) um termo pela
definio acima.
Alm disso, pode-se ver que adio(adio(x,1),x) e pai(pai(Joo)) tambm so termos,
onde o primeiro representa (x + 1) + x e o seguinte representa o av de Joo.
Um predicado um mapeamento de uma lista de constantes para V ou F. Por exemplo,
MAIOR um predicado, MAIOR(5,3) V, mas MAIOR(2,3) F. Tendo definido termos,
pode-se definir formalmente um tomo na lgica de predicados.
Definio: Se P um predicado n-arg, e t1, t2, ... , tn so termos, ento P(t1,t2, ... ,tn) um
tomo.
Estando os tomos definidos, pode-se usar os mesmos cinco conectivos lgicos ( ~, ,
, , ) vistos no Captulo 2 para construir frmulas. Alm disso, uma vez que foram
introduzidas variveis. Os smbolos e so chamados, respectivamente, de quantificador
existencial e quantificador universal. Se x uma varivel, ento (x) lido como "para todo x"
e (x) lido como "existe um x", "para algum x", "para no mnimo um x". Vai-se exemplificar
para melhor enxergar como os quantificadores podem ser usados.
Exemplo 3.2: Simbolize as seguintes sentenas:
(a) Todo nmero racional um nmero real.
(b) Existe um nmero que primo.
(c) Para todo nmero x, existe um nmero y tal que x < y.
Representando "x um nmero primo" por P(x), "x um nmero racional" por Q(x),
"x um nmero real" por R(x) e "x menor que y" por MENOR(x,y), as sentenas acima
podem ser escritas como:
(a') (x) (Q(x) R(x))
(b') (x) P(x)
(c') (x)(y) MENOR(x,y)
Cada uma das expresses (a'), (b') e (c') chamada frmula. Antes da definio de
frmula, vai-se ver a distino entre variveis dependentes e variveis livres. Para isto,
inicialmente, define-se o escopo (rea de abrangncia) do quantificador como sendo a frmula
na qual ele ocorre, ou seja, a frmula na qual o quantificador aplicado. Por exemplo, o
escopo tanto do quantificador universal quanto do quantificador existencial na frmula (c')
MENOR(x,y). O escopo do quantificador universal na frmula (a') (Q(x) R(x)).
Definio: A ocorrncia de uma varivel em uma frmula dependente se e somente se sua
ocorrncia est dentro do escopo de um quantificador utilizando a varivel ou a ocorrncia
21

no prprio quantificador. A ocorrncia de uma varivel em uma frmula livre se e somente se


a ocorrncia no dependente.
Definio: Uma varivel livre na frmula se, no mnimo, uma ocorrncia dela livre na
frmula. Uma varivel dependente se, no mnimo, uma ocorrncia dela dependente.
Na frmula (x) P(x,y), uma vez que ambas as ocorrncias de x so dependentes, a
varivel x dependente. Entretanto, a varivel y livre, uma vez que sua nica ocorrncia
livre. Observe que uma varivel pode ser livre e dependente em uma mesma frmula. Por
exemplo, y livre e dependente na frmula (x) P(x,y) (y) Q(y).
Pode-se agora definir, formalmente, uma frmula, usando tomos, conectivos lgicos e
quantificadores.
Definio: Frmulas bem formadas (fbf) ou, resumidamente, frmulas, na lgica de
predicados so definidas, recursivamente como segue:
i. Um tomo uma frmula (observe que tomo uma abreviatura para frmula atmica).
ii. Se F e G so frmulas, ento ~(F), (FG), (FG), (FG), (FG) so frmulas.
iii. Se F uma frmula e x uma varivel livre em F, ento (x) F e (x) F so frmulas.
iv. Frmulas so geradas somente pela aplicao, um nmero finito de vezes de i, ii e iii.
Como no Captulo 2, os parnteses podero ser omitidos quando no cause confuso.
As regras vistas anteriormente podem ser ampliadas considerando que os quantificadores
tenham as reas de abrangncia restritas. Por exemplo, (x) A B, representa (((x) A) B).
Exemplo 3.3: Transforme a sentena "Todo homem mortal. Confcio um homem. Portanto
Confcio mortal" em uma frmula. Representando "x um homem" por HOMEM(x) e "x
mortal" por MORTAL(x). Ento:
"Todo homem mortal" pode ser representado por: (x) (HOMEM(x)MORTAL(x)),
"Confcio um homem" pode ser representado por: HOMEM(Confcio) e
"Confcio mortal" pode ser representado por: MORTAL(Confcio), portanto a sentena
completa pode ser representada por:
(x) (HOMEM(x)MORTAL(x)) HOMEM(Confcio) MORTAL(Confcio)
Exemplo 3.4: Os axiomas bsicos dos nmeros naturais so os seguintes:
A1: Para todo nmero, existe um e somente um sucessor imediato.
A2: No existe nenhum nmero para o qual 0 seja o seu sucessor imediato.
A3: Para todo nmero diferente de 0, existe um e somente um predecessor imediato.
Fazendo f(x) e g(x) representar o sucessor imediato de x e o predecessor imediato de x,
respectivamente e I(x,y) representar "x igual a y". Ento os axiomas podem ser
representados pelas seguintes frmulas:
A1': (x)(y) ( I(y,f(x)) (z) ( I(z,f(x)) I(y,z)))
A2': ~((x) I(0,f(x)))
A3': (x) (~I(x,0) ((y) ( I(y,g(x)) (z) ( I(z,g(x)) I(y,z)))))
3.2 INTERPRETAO DE FRMULAS NA LGICA DE PREDICADOS
N lgica proposicional, uma interpretao uma atribuio de valores verdade aos
tomos. Na lgica de predicados, uma vez que existem variveis envolvidas, tem-se algo mais.
22

Para definir uma interpretao para uma frmula na lgica de predicados, tem-se que
especificar duas coisas: o domnio e uma atribuio de valores para as constantes, funes e
predicados ocorrendo na frmula. A seguir tem-se a definio formal de uma interpretao de
uma frmula na lgica de predicados.
Definio: Uma interpretao de uma frmula F na lgica de predicados, consiste de um
domnio D, no vazio e uma atribuio de valores para cada constante, funo e predicado
ocorrendo na frmula, como segue:
1. Para cada constante, atribui-se um elemento em D.
2. Para cada funo n-arg, atribui-se um mapeamento de Dn para D. (Observe que Dn =
{(x1, ... , xn) | x1 D, ... , xn D}).
3. Para cada predicado n-arg, atribui-se um mapeamento de Dn para { V , F }.
Algumas vezes, para enfatizar o domnio D, fala-se de uma interpretao de uma
frmula sobre D. Quando se avalia o valor verdade de uma frmula em uma interpretao
sobre o domnio D, (x) ser interpretado como "para todos os elementos de D" e (x) como
"existe um elemento em D".
Para toda interpretao de uma frmula sobre um domnio D, a frmula pode ser
avaliada V ou F de acordo com as seguintes regras:
1. Se os valores verdade das frmulas G e H so avaliados, ento os valores verdade das
frmulas ~(G), (GH) (GH), (GH), (GH) so avaliados utilizando-se a tabela 2.1 do
Captulo 2.
2. (x) G avaliado V se o valor de G avaliado V para todo x em D, caso contrrio
avaliado F.
3. (x) G avaliado V se o valor de G V para, no mnimo, um x em D, caso contrrio
avaliado F.
Note que qualquer frmula contendo variveis livres no pode ser avaliada. A partir
deste ponto, vai-se assumir que, ou as frmulas no contm variveis livres ou as variveis
livres so tratadas como constantes.
Exemplo 3.5: Considere as frmulas: (x) P(x) e (x) ~P(x) e uma interpretao como segue:
Domnio: D = { 1 , 2 }
Atribuio para P:
P(1)
V

P(2)
F

Fica fcil confirmar que (x) P(x) F nessa interpretao, pois P(x) no V para x = 2. Por
outro lado, uma vez que ~P(2) V nessa interpretao (x) ~P(x) tambm V.
Exemplo 3.6: Considere a frmula: (x)(y) P(x,y) e uma interpretao como segue:
Domnio: D = { 1 , 2 }
Atribuio para P:
P(1,1)
V

P(1,2)
F
23

P(2,1)
F

P(2,2)
V

Se x = 1, pode-se ver que existe um y, de valor 1, tal que P(1,y) V.


Se x = 2, tambm existe um y, de valor 2, tal que P(2,y) V.
Portanto, na interpretao acima, para todo x em D, existe um y tal que P(x,y) V, isto
, (x)(y) P(x,y) V nessa interpretao.
Exemplo 3.7: Considere a frmula G: (x) (P(x) Q(f(x),a)). Existe uma constante a, uma
funo f, 1-arg, um predicado P, 1-arg e um predicado Q, 2-arg. Uma interpretao I de G
pode ser descrita como segue:
Domnio: D = { 1 , 2 }
Atribuio para a:
a
1
Atribuio para f:
f(1)
2
Atribuio para P e Q:
P(1)
P(2)
F
V

f(2)
1
Q(1,1)
V

Q(1,2)
V

Q(2,1)
F

Q(2,2)
V

Se x = 1, ento: P(x) Q(f(x),a)

= P(1) Q(f(1),a)
= P(1) Q(2,1) = F F = V
Se x = 2, ento: P(x) Q(f(x),a)
= P(2) Q(f(2),a)
= P(2) Q(1,1) = V V = V
Uma vez que P(x) Q(f(x),a) V para todos os valores de x no domnio D, a frmula
(x) (P(x) Q(f(x),a)) verdadeira na interpretao I.
Exemplo 3.8: Encontre os valores verdade para as seguintes frmulas, considerando a
interpretao dada no exemplo 3.7.
(a) (x) (P(f(x)) Q(x,f(a)))
Se x = 1, ento: P(f(x)) Q(x,f(a)) = P(f(1)) Q(1,f(a))
= P(2) Q(1,f(1)) = P(2) Q(1,2) = V V = V
Se x = 2, ento: P(f(x)) Q(x,f(a)) = P(f(2)) Q(2,f(a))
= P(1) Q(2,f(1)) = P(1) Q(2,2) = F V = F
Uma vez que existe um elemento no domnio D, x = 1, tal que P(f(x)) Q(x,f(a)) V, ento o
valor da frmula (x) (P(f(x)) Q(x,f(a))) V sobre a interpretao I.
(b) (x) (P(x) Q(x,a))
Se x = 1, ento: P(x) Q(x,a) = P(1) Q(1,1) = F V = F
Se x = 2, ento: P(x) Q(x,a) = P(2) Q(2,1) = V F = F
Uma vez que no existe nenhum elemento no domnio D, tal que P(x) Q(x,a) seja V, a
frmula (x) (P(x) Q(x,a)) F sobre a interpretao I.
(c) (x)(y) (P(x) Q(x,y))

24

Se x = 1, ento: P(x) = P(1) = F, portanto P(x) Q(x,y) F para y = 1 e y = 2, uma vez que
existe um x, x = 1, tal que (y) (P(x) Q(x,y)) F, portanto a frmula (x)(y) (P(x)Q(x,y))
falsa sobre a interpretao I, isto , a frmula falsificada por I.
Uma vez que as interpretaes so definidas, todos os conceitos, tais como: validade,
inconsistncia e conseqncia lgica definidos no Captulo 2, podem ser definidos de forma
anloga para as frmulas da lgica de predicados.
Definio: Uma frmula G consistente se e somente se existe uma interpretao I tal que G
avaliada V em I. Se a frmula G V na interpretao I, diz-se que I um modelo de G e I
satisfaz G.
Definio: Uma frmula G inconsistente se e somente se no existe nenhuma interpretao
que satisfaa G.
Definio: Uma frmula G vlida se e somente se toda interpretao de G satisfaz G.
Definio: Uma frmula G conseqncia lgica das frmulas F1, ... , Fn se e somente se
para toda interpretao: se F1 F2 ... Fn V em I, G tambm V em I.
As relaes entre validade (inconsistncia) e conseqncia lgica, como mostrado nos
teoremas 2.1 e 2.2 so tambm verdadeiras para a lgica de predicados. De fato, a lgica de
predicados pode ser considerada uma extenso da lgica proposicional. Quando uma frmula
da lgica de predicados no contm variveis, nem quantificadores, ela pode ser tratada como
uma frmula da lgica proposicional.
Exemplo 3.9: Os seguintes exemplos vo ser deixados para que sejam provados por voc:
(1) (x) P(x) (y) ~P(y) inconsistente.
(2) (x) P(x) (y) P(y) vlida.
(3) P(a) ~((x) P(x)) consistente.
(2) (x) P(x) ((y) ~P(y)) vlida.
F1: (x) (P(x) Q(x))
F2: P(a)
Quer-se provar que a frmula Q(a) conseqncia lgica de F1 e F2.
Considere qualquer interpretao I que satisfaa (x) (P(x) Q(x)) P(a). Certamente, nessa
interpretao P(a) V. Assuma que Q(a) no V nessa interpretao; ento ~P(a) Q(a), isto
P(a) Q(a) F em I. Isto significa que (x) (P(x) Q(x)) F em I, o que impossvel.
Portanto, Q(a) deve ser V em toda a interpretao que satisfaz (x) (P(x) Q(x)) P(a). Isto
significa que Q(a) conseqncia lgica de F1 e F2.
Exemplo 3.10: Considere as frmulas:

Na lgica de predicados, uma vez que h um nmero infinito de domnios, em geral,


existe um nmero infinito de interpretaes de uma frmula. Portanto, de maneira diferente da
lgica proposicional, no possvel verificar a validade ou inconsistncia de uma frmula
avaliando-a sobre todas as suas possveis interpretaes. Nos prximos captulos, vai-se ver
procedimentos para verificar inconsistncias na lgica de predicados.
3.3 FORMAS NORMAIS PRENEX NA LGICA DE PREDICADOS
25

Na lgica proposicional viu-se duas formas normais - a forma normal conjuntiva e a


forma norma disjuntiva. Na lgica de predicados existe tambm uma forma normal chamada de
forma normal prenex. A razo para utilizar uma forma normal prenex de uma frmula para
simplificar os mtodos de prova, que sero vistos mais adiante.
Definio: Uma frmula F na lgica de predicados dita estar em uma forma normal prenex
se e somente se a frmula F est na forma de: (Q1 x1) ... (Qnxn)(M),
onde todo (Qi xi), i = 1, ..., n, ( xi ) ou ( xi ) , e M uma frmula que no possui
quantificadores. (Q1 x1) ... (Qnxn) chamada de prefixo e M chamada de matriz da frmula F.
Abaixo so mostradas algumas frmulas na forma normal prenex:
i.
( x) ( y) (P(x,y) Q(y))
ii.
(x) (y) (~P(x,y) Q(y))
iii.
( x) ( y) ( z) (Q(x,y) R(z))
Dada uma frmula, ser visto agora um mtodo para transform-la na forma normal
prenex. Isto obtido considerando alguns pares de frmulas equivalentes na lgica de
predicados. Lembrando que duas frmulas F e G so equivalentes, representados por F = G, se
e somente se os valores de F e G so os mesmos sob todas as interpretaes. Os pares bsicos
de frmulas equivalentes dados na tabela 2.6 no Captulo 2 ainda so vlidos para a lgica de
predicados. Existem ainda outros pares de frmulas equivalentes que contm quantificadores.
Sero vistos agora esses pares adicionais de frmulas equivalentes.
Seja F uma frmula contendo uma varivel x. Para salientar que a varivel x est em F,
representa-se F por F[x]. Seja G uma frmula que no contm a varivel x. Ento tem-se os
seguintes pares de frmulas equivalentes, onde Q ou . Para simplificar, chama-se cada
par abaixo de lei.
(3.1a)
(3.1b)
(3.2a)
(3.2b)

(Qx) F[x] G = (Qx) (F[x] G)


(Qx) F[x] G = (Qx) (F[x] G)
~((x) F[x]) = (x) (~F[x])
~(( x) F[x]) = ( x) (~F[x])

As leis (3.1a) e (3.1 b) so obviamente verdadeiras, desde que G no contenha x e


portanto possa ser trazido para dentro do escopo do quantificador Q. As leis (3.2a) e (3.2b)
no so difceis de provar. Seja I uma interpretao arbitrria qualquer sobre um domnio D.
Se ~ ((x) F[x]) verdadeiro em I, ento ( x) F[x] falso em I. Isto significa que existe um
elemento e em D tal que F[e] falso, isto , ~F[e] verdadeiro em I. Portanto, (x)(~F[x])
verdadeiro em I. Por outro lado, se ~((x) F[x]) falso em I, ento (x) F[x] verdadeiro em
I. Isso significa que F[x] verdadeira para todo elemento x em D, isto , ~F[x] falso para
todo elemento x em D. Portanto, (x)(~F[x]) falso em I. Desde que ~((x) F[x]) e (x)
(~F[x]) sempre assume o mesmo valor para qualquer interpretao arbitrria, por definio,
~((x) F[x]) = (x)(~F[x]). Por consequncia, a lei (3.2a) fica provada. Do mesmo modo,
pode-se provar a lei (3.2b).
Supondo que F[x] e H[x] so duas frmulas contendo x. Existem duas outras leis:
(3.3a) (x) F[x] (x) H[x] = (x) (F[x] H[x])
(3.3b) (x) F[x] (x ) H[x] = (x) (F[x] H[x]).

26

Isto , o quantificador universal e o quantificador existencial podem distribuir-se


sobre e , respectivamente.
As provas (3.3a) e (3.3b) no so difceis, portanto ficaro a cargo do estudante.
Porm, o quantificador universal e o quantificador existencial no podem distribuir-se
sobre , e , respectivamente. Isto ,
(x) F[x] (x) H[x] (x) (F[x] H[x]) e
(x) F[x] (x ) H[x] (x) (F[x] H[x]).
Para este caso, faz-se algo especial. Desde que todas as variveis dependentes na
frmula podem ser consideradas como uma varivel fantasma, todas as variveis dependentes x
podem ser renomeadas para z, e a frmula (x) H[x] torna-se (z) H[z] ; isto , (x) H[x] =
(z) H[z]. Supodo que se escolha a varivel z que no aparece em F[x]. Ento,
(x) F[x] (x)H[x] = (x)F[x] (z) H[z]
(renomeando todos os x's ocorrentes em (x)H[x] para z)
= (x)(z)(F[x] H[z])
(por 3.1a)
Da mesma forma, pode-se ter
(x) F[x] (x) H[x] = (x)F[x] (z) H[z]
(renomeando todos os x's ocorrentes em (x) H[x] para z)
= (x) (z) (F[x] H[z]) (por 3.1b)
Portanto, para esses dois casos, pode-se trazer todos os quantificadores para a
esquerda da frmula. Em geral, tem-se:
(3.4a) (Q1x) F[x] (Q2x) H[x] = (Q1x)(Q2z) (F[x] H[z])
(3.4b) (Q3x) F[x] (Q4x) H[x] = (Q3x)(Q4z) (F[x] H[z])
onde Q1 , Q2, Q3 e Q4 so ou , e z no aparece em F[x]. claro que, se Q 1 = Q2 = e Q3
= Q4 = , ento no necessrio renomear os x's em Q 2x H[x] ou Q4x H[x]. Pode-se usar
(3.3) diretamente.
Usando as leis (2.1) - (2.10) e as leis (3.1) - (3.4), pode-se sempre transformar uma
frmula na forma normal prenex. A seguir apresenta-se um resumo do procedimento de
transformao.
Transformando Frmulas na Forma Normal Prenex
Passo 1: Usar as leis F G = (F G) (G F)
(2.1)
FG=~FG
(2.2)
para eliminar os conetivos lgicos e .
Passo 2: Repetidamente usar a lei ~ (~F) = F
as leis de De Morgan
~ (F G) = ~F ~G
~ (F G) = ~F ~G
e as leis
~ ((x) F[x]) = (x) ( ~F[x])
27

(2.9),
(2.10a),
(2.10b),
(3.2a),

~ ((x) F[x]) = (x) ( ~F[x])


(3.2b),
para trazer o sinal de negao para a imediatamente antes dos termos.
Passo 3: Renomear as variveis dependentes se necessrio.
Passo 4: Usar as leis (Qx) F[x] G = (Qx) (F[x] G)
(3.1a),
(Qx) F[x] G = (Qx) (F[x] G)
(3.1b),
(x) F[x] (x) H[x] = (x) (F[x] H[x])
(3.3a),
(x) F[x] (x ) H[x] = (x) (F[x] H[x])
(3.3b),
(Q1x) F[x] (Q2x) H[x] = (Q1x)(Q2z) (F[x] H[z])
(3.4a),
(Q3x) F[x] (Q4x) H[x] = (Q3x)(Q4z) (F[x] H[z])
(3.4b)
para mover os quantificadores para a esquerda de toda frmula para obter uma forma normal
prenex.
Exemplo 3.11: Transformar a frmula (x) P(x) (x) Q(x) na forma normal prenex.
(x) P(x) (x) Q(x) = ~ ((x) P(x)) (x) Q(x)
por (2.2)
= (x) (~P(x)) (x) Q(x)
por (3.2a)
= (x) (~P(x) Q(x))
por (3.3b).
Portanto, a forma normal prenex de (x) P(x) (x) Q(x) (x) (~P(x) Q(x)).
Exemplo 3.12: Obter a forma normal prenex para a frmula:
(x)(y) ((z) (P(x,z) P (y,z)) (u) Q(x,y,u)).
= (x)(y) (~((z) (P(x,z) P(y,z))) (u) Q(x,y,u)) por (2.2)
= (x)(y)((z) (~P(x,z) ~P(y,z)) (u) Q(x,y,u)) por (3.2b) e (2.10b)
= (x)(y)(z)(u) (~P(x,z) ~P(y,z) Q(x,y,u)), usando (3.1a), move-se os
quantificadores para a esquerda, obtendo por fim a forma normal prenex da primeira frmula.
3.4 APLICAES DA LGICA DE PREDICADOS
Nesta seo sero vistos alguns exemplos para ilustrar algumas aplicaes da lgica de
predicados na soluo de problemas. Assim como na lgica proposicional, a abordagem mais
comum primeiro simbolizar problemas por frmulas e ento provar que as frmulas so
vlidas ou inconsistentes.
Exemplo 3.13: Considerando o exemplo 3.3. Existem dois axiomas:
A1 : (x) (HOMEM(x) MORTAL(x)).
A2 : HOMEM(Confcio).
De A1 e A2, mostra-se que Confcio mortal. Isto , mostra-se que MORTAL(Confcio)
uma consequncia lgica de A1 e A2. Tem-se:
A1 A2 : (x) (HOMEM(x) MORTAL(x)) HOMEM(Confcio).
Se (A1 A2) verdadeiro em uma interpretao I , ento ambos A1 e A2 so
verdadeiros em I . Desde que (HOMEM(x) MORTAL(x)) verdadeiro para todo x, quando
x substitudo por "Confcio", (HOMEM(Confcio) MORTAL(Confcio)) verdadeiro em
I. Isto , ~HOMEM(Confcio) MORTAL(Confcio) verdadeiro em I. No entanto,
28

~HOMEM(Confcio) falso em I desde que HOMEM(Confcio) for verdadeiro em I.


Portanto, MORTAL(Confcio) deve ser verdadeiro em I. Tem-se portanto mostrado que
MORTAL(Confcio) verdadeiro em I quando (A1 A2 ) verdadeiro em I. Por definio,
MORTAL(Confcio) uma consequncia lgica de A1 e A2 .
Exemplo 3.14: Nenhum vendedor de carros usados compra uma carro usado para a sua
famlia. Algumas pessoas que compram carros usados para sua famlia so totalmente
desonestas. Conclui-se que algumas pessoas totalmente desonestas no so vendedores de
carros usados.
Fazendo U(x), B(x), e D(x) representar "x um vendedor de carros usados", "x
compra um carro usado para sua famlia", e "x totalmente desonesto", respectivamente.
Ento tem-se:
A1: (x) (U(x) ~B(x))
A2: (x) (B(x) D(x))
E precisa-se mostrar que:
A3 : (x) (D(x) ~U(x)) uma consequncia lgica de A1 e A2.
Assume-se que A1 e A2 so verdadeiros em uma interpretao I sob o domnio D.
Desde que A2 verdadeiro em I, existe um x em D, chamado de a, tal que B(a) D(a)
verdadeiro em I. Portanto B(a) verdadeiro em I, isto , ~B(a) falso em I. A1 pode ser
escrito da seguinte forma:
A1: (x) (~U(x) ~B(x)).
Desde que A1 verdadeiro em I e ~B(a) falso em I, ~U(a) deve ser verdadeiro em I.
Porm, desde que B(a) D(a) verdadeiro em I, D(a) verdadeiro em I. Portanto, D(a)
~U(a) verdadeiro em I. Ento, A3 , isto , (x) (D(x) ~U(x)), verdadeiro em I. Por
consequncia, A3 uma consequncia lgica de A1 e A2 .
Exemplo 3.15: Alguns pacientes gostam de todos os mdicos. Nenhum paciente gosta de
charlates. Portanto, nenhum mdico um charlato.
Representa-se:P(x): x um paciente,
D(x): x um mdico,
Q(x): x um charlato,
L(x,y): x gosta de y.
Ento os fatos e as conculuses podem ser representados por:
F1: (x) (P(x) (y)(D(y) L(x,y)))
F2: (x) (P(x) (y)(Q(y) ~L(x,y)))
G : (x) (D(x) ~(Q(x)).
Agora ser mostrado que G uma consequencia lgica de F1e F2. Seja I uma
interpretao arbitrria sobre o domnio D .Suponha que F1e F2 so verdadeiros em I. Desde
que F1, isto , (x) (P(x) (y)(D(y) L(x,y))) verdadeiro em I, existe algum elemento,
chamado de e, em D talque (P(e) (y) (D(y) L(e,y))) verdadeiro em I.
Isto , ambos P(e) e (y) (D(y) L(e,y)) so verdadeiros em I. Por outro lado, desde
que (P(x) (y)(Q(y) ~L(x,y))) verdadeiro em I para todos os elementos de x em D,
certamente (P(e) (y)(Q(y) ~L(e,y))) verdadeiro em I. Desde que P(e) verdadeiro em I,
(y)(Q(y) ~L(e,y)) deve ser ser verdadeiro em I. Por isso sabe-se que para todo elemento y
em D, tanto (D(y) L(e,y)) e (Q(y) ~L(e,y)) so verdadeiros em I.
Se D(y) falso em I, ento (D(y) ~(Q(y)) verdadeiro em I. Se D(y) verdadeiro em
I, ento L(e,y) deve ser verdadeiro em I, desde que (D(y) L(e,y)) verdadeiro em I.
29

Portanto, Q(y) deve ser falso em I, desde que (Q(y) L(e,y)) verdadeiro em I.
Consequentemente, (D(y) ~(Q(y)) verdadeiro em I. Portanto, (D(y) ~(Q(y)) verdadeiro
para todo y em D; isto , (y) (D(y) ~(Q(y)) verdadeiro em I. Por isso, mostra-se que se
F1 e F1 so verdadeiros em I, (y) (D(y) ~(Q(y)) verdadeiro em I. Isso mostra que G
uma consequncia lgica de F1 e F2 .
Nos exemplos acima, pode-se mostrar que as concluses seguem dos fatos dados. Uma
demonstrao que uma concluso segue de axiomas chamada de prova. Um procedimento
para chegar s provas chamado de mtodo de prova. Do captulo 4 a 7, sero dados mtodos
de provas que mecanicamente usam regras de inferncia para encontrar uma prova. Esses
mtodos de prova so muito eficientes. Poder-se- notar que os dois exemplos anteriores
tornam-se fceis de provar se forem usados os mtodos de prova.
3.5 EXERCCIOS
Seo 3.1
1. Fazendo P(x) e Q(x) representar "x um nmero racional" e "x um nmero real",
respectivamente. Simbolizar as seguintes sentenas:
1.1
Todo nmero racional um nmero real.
1.2
Alguns nmeros reais so nmeros racionais.
1.3
Nem todo nmero real um nmero racional.
2. Fazendo C(x) significar "x um vendedor de carros usados", e H(x) significar "x honesto".
Traduzir as linhas seguintes para portugus:
2.1
(x) C(x)
2.2
(x) H(x)
2.3
(x) (C(x) ~H(x))
2.4
(x) (C(x) H(x))
2.5
(x) (H(x) C(x)).
3. Fazendo P(x), L(x), R(x,y,z), e E(x,y) representar "x um ponto", "x uma linha", "z passa
atravs de x e y", e "x = y", respectivamente. Traduzir a seguinte frase: Para todos dois
pontos, existe uma e somente uma linha que passa atravs desses dois pontos.
4. Um grupo Abelian um conjunto A com um operador binrio + que tem certas
propriedades. Faa P(x,y,z) e E(x,y) representar x + y = z e x = y, respectivamente. Expressar
os seguintes axiomas para o grupo Abelian simbolicamente.
(a)
Para todo x e y em A, existe um z em A tal que x + y = z (fechamento).
(b)
Se x+y = z e x + y = w, ento z = w (unicidade).
(c)
(x + y) + z = x + (y + z) (associatividade).
(d)
x + y = y + x (simetria).
(e) Para todo x e y em A, existe um z tal que x + z = y (soluo correta).
Seo 3.2
5. Para a seguinte interpretao (D = {a,b}),
P(a,a)
V

P(a,b)
F

P(b,a)
F

P(b,b)
V
30

determinar a tabela verdade das seguintes frmulas:


(a) (x) (y) P(x,y)
(b) (x) (y) P(x,y)
(c) (x) (y) P(x,y)
(d) (y) ~ P(a,y)
(e) (x) (y) (P(x,y) P(y,x))
(f) (x) P(x,x)
6. Considerar a seguinte frmula:
A: (x) P(x) (x) P(x).
(a) Provar que esta frmula sempre verdadeira se o domnio D contm somente um
elemento.
(b) Seja D = {a,b}. Achar a interpretao sobre D na qual A possui valor F (falso).
7. Considerar a seguite interpretao:
Domnio: D = {1,2}.
Valor das constantes a e b:
a
b
1
2
valor para a funo f:
f(1)
f(2)
2
1
valor para o predicado P:
P(1,1)
P(1,2)
V
V

P(2,1)
F

P(2,2)
F

Avaliar o valor lgico das seguintes frmulas na interpretao acima:


(1)
P(a, f(a)) P(b, f(b))
(2)
(x) (y) P(y,x)
(3)
(x) (y) (P(x,y) P( f(x), F(y))).
8. Sejam F1 e F2 as seguintes frmulas:
F1 : (x) (P(x) Q(x))
F2:
~ Q(a).
Provar que ~ P(a) uma conseqncia lgica de F1 e F2 .
Seo 3.3
9. Transformar as seguintes frmulas na forma normal prenex:
(1)
(x) (P(x) (y) Q(x,y))
(2)
(x) (~ ((y) P(x,y)) ((z) Q(z) R(x)))
(3)
(x) (y) (( z) P (x,y,z) ((u) Q(x,u) (v) Q(y,v))).
Seo 3.4
10. Considerar as seguintes sentenas:
F1 : Todo estudante honesto.
F2 : Joo no honesto.
Para as sentenas acima, provar que Joo no um estudante.
11. Considerar as seguintes premissas:
(1)
Todo atleta forte.
(2)
Todo aquele que for inteligente e forte ter sucesso em sua carreira.
31

(3)
Peter um atleta.
(4)
Peter inteligente.
Tente concluir que Peter ter sucesso em sua carreira.
12. Assumir que So Francisco amado por todos aqueles que amam algum. Assumir tambm
que no h ningum que no ame ningum. Deduza que So Francisco amado por todos.

32

CAPTULO 4 - TEOREMA DE HERBRAND


4.1 INTRODUO
Nos captulos anteriores, foi discutido como resolver problemas atravs da prova de
teoremas. Neste e nos captulos seguintes, sero estudados os procedimentos de prova.
Encontrar um procedimento geral de deciso para verificar a validade (ou inconsistncia) de
uma frmula estava sendo usado a muito tempo. A primeira tentativa foi feita por Leibniz
(1646-1716) , novamente por Peano na virada do sculo e pela escola de Hilbert na dcada de
20. Aconteceu at que Church [1936] e Turing[1936] provassem que isso era impossvel.
Church e Turing independentemente mostraram que no existe um procedimento geral de
deciso para verificar a validade de frmulas da lgica de primeira ordem. No entanto, existem
mtodos de prova que podem verificar se uma frmula vlida se realmente ela for vlida.
Para frmulas invlidas, esses procedimentos em geral nunca terminaro. Na viso do
resultado de Church e Turing, isso o melhor que se pode ter para se obter um mtodo de
prova.
Uma abordagem muito importante para a prova mecnica de teoremas foi dada por
Herbrand em 1930. Por definio, uma frmula vlida uma frmula que verdadeira sob
todas as suas interpretaes. Herbrand desenvolveu um algoritmo para encontrar uma
interpretao que pode invalidar uma frmula dada. No entanto, se uma certa frmula
realmente vlida, nenhuma dessas interpretaes podem existir e seu algoritmo termina aps
um nmero finito de tentativas. O mtodo de Herbrand a base para muitos mtodos
modernos de prova automtica.
Gilmore [1960] foi uma das primeiras pessoas a implementar o mtodo de Herbrand
em um computador. Desde que uma frmula vlida se e somente se sua negao for
inconsistente, seu programa foi feito para encontrar a inconsistncia da negao de uma
frmula dada. Durante a execuo do programa, so geradas frmulas proposicionais que so
testadas sobre sua inconsistncia. Se a negao de uma certa frmula inconsistente, o
programa detecta esta situao. O programa de Gilmore foi usado para provar frmulas bem
simples, porm encontrou srias dificuldades com muitas outras frmulas da lgica de
primeira ordem. Estudos minuciosos de seu algoritmo revelaram que seu mtodo de testar a
inconsistncia de uma frmula proposicional era ineficiente. O mtodo de Gilmore foi
melhorado por Davis e Putnam [1960], meses depois de seu resultado ser publicado.
Entretanto, tal melhoria no foi suficiente. Muitas frmula vlidas da lgica de primeira ordem
no poderiam ser provadas pelos computadores em um tempo razovel.
A maior modificao foi feita por Robinson [1965], que introduziu o to famoso
princpio de resoluo. O mtodo de Resoluo muito mais eficiente que os anteriores.
Desde o incio do princpio de resoluo, muitas melhorias foram sugeridas para aumentar sua
eficincia. Algumas dessas melhorias so: a resoluo semntica, a resoluo de bloqueio, a
resoluo linear, a resoluo unitria (unit resolution) e a estratgia de conjunto de apoio (setof-support strategy).
Neste captulo, ser primeiro provado o teorema de Herbrand. O princpio de resoluo
e suas melhorias sero vistos nos captulos seguintes.
4.2 FORMAS PADRO DE SKOLEM
O mtodo de Herbrand e o mtodo de prova de resoluo citados anteriormente so
procedimentos de refutao. Isto , ao invs de provar que uma frmula vlida, prova-se que
a negao de uma frmula inconsistente. Isso uma questo de convenincia. No existe
nenhuma perda de generalidade em usar-se procedimentos de refutao. Entretanto, esses
33

procedimentos so aplicados a uma "forma padro" de uma frmula. Esta forma padro foi
introduzida por Davis e Putnam e ser usada ao longo deste texto. Essencialmente eles
queriam expressar as seguintes idias:
1) Uma frmula da lgica de primeira ordem pode ser transformada em uma forma normal
prenex onde a matriz no contm quantificadores e o prefixo uma sequencia de
quantificadores.
2) A matriz, a qual no contm quantificadores, pode ser transformada numa forma normal
conjuntiva.
3) Sem afetar a propriedade de inconsistncia, os quantificadores existenciais no prefixo
podem ser eliminados usando-se funes Skolem.
No captulo 3, j foi estudado como transformar uma frmula na forma normal prenex.
Pelas tcnicas dadas no captulo 2, pode-se saber como transformar a matriz em uma forma
normal conjuntiva. Agora ser visto como eliminar os quantificadores existenciais.
Seja uma frmula F j na forma normal prenex (Q 1x1) ... (Qnxn)M, onde M est
expressa na forma normal conjuntiva. Suponha-se que Qr um quantificador existencial no
prefixo (Q1x1) ... (Qnxn), 1 r n . Se nenhum quantificador universal aparece antes de Q r,
pode-se escolher uma nova constante c diferente das outras constantes que aparecem em M,
substituir todos os xr de M por c, e apagar (Qrxr) do prefixo.
Se Qs1, ..., Qsm so todos quantificadores universais que aparecem antes de Qr, 1 s1
< s2 ... < sm < r, pode-se escolher um novo smbolo f n-arg diferente dos outros smbolos da
funo, substituir todos os xr em M por f(xs1, xs2, ..., xsm), e apagar (Q rxr) do prefixo. Aps
o processo anterior ser aplicado para todos os quantificadores existenciais no prefixo, a
frmula final obtida uma "forma padro Skolem" (ou somente forma padro) da frmula F.
As constantes e funes usadas para substituir os quantificadores existenciais so chamados de
funes Skolem.
Exemplo 4.1: Obter a forma padro da fmula: (x)(y)(z)(u)(v)(w) P(x, y, z, u, v, w).
Na frmula acima, (x) no precidido por nenhum quantificador universal, (u)
precedido por (y) e (z), e (w) por (y), (z) e (v). Portanto, substitui-se a varivel
existencial x por uma constante a, u por uma funo de 2 variveis f(y,z), e w por uma funo
de trs parmetros g(y, z, v). Ento, obtm-se a seguinte forma padro da frmula:
(y)(z)(v) P(a, y, z, f(y,z), v, g(y, z, v).
Exemplo 4.2: Obter a forma padro da fmula:(x)(y)(z) ((~P(x,y) Q(x,z)) R(x,y,z)).
Primeiro, a matriz transformada em uma forma normal conjuntiva:
(x)(y)(z) (( ~ P(x, y) R(x, y, z)) (Q(x, z) R(x, y, z))).
Ento, desde que (y) e (z) so ambas precedidas por (x), as variveis exitenciais y e z so
substitudas, respectivamente, por funes de uma varivel f(x) e g(x). Ento, pode-se obter a
seguinte forma padro para a frmula:
(x) (( ~ P(x, f(x)) R(x, f(x), g(x))) (Q(x, g(x)) R(x, f(x), g(x)))).
Definio: Uma clusula uma disjuno de literais.
Quando for conveniente, pode-se ver um conjunto de literais como um sinnimo de
uma clusula. Por exemplo, P Q ~ R = { P, Q, ~ R}. Uma clusula composta de r literais
chamada uma clusula r-literal . Uma clusula 1-literal chamada uma clusula unitria.
Quando uma clusula no contm literais, pode-se chamar de clusula vazia. Desde que uma
clusula vazia no possui literais os quais podem ser satisfeitas por uma interpretao, uma
clusula vazia sempre falsa. Normalmente, representa-se clusulas vazias pelo smbolo .
34

As disjunes ~ P(x, f(x)) R(x, f(x), g(x)) e Q(x, g(x)) R(x, f(x), g(x)) na forma
padro no Exemplo 4.2 so clusulas. Um conjunto S de clusulas considerado como uma
conjuno de todas as clusulas em S, onde toda varivel em S considerada regida por um
quantificador universal. Por conveno, uma forma padro pode ser simplesmente
representada por um conjunto de clusulas. Por exemplo, a forma padro do exemplo 4.2 pode
ser representada pelo conjunto :
{ ~ P(x, f(x)) R(x, f(x), g(x)), Q(x, g(x)) R(x, f(x), g(x)) } .
Como foi citado na seo inicial, pode-se eliminar os quantificadores existenciais sem
afetar a propriedade de inconsistncia. Isso mostrado no seguinte teorema.
Teorema 4.1: Seja S um conjunto de clusulas que representa uma forma padro de uma
frmula F. Ento F inconsistente se e somente se S inconsistente.
Prova: Sem perder a generalidade, pode-se assumir que F est na forma normal prenex, isto ,
F = (Q1x1) ... (Qnxn) M [x1, ..., xn]. (Usa-se M [x1, ..., xn] para representar que a matriz M
contm variveis x1, ..., xn ). Faa-se Qr ser o primeiro quantificador existencial. Seja F1 =
(x1) ... (xr-1) (Qr+1xr+1) ... (Qnxn) M[x1, ..., xr-1, f(x1, ..., xr-1), xr+1, ..., xn], onde f
uma funo Skolem correspondente a xr, 1 r n . Quer-se mostrar que F inconsistente se e
somente se F1 inconsistente. Suponha-se que F inconsistente. Se F1 consistente, ento
existe uma interpretao I tal que F1 verdadeira em I . Isto , para todo x1, ..., xr-1 existe no
mnimo um elemento, o qual f(x1, ..., xr-1), tal que (Qr+1xr+1) ... (Qnxn) M[x1, ..., xr-1,
f(x1, ..., xr-1), xr+1, ..., xn] verdadeiro em I. Ento, F verdadeiro em I, o que contradiz a
idia de que F inconsistente. Portanto F1 deve ser inconsistente. Por outro lado, supe-se
que F1 inconsistente. Se F consistente, ento existe uma interpretao I sobre um domnio
D tal que F verdadeira em I. Isto , para todo x1, ..., xr-1 existe um elemento xr tal que
(Qr+1xr+1)... (Qnxn) M[x1, ..., xr-1, xr, xr+1, ..., xn] verdadeira em I. Extende-se a
interpretao I para incluir uma funo f que mapeia (x1, ..., xr-1) para xr para todo x1, ..., xr1 em D, isto , f(x1, ..., xr-1) = xr . Seja essa extenso de I representada por I'. Ento,
claramente, para todo x1, ..., xr-1 , (Qr+1xr+1) ... (Qnxn) M[x1, ..., xr-1, f(x1, ..., xr-1), xr+1,
..., xn] verdadeiro em I'. Ou seja, F1 verdadeira em I', o que contradiz a idia de que F1
inconsistente. Portanto F deve ser inconsistente. Assume-se que existem m quantificadores
existenciais em F. Seja Fk obtido de Fk-1 pela substituiodo primeiro quantificador existencial
em Fk-1 por uma funo Skolem, k = 1, ..., m. Claramente, S = F m. Usando os mesmos
argumentos dados acima, pode-se mostrar que Fk-1 inconsistente se e somente se Fk
inconsistente para k = 1, ..., m. Portanto, conclui-se que F inconsistente se e somente se S
inconsistente.
Seja S uma forma padro de uma frmula F. Se F inconsistente, ento pelo Teorema
4.1, F = S. Se F no inconsistente, nota-se que, em geral, F no equivalente a S. Por
exemplo, seja F (x) P(x) e S P(a). Claramente, S uma forma padro de F. Entretanto,
faa-se I ser a interpretao definida abaixo:
Domnio: D = {1, 2}.
Valores para a:
a
1
Valores para P:
P(1)

P(2)
35

Ento, claramente, F verdadeiro em I, mas S falso em I. Portanto F S.


Nota-se que uma frmula pode ter mais de uma forma padro. Para maior simplicidade,
quando se transforma uma frmula F em uma forma padro S, poder-se-ia substituir os
quantificadores existenciais por funes Skolem as quais devem ser as mais simples possveis.
Isto , poder-se-ia usar funes Skolem com o menor nmero de argumentos possvel. Isso
significa que deve-se mover os quantificadores existenciais o mais esquerda possvel. Alm
disso, se tem-se F = F1 ... Fn, pode-se obter separadamente um conjunto Si de clusulas,
onde cada Si representa uma forma padro de Fi, i = 1, ..., n. Ento, seja S = S 1 ... Sn.
Por argumentos semelhantes aos dados na prova do Teorema 4.1, no difcil ver que F
inconsistente se e somente se S inconsistente.
Exemplo 4.3: Neste exemplo, mostra-se como expressar o seguinte teorema em uma forma
padro: Se x x = e para todo x no grupo G, onde um operador binrio e e a sua
identidade em G, ento G comutativo.
Primeiro simboliza-se o teorema acima junto com alguns axiomas bsicos na teoria dos
grupos e ento representa-se a negao do teorema por um conjunto de clsulas.
A1: x, y G implica que x y G (propriedade de fechamento);
A2: x, y, z G implica que x (y z) = (x y) z ( propriedade da associatividade);
A3: x e = e x = x para todo x G (propriedade da identidade);
A4: para todo x G existe um elemento x -1 G tal que x x -1 = x -1 x = e
(propriedade do inverso).
Seja x y = z representado por P(x, y, z) e x -1 representado por i(x). Ento os axiomas
acima podem ser representados por:
A1': (x)(y)(z) P(x, y, z)
A2': (x)(y)(z)(u)(v)(w) ( P(x, y, u) P(y, z, v) P(u, z, w) P(x, v, w))
(x)(y)(z)(u)(v)(w) ( P(x, y, u) P(y, z, v) P(x, v, w) P(u, z, w))
A3': (x) P(x, e, x) (x) P(e, x, x)
A4': (x) P(x, i(x), e) (x) P(i(x), x, e).
A concluso do teorema :
B:
Se x x = e para todo x G, ento G comutativo, ou seja, u v = v u ( u, v) G.
B pode ser representado por:
B':
(x) P(x, x, e) ((u)(v)(w) P(u, v, w) P(v, u, w))).
Agora, o teorema completo representado pela frmula F = A1' ... A4' B'.
Ento, ~ F = A1' A2' A3' A4' ~ B'. Para obter-se um conjunto S de clusulas para ~ F,
obtm-se um consjuto Si de clusulas para cada axioma Ai', i = 1, 2, 3, 4 , como consta abaixo:
S1:
{ P(x, y, f(x, y))}
S2:
{~P(x, y, u) ~P(y, z, v) P(u, z w), ~P(x, v, w) ~P(x, y ,u) ~P(y, z, v) ~P(x,
v, w) P(u, z, w)}
S3:
{P(x, e, x), P(e, x, x)}.
S4:
{ P(x, i(x), e), P(i(x), x, e)}.
Sendo ~B' = ~((x) P(x, x, e) ((u)(v)(w)(P(u, v, w) P(v, u, w))))
= ~ ( ~(x) P(x, x, e) ((u)(v)(w)( ~ P(u, v, w) P(v, u, w))))
= (x) P(x, x, e) ~ ((u)(v)(w) ( ~ P(u, v, w) P(v, u, w)))
36

= (x) P(x, x, e) (u)(v)(w) P(u, v, w) ~ P(v, u, w)),


o conjunto de clusulas para ~ B' mostrado abaixo.
T:
{P(x, x, e),
P(a, b, c),
~P(b, a, c)}.
Ento, o conjunto S = S1 S2 S3 S4 T o conjunto das seguintes clusulas:
(1)
P(x, y, f(x, y))
(2)
~ P(x, y, u) ~ P(y, z, v) ~ P(u, z, w) P(x, v, w)
(3)
~ P(x, y, u) ~ P(y, z, v) ~ P(x, v, w) P(u, z, w)
(4)
P(x, e, x)
(5)
P(e, x, x)
(6)
P(x, i(x), e)
(7)
P(i(x), x, e)
(8)
P(x, x, e)
(9)
P(a, b, c)
(10) ~P(b, a, c).
No exemplo 4.3, mostrou-se como obter um conjunto S de clusulas para a frmula
~F. Pelos teoremas 2.2 e 4.1, sabe-se que F vlida se e somente se S inconsistente. Como
foi dito no incio desta seo, usam-se procedimentos de refutao para provar teoremas.
Ento, daqui para frente, assume-se que a entrada do procedimento de refutao sempre um
conjunto de clusulas, tal como o conjunto S obtido no exemplo acima. Portanto, ser usado
"insatisfatvel" ("satisfatvel"), ao invs de "inconsistente" ("consistente"), para conjuntos de
clusulas.
4.3 O UNIVERSO DE HERBRAND DE UM CONJUNTO DE CLUSULAS
Por definio, um conjunto S de clusulas insatisfatvel se e somente se ele falso sob
todas as interpretaes sobre todos os domnios. Uma vez que inconveniente e impossvel
considerar todas as interpretaes sobre todos os domnios, poderia ser interessante buscar-se
um domnio especial H, tal que S insatisfatvel se e somente se S falso sob todas as
interpretaes sobre este domnio. Felizmente, existe um domnio, que se chama de universo
de Herbrand de S, definido como o seguinte:
Definio: Sendo Ho o conjunto de constantes que aparecem em S. Se nenhuma constante
aparece em S, ento Ho formado por uma nica constante, representado por Ho = {a}. Para
i = 0, 1, 2, ...,H i+1 a unio de Hi com o conjunto de todos os termos da forma fn(t1, ..., t n)
para todas as funes n-arg fn que aparecem em S, onde t j, j = 1, ..., n, so membros do
conjunto Hi . Ento cada Hi chamado de conjunto de constantes i-nvel de S, e H
chamado de Universo de Herbrand de S.
Exemplo 4.4: Seja S = {P(a), ~P(x) P(f(x))}. Ento:
Ho = {a}
H1 = {a, f(a)}
H2 = {a, f(a), f(f(a))}
.
.
.
37

H = {a, f(a), f(f(a)), f(f(f(a))), ...}.


Exemplo 4.5: Seja S = { P(x) q(x), R(z), T(y) ~W(y) }. Uma vez que no existe nenhuma
constante em S, Ho = { a }. No existe nenhum smbolo de funo em S , portanto H = H o =
H1= ... = H = { a }.
Exemplo 4.6: Seja S = { P( f(x), a, g(y), b) }. Ento
Ho = { 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))}
.
.
.
Na sequncia, entende-se por expresso um termo, um conjunto de termos, um tomo,
um conjunto de tomos, um literal, uma clusula, ou um conjunto de clusulas. Quando
nenhuma varivel aparecer na expresso, d-se o nome de expresso base para enfatizar esse
fato. Ento possvel usar um termo base, um tomo base, um literal base, e um clusula base
significando que no aparece nenhuma varivel na respectiva expresso. Portanto, uma
subexpresso de uma expresso E uma expresso que aparece em E.
Definio: Seja um conjunto de clusulas. O conjunto de tomos base da forma P n( t1, ... ,tn )
para todos os predicados n-arg Pn existentes em S, onde t 1, ... ,t n so elementos de um
universo Herbrand de S, chamado de conjunto de tomos ou base Herbrand de S.
Definio: Uma instncia base de uma clusula C de um conjunto S de clusulas uma
clusula obtida pela substituio das variveis em C por membros do universo Herbrand de S.
Exemplo 4.7: Seja S = { P(x), Q(f(y)) R(y)}. C = P(x) uma clusula em S e H = {a, f(a),
f(f(a)), ...} o universo Herbrand de S. Ento P(a) e P(f(f(a))) so ambas instncias base de C.
Sero consideradas agora interpretaes sobre o universo Herbrand. Seja S um
conjunto de clusulas. Como foi visto no Captulo 3, uma interpretao sobre o universo
Herbrand de S uma atribuio de valores s constantes, funes e predicados que aparecem
em S. Na sequncia, define-se uma interpretao especial sobre o universo Herbrand de S,
chamada de H-interpretao de S.
Definio: Seja S um conjunto de clusulas; H, o universo Herbrand de S; e I, uma
interpretao de S sobre H. I chamado de uma H-interpretao de S se satisfaz as seguintes
condies:
1. I mapeia todas as constantes em S para elas mesmas.
2. Seja f uma funo n-arg e h1, ..., hn elementos de H. Em I, f uma funo que mapeia
(h1, ..., hn) (um elemento em Hn) para f(h1, ..., hn) (um elemento em H).
No existem restries para atribuies a qualquer predicado n-arg em S. Seja A =
{A1,A2, ..., An, ... } um conjunto de tomos de S. Uma H-interpretao I pode ser
convenientemente representada por um conjunto: I = { m1, m2, ..., mn, ... } onde mj Aj ou
38

~Aj para j = 1, 2, ... O significado desse conjunto que se mj Aj, ento Aj "verdadeiro";
do contrrio, Aj "falso".
Exemplo 4.8: 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 trs smbolos 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-interpretaes de S so 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)), ... }.
Uma interpretao de um conjunto S de clusulas no precisa necessariamente ser
definido sobre o universo Herbrand de S. Ento uma interpretao pode no ser uma Hinterpretao. Por exemplo, seja S = { P(x), Q(y, f(y,a)) }. Se o domnio D = {1, 2}, ento a
seguinte interpretao uma interpretao de S.
D = { 1, 2}
a
2
P(1)
V

f(1,1)
1
P(2)
F

f(1,2)
2

Q(1,1)
F

f(2,1)
2
Q(1,2)
V

f(2,2)
1
Q(2,1)
F

Q(2,2)
V

Para uma interpretao tal como a apresentada acima, pode-se definir uma Hinterpretao I* correspondente a I. Usa-se o exemplo acima para ilustrar. Primeiro, acha-se o
conjunto de tomos S:
A = { P(a), Q(a,a), P(f(a,a)), Q(a, f(a,a)), Q( f(a,a), a), Q( f(a,a), f(a,a), ... }.
Depois, avalia-se cada membro de A usando a tabela acima:
P(a) = P(2) = F
Q(a, a) = Q(2, 2) = T
P( f(a, a)) = P( f(2, 2) = P(1) = T
Q(a, f(a, a)) = Q(2, f(2, 2)) = Q(2, 1) = F
Q( f(a, a), a) = Q( f(2,2), 2) = Q(1, 2) = T
Q( f(a, a), f( a, a)) = Q( f(2, 2), f(2, 2)) = Q(1, 1) = F
.
.
.
Portanto, a H-interpretao I* correspondente a I
I* = { ~P(a), Q(a,a), P(f(a,a), ~Q(a, f(a,a)), Q(f(a,a), a), ~Q(f(a, a), f(a,a)), ... }.
No caso de no existirem constantes em S, o elemento a, que usado para iniciar o
universo Herbrand de S, pode ser mapeado para qualquer elemento do domnio D. Neste caso,
se existe mais de um elemento em D, ento existe mais de uma H-interpretao correspondente
a I. Por exemplo, seja S = { P(x), Q(y, f(y, z)) } e seja uma interpretao I para S como segue:
D = { 1, 2}.
f(1,1)
1

f(1,2)
2

f(2,1)
2
39

f(2,2)
1

P(1)
V

P(2)
F

Q(1,1)
F

Q(1,2)
V

Q(2,1)
F

Q(2,2)
V

Ento as duas H-iterpretaes correspondentes a I so:


*
I = { P(a), ~Q(a,a), P(f(a,a), ~Q(a, f(a,a)), ~Q(f(a,a), a), ~Q(f(a, a), f(a,a)), ...}, se a= 1.
I* = { ~P(a), Q(a,a), P(f(a,a), ~Q(a, f(a,a)), Q(f(a,a), a), ~Q(f(a, a), f(a,a)), ... }, se a = 2.
Pode-se formalizar os conceitos vistos acima da seguinte forma:
Definio: Dada uma interpretao I sobre um domnio D, uma H-interpretao I *
correspondente a I uma H-interpretao que satisfaz a seguinte condio:
Seja h1, ..., hn elementos de H (o universo Herbrand de S). Sendo cada hi mapeado
para algum di em D. Se atribudo a P(d 1, ... , dn) V(F) por I, ento para P(h 1, ... , hn)
tambm atribudo V(F) em I*.
A prova do seguinte lema no difcil e fica como exerccio.
Lema 4.1: Se uma interpretao I sobre algum domnio D satisfaz um conjunto de clusulas S,
ento qualquer uma das H-interpretaes I* correspondentes a I tambm satisfaz S.
Teorema 4.2: Um conjunto S de clusulas insatisfatvel se e somente se S falso sob todas
as H-interpretaes de S.
Prova: (IDA) A primeira metade do teorema acima bvia uma vez que, por definio, S
insatisfatvel se e somente se S falso sob todas as interpretaes sobre qualquer domnio.
(VOLTA) Para provar a segunda metade do teorema acima, assume-se que S falso
sob todas as H-interpretaes de S. Suponha-se que S no insastisfatvel. Ento existe uma
interpretao I sobre algum domnio D tal que S verdadeira sob I. Seja I * uma Hinterpretao correspondente a I. De acordo com o Lema 4.1, S verdadeira sob I *. Isso
contradiz a afirmao de que S falsa sob todas as H-interpretaes de S. Portanto, S deve ser
insatisfatvel.
Ento chega-se ao objetivo do incio desta seo. Isto , precisa-se considerar somente
interpretaes sobre o universo Herbrand, ou mais estritamente, H-interpretaes, para
verificar que um conjunto de clusulas ou no insatisfatvel. Devido Teorema 4.2, daqui para
diante sempre que for mencionada uma interpretao estar-se- falando de uma Hinterpretao.
Sendo representando o conjunto vazio. Cada uma das seguintes observaes bvia.
As provas sero deixadas como exerccio.
1. Uma instncia base C' de uma clusula C satisfeita por uma interpretao I se e somente
se existe um literal base L' que tambm est em I, isto C' I .
2. Uma clusula C satisfeita por uma interpretao I se e somente se toda instncia base de
C satisfeita por I.
3. Uma clusula C falsificada por uma interpretao I se e somente se existe no mnimo
uma instncia base C' de C tal que C' no satisfeita por I.
4. Um conjunto de clusulas S insatisfatvel se e somente se para toda interpretaoI,
existe no mnimo uma instncia ground C' de alguma clusula C em S tal que C' no
satisfeita por I.

40

Exemplo 4.9: 1. Considere a clusula C = ~P(x) Q(f(x)). Sejam I1, I2, e I3 definidas como
segue:
I1 = { ~P(a), ~Q(a), ~P(f(a)), ~Q(f(a)), ~P(f(f(a))), ~Q(f(f(a))), ... }
I2 = { P(a), Q(a), P(f(a)), Q(f(a)), P(f(f(a))), Q(f(f(a))), ... }
I3 = { P(a), ~Q(a), P(f(a)), ~Q(f(a)), P(f(f(a))), ~Q(f(f(a))), ... }
Nota-se que C satisfeita por I1 e I2, mas invalidada por I3.
2. Considere S = { P(x), ~P(a)}. Existe somente duas H-interpretaes:
I1 = {P(a)} e I2 = { ~P(a)}.
S invalidada por ambas as H-interpretaes, e portanto insatisfatvel.
4.4 RVORES SEMNTICAS
Tendo-se introduzido o Universo Herbrand, ser considerado agora o estudo de
rvores semnticas. Ser visto na seqncia que encontrar uma prova para um conjunto de
clusulas o mesmo que gerar uma rvore semntica.
Definio: Se A um tomo, ento os dois literais A e ~A so ditos um complemento do
outro, e o conjunto {A, ~A} chamado de par complementar.
Uma clusula uma tautologia se ela contm um par complementar. Quando
usado o termo tautologia, faz-se referncia especfica a uma clusula que uma tautologia.
Definio: Dado um conjunto S de clusulas, seja A o conjunto atmico de S. Uma rvore
semntica para S uma rvore (descendente) T, onde cada ligao vinculada a um conjunto
finito de tomos ou negaes de tomos de A de forma que:
i.
Para cada n N, h somente um nmero finito de sucessores imediatos L 1, ..., Ln de N.
Seja Qi a conjuno de todos os literais no conjunto vinculado a Li, i=1,...,n. Ento Q1
Q2 ... Qn uma frmula proposicional vlida.
ii. Para cada n N, seja I(N) a unio de todos os conjuntos vinculados a ligaes deste ramo
de T desde o n raiz at N, inclusive. Ento I(N) no contm nenhum par complementar.
Definio: Seja A = {A1, A2, ..., Ak, ...} um conjunto de tomos de um conjunto S de
clusulas. Uma rvore semntica para S dita ser completa se e somente se para cada n
terminal (ou folha) N de uma rvore semntica, isto , um n que no tem sucessores, I(N)
contm ou Ai ou ~Ai para i = 1, 2, ....
Exemplo 4.10: Seja A = {P, Q, R} um conjunto de tomos de um conjunto S de clusulas.
Ento cada uma das duas rvores na Fig. 4.1 uma rvore semntica completa para S.

41

Figura 4.1 rvores Semnticas completas para um conjunto de tomos A = {P, Q, R}


Exemplo 4.11: Considere S = {P(x), P(a)}. O conjunto de tomos de S {P(a)}. Uma rvore
semntica completa para S mostrada na Fig. 4.2.

Figura 4.2 rvore Semntica completa para um conjunto de tomos A = {P(a)}


Exemplo 4.12: Considere S = {P(x), Q(f(x))}. O conjunto de tomos de S :
A = {P(a), Q(a), P(f(a)), Q(f(a)), P(f(f(a))), Q(f(f(a))), ...}.
A figura 4.3 mostra uma rvore semntica para S.

42

Figura 4.2 rvore Semntica para um conjunto de tomos A = {P(a), Q(a), P(f(a)), Q(f(a)),
P(f(f(a))), Q(f(f(a))), ...}
Nota-se que para cada n N na rvore semntica para S, I(N) um subconjunto de
alguma interpretao para S. Por esta razo, I(N) ser chamada interpretao parcial para S.
Quando um conjunto de tomos de um conjunto S de clusulas infinito, qualquer
rvore semntica completa para S ser infinita. Como facilmente visto, uma rvore semntica
completa para S corresponde a uma avaliao exaustiva de todas as possveis interpretaes
para S. Se S insatisfatvel, ento S no verdadeiro em cada uma dessas interpretaes.
Dessa forma, pode-se terminar de expandir os ns a partir de um n N se I(N) falsifica S. Isso
motiva as seguintes definies:
Definio: Um n N um n falha se I(N) falsifica alguma instncias base de uma clusula em
S, mas I(N') no falsifica nenhuma instncia base de uma clusula em S para cada n
antecessor N' de N.
Definio: Uma rvore semntica T dita ser fechada se e somente se cada subrvore de T
termina em um n falha.
Definio: Um n N de uma rvore semntica fechada chamada de n de inferncia se todos
os sucessores imediatos de N so ns falha.
Exemplo 4.13: Seja S = {P, Q R, ~P ~Q, ~P ~R}. O conjunto de tomos de S A = {P,
Q, R}. Figura 4.4a uma rvore semntica completa para S, enquanto fig. 4.4b uma rvore
semntica fechada para S.

43

Figura 4.4 rvore semntica completa (a) e fechada (b) para S.


Exemplo 4.14: Considere S = {P(x), ~P(x) Q(f(x)), ~Q(f(a))}. O conjunto de tomos de S
igual a: A = {P(a), Q(a), P(f(a)), Q(f(a)), ...}. A figura 4.5 mostra uma rvore semntica
fechada para S.

Figura 4.5 rvore semntica fechada para S = {P(x), ~P(x) Q(f(x)), ~Q(f(a))}.
4.5 TEOREMA DE HERBRAND
O teorema de Herbrand muito importante na lgica simblica; ele a base para a
maioria dos procedimentos atuais para prova automtica de teoremas. O teorema Herbrand
est bastante relacionado com o Teorema 4.2. Dessa forma, para testar se um conjunto S de
clusulas insatisfatvel, precisa-se considerar somente interpretaes sobre o universo
Herbrand de S. Se S falso sob todas as interpretaes do universo Herbrand de S, ento
pode-se concluir que S insatisfatvel. Uma vez que geralmente existem muitas, possivelmente
um nmero infinito, dessas interpretaes, h necessidade de organiz-las de alguma forma
44

sistemtica. Isto pode ser feito usando uma rvore semntica. Sero dadas duas verses do
teorema Herbrand.
Teorema 4.3 (Teorema Herbrand, verso I): Um conjunto S de clusulas insatisfatvel se e
somente se correspondendo a toda rvore semntica completa de S, h uma rvore semntica
fechada finita.
Prova: (IDASuponha S ser insatisfatvel. Seja T uma rvore semntica completa para S. Para
cada ramo B de T, seja IB um conjunto de todos os literais ligados a todos os ns do ramo B.
Ento IB uma interpretao para S. Desde que S seja insatisfatria, I B precisa falsificar uma
instncia base C' de uma clusula C em S. Contudo, desde que C' finito, deve haver um n
falha NB (que est a um nmero finito de ligaes do n raiz) no ramo B. Uma vez que todo
ramo de T tem um n falha, h uma rvore semntica fechada T' para S. Alm disso, uma vez
que somente um nmero finito de ligaes esto conectadas em cada n de T', T' precisa ser
finito (isto , o nmero de ns em T' finito), de outra maneira, pelo Lema de Konig, pode-se
encontrar um ramo infinito contendo nenhum n falha. Dessa forma, completa-se a primeira
metade do teorema.
(VOLTA) De modo inverso se, correspondendo a toda rvore semntica completa T para S, h
uma rvore finita semntica fechada, ento cada ramo de T contm um n falha. Isto significa
que toda interpretao falsifica S. Conseqentemente S insatisfatvel. Isto completa a prova
da segunda parte do teorema.
Teorema 4.4 (Teorema de Herbrand, Verso II): Um conjunto de clusulas insatisfatvel se
e somente se h um conjunto finito insatisfatvel S' de instncias base de clusulas de S.
Prova: (IDA Suponha S ser insatisfatvel. Seja T uma rvore semntica completa para S.
Ento, pelo teorema de Herbrand (Verso I), h uma rvore semntica fechada finita T'
correspondendo a T. Seja S' um conjunto de todas as instncias base das clusulas que esto
falsificadas em todos os ns falha de T'. S' finito desde que haja um nmero finito de ns
falhos em T'. Uma vez que S' falso em toda interpretao de S', S' insatisfatvel.
(VOLTA) Suponha que h um conjunto finito insatisfatvel S' de instncias base das clusulas
em S. Desde que cada interpretao I de S contm uma interpretao I' de S', se I' falsifica S',
ento I deve tambm falsificar S'. Entretanto, S' falsificado por toda a interpretao I'.
Conseqentemente, S' falsificado por toda interpretao I de S. Portanto, S falsificado por
toda interpretao de S. Ento, S insatisfatvel.
Exemplo 4.15: Seja S = {P(x), ~P(f(a))}. Este conjunto S insatisfatvel. Portanto, pelo
teorema de Herbrand h um conjunto insatisfatvel finito S' de instncias base de clusulas de
S. Um desses conjuntos : S' = {P(f(a)), ~P(f(a))}.
Exemplo 4.16: Seja S = {~P(x) Q(f(x),x), P(g(b)), ~Q(y,z)}. Esse conjunto insatisfatvel.
Um de seus conjuntos insatisfatvels de instncias baixas em S :
S' = {~P(g(b) Q(f(g(b)), g(b)), P(g(b)), ~Q(f(g(b)), g(b))}.
Exemplo 4.17: Seja um conjunto S consistindo das seguintes clusulas:
S={
~P(x,y,u) ~P(y,z,v) ~P(x,v,w) P(u,z,w),
~P(x,y,u) ~P(y,z,v) ~P(u,z,w) P(x,v,w),
P(g(x,y), x, y), P(x, h(x, y), y), P(x, y, f(x,y)),
~P(k(x), x, k(x)) }.
Esse conjunto S tambm insatisfatvel. Entretanto, no muito fcil encontrar
manualmente um conjunto insatisfatvel finito S' de instncias base das clusulas em S. Um
meio de encontrar tal conjunto S' gerar uma rvore semntica fechada T' para S. Ento o
45

conjunto S' de todas as instncias base falsificadas em todos os ns falhos de T' o conjunto
desejado. O conjunto seguinte o que se deseja como S'. Pode-se querer checar que cada
clusula base em S' uma instncia base de alguma clusula em S, e que S' insatisfatvel.
S' = {
P(a, h(a, a), a),
~P(k(h(a, a), h(a,a), k(h(a, a))),
P(g(a, k(h(a, a))), a, k(h(a, a))),
~P(g(a, k(h(a, a))), a, k(h(a, a))) ~P(a, h(a, a), a)
~P(g(a, k(h(a, a))), a, k(h(a, a))) ~P(k(h(a, a), h(a,a), k(h(a, a)))
}.

4.6 IMPLEMENTAO DO TEOREMA HERBRAND


A segunda verso do teorema de Herbrand sugere um procedimento de refutao.
Isto , dado um conjunto insatisfatvel S de clusulas para provar, se h um procedimento
mecnico que pode sucessivamente gerar os conjuntos S 1', ..., Sn', ... de instncias base de
clusulas em S e sucessivamente testar se eles so insatisfatveis, ento como garantido pelo
Teorema de Herbrand, este procedimento pode detectar um nmero finito N tal que S N'
insatisfatvel.
Gilmore em 1960 desenvolveu um programa de computador que gerava,
sucessivamente, os conjuntos S0', S1', ..., onde Si' o conjunto de todos as instncias base
obtidas pela troca das variveis em S por constantes no conjunto de constantes i-nvel H i de S.
Uma vez que cada Si' uma conjuno de clusulas base, pode-se usar qualquer mtodo
disponvel na lgica proposicional para checar sua insatisfabilidade. Gilmore usou o mtodo
multiplicativo. Isto , quando cada S i' produzido, Si' transformado em uma forma normal
disjuntiva. Qualquer conjuno na forma normal disjuntiva que contm um par complementar
removida. Se algum conjunto Si' for vazio, ento Si' insatisfatvel e a prova encontrada.
Examplo 4.18: Considere S = {P(x), ~P(a)}.
H0 = {a}
S0' = P(a) ~P(a) =
Dessa forma S provado ser insatisfatvel.
Exemplo 4.19: Considere S = {P(a), ~P(x) Q(f(x)), ~Q(f(a))}.
H0 = {a}.
S0' = P(a) (~P(a) Q(f(a))) ~Q(f(a))
= (P(a) ~P(a) ~Q(f(a))) (P(a) Q(f(a)) ~Q(f(a)))
==
Dessa forma est provado que S insatisfatvel.
O mtodo multiplicativo usado por Gilmore ineficiente como facilmente visto.
Por exemplo, para um pequeno conjunto de 10 clusulas base com dois literais, h 2 10
conjunes. Para evitar essa ineficincia, Davis e Putnam introduziram um mtodo mais
eficiente para testar se um conjunto de clusulas baixas insatisfatvel.
Mtodo de Davis e Putnam: Seja S um conjunto de clusulas base. Essencialmente, o
mtodo consiste das quatro regras a seguir:
I.
Regra Tautolgica: Retirar todas as clusulas base de S que so tautolgicas. O restante
do conjunto S' insatisfatvel se e somente se S o for.
46

II.

Regra do Literal-nico: Se h uma clusula unitria base L em S, obter S' de S retirando


todas aquelas clusulas base em S contendo L. Se S' vazia, ento S satisfatvel. Caso
contrrio, obter um conjunto S'' de S' pela retirada de ~L de S'. S'' insatisfatvel se e
somente se S o . Note que se ~L uma clusula unitria base, ento a clusula torna-se
quando ~L retirado da clusula.
III. Regra do Literal-Puro: Um literal L em uma clusula base S dito ser puro em S se e
somente se o literal ~L no aparecer em nenhuma clusula base em S. Se um literal L
puro em S, retirar todas as clusulas base contendo L. O restante do conjunto S'
insatisfatvel se e somente se S o .
IV. Regra da Separao: Se um conjunto S pode ser colocado na forma (A 1 L) ...
(Am L) (B1 ~L) ... (Bn ~L) R, onde Ai, Bi, e R so livres de L e ~L,
ento obter os conjuntos S1 = A1 Am R e S2 = B1 ... Bn R. S
insatisfatvel se e somente se (S 1 S2) insatisfatvel, isto , ambos S 1 e S2 so
insatisfatveis.
Se um conjunto S original insatisfatvel, ento o conjunto restante depois de
aplicada uma das regras continua ainda insatisfatvel, e vice-versa.
Regra I: Desde que uma tautologia satisfatvel para toda interpretao, S' insatisfatria se
e somente S o .
Regra II: Se S' vazio, ento todas as instncias base em S contm L. Conseqentemente
qualquer interpretao contendo L pode satisfazer S. Portanto S satisfatvel. Ainda
tem que se mostrar que S'' insatisfatvel se e somente se S insatisfatvel. Supondo
que S" insatisfatvel. Se S satisfatvel, ento h um modelo M de S contendo L.
Para S", M precisa satisfazer todas as clusulas que no contm L. Alm disso, uma
vez que M falsifica ~L, M precisa satisfazer todas as clusulas que originalmente
contm ~L. Portanto, M deve satisfazer S". Isto contradiz a hiptese de que S"
insatisfatvel. Conseqentemente S deve ser insatisfatvel. De modo inverso,
supondo S ser insatisfatvel. Se S" satisfatvel, ento h um modelo M" de S".
Desse modo, qualquer interpretao de S contendo M" e L deve ser um modelo de
S. Isso contradiz a hiptese que S no tem modelo. Conseqentemente S" deve ser
insatisfatvel. Portanto, S" insatisfatvel se e somente se S o .
Regra III: Supondo S' ser insatisfatvel. Ento S deve ser insatisfatvel uma vez que S' um
subconjunto de S. De modo inverso, supondo que S insatisfatvel. Se S'
satisfatvel, ento h um modelo M de S'. Uma vez que nem L, nem ~L est em S',
nem L, nem ~L est em M. Assim qualquer interpretao de S que contm M e L
um modelo de S. Isto contradiz a hiptese de que S no tem modelo.
Conseqentemente S' deve ser insatisfatvel. Portanto, S' insatisfatvel se e somente
se S insatisfatvel.
Regra IV: Supondo que S insatisfatvel. Se (S 1 S2) satisfatvel, ento S1 ou S2 tem um
modelo. Se S1(S2) tem um modelo M, ento qualquer interpretao de S contendo
~L(L) um modelo de S. Isto contradiz a hiptese de que S no tem modelo.
Conseqentemente (S1 S2) insatisfatvel. De modo inverso, supondo que (S 1
S2) insatisfatvel. Se S satisfatvel, S precisa ter um modelo M. Se M contm
~L(L), M pode satisfazer S1(S2). Isto contradiz a hiptese de que (S 1 S2)
insatisfatvel. Conseqentemente S precisa ser insatisfatvel. Portanto, S
insatisfatvel se e somente se (S1 S2) o .
As regras acima so muito importantes. Nos captulos seguintes ser visto que as
essas regras tem muitas extenses.
47

Exemplo 4.20: Mostre que S = (P Q ~R) (P ~Q) ~P R U insatisfatvel.


(1) (P Q ~R) (P ~Q) ~P R U
(2) (Q ~R) (~Q) R U
Regra II em ~P
(3) ~R R U
Regra II em ~Q
(4) U
Regra II em ~R.
Uma vez que a ltima frmula contm a clusula vazia, S insatisfatvel.
Exemplo 4.21: Mostre que S = (P Q) ~Q (~P Q ~R) satisfatvel.
(1) (P Q) ~Q (~P Q ~R)
(2) P (~P ~R)
Regra II em ~Q
(3) ~R
Regra II em P
(4) 1
Regra II em ~R.
Sendo ltimo conjunto vazio, ento S satisfatvel.
Exemplo 4.22: Mostre que S = (P ~Q) (~P Q) (Q ~R) (~Q ~R) satisfatvel.
(1) (P ~Q) (~P Q) (Q ~R) (~Q ~R)
(2) (~Q (Q ~R) (~Q ~R))
(Q (Q ~R) (~Q ~R))
Regra IV em P
(3) ~R ~R
Regra II em ~Q e Q
(4) 1 1
Regra II em ~R.
Uma vez que ambos os conjuntos que foram separados so satisfatveis, ento S satisfatvel.
Exemplo 4.23: Mostre que S = (P Q) (P ~Q) (R Q) (R ~Q) satisfatvel.
(1) (P Q) (P ~Q) (R Q) (R ~Q)
(2) (R Q) (R ~Q)
Regra III em P
(3) 1
Regra III em R.
Logo, S satisfatvel.
O mtodo acima para testar a insatisfabilidade (inconsistncia) mais eficiente que o
mtodo multiplicativo. Esse mtodo pode ser aplicado para qualquer frmula na lgica
proposicional. Para tanto necessrio primeiro transformar a frmula proposicional dada na
forma normal conjuntiva, e ento aplicar as quatro regras acima.
Para praticar a aplicao deste mtodo utilize-o para resolver o Exemplo 2.13 do
Captulo 2.
4.7 EXERCCIOS
Seo 4.2
1. Encontre a forma padro para cada uma das seguintes frmulas:
(a) ~((x) P(x) (y)(z) Q(y,z))
(b) (x)((~E(x,0) ((y)(E(y, g(x)) (z)(E(z, g(x)) (E(y,z)))))
(c) ~((x)P(x) (y)P(y)).
2. Suponha que (x)(y) M[x,y] uma forma normal prenex de uma frmula F, onde M[x,y]
a matriz que contm somente variveis x e y. Seja f uma funo que no ocorre em M[x,y].
Prove que F vlida se e somente se (x)M[x,f(x)] vlida.
3. Sendo S1 e S2 formas padro das frmulas F1 e F2, respectivamente. Se S1 = S2,
verdadeiro que F1 = F2? Explique.
48

4. Considere as seguintes proposies:


F1: Todo aquele que guarda dinheiro, ganha juros.
F2: Se no h juros, ento ningum guarda dinheiro.
Seja S(x,y), M(x), I(x) e E(x,y) representando, respectivamente, "x guarda y",
"x dinheiro", "x juros" e "x ganha y".
(1) Simbolize F1 e F2.
(2) Encontre as formas normais de F1 e ~F2.
Seo 4.3
5. Seja S = {P(f(x), a, g(f(x), b))}.
(1) Encontre H0 e H1.
(2) Encontre todas as instncias base de S sobre H0.
(3) Encontre todas as instncias base de S sobre H1.
6. Prove o Lema 4.1 desse captulo.
7. Seja F uma frmula. Seja S uma forma padro de ~F. Encontre a condio necessria e
suficiente para F de modo que o universo Herbrand de S seja finito.
8. Considere a seguinte clusula C e a interpretao I:
C: P(x) Q(x,f(x))
I: {~P(a), ~P(f(a)), ~P(f(f(a))), ...,
~Q(a, a), Q(a, f(a)), ~Q(a, f(f(a))), ...,
~Q(f(a), a), Q(f(a), f(a)), ~Q(f(a), f(f(a))), ...}.
A interpretao I satisfaz C?
9. Considere o seguinte conjunto S de clusulas: S = {P(x), Q(f(y))}.
Seja uma interpretao I definida como abaixo:
I = {P(a), P(f(a)), P(f(f(a))), ...,
Q(a), ~Q(f(a)), Q(f(f(a))), ...}.
A interpretao I satisfaz S?
10. Considere S = {P(x), ~P(f(y))}.
1. Encontre H0, H1, H2 e H3 de S.
2. possvel encontrar uma interpretao que satisfaa S? Se possvel, d uma. Se
no, por qu?
Seo 4.4
11. Seja S = {P, ~P Q, ~Q}. D uma rvore semntica fechada de S.
12. Considere S = {P(x), ~P(x) Q(x,a), ~Q(y,a)}.
(a) Encontre o conjunto de tomos de S.
(b) Encontre uma rvore semntica completa de S.
(c) Encontre uma rvore semntica fechada de S.
Seo 4.5
13. Considere S = {P(x, a, g(x, b)), ~P(f(y), z, g(f(a), b))}. Encontre um conjunto insatisfatvel
S' de instncias base de clusulas em S.
14. Seja S = {P(x), Q(x, f(x)) ~P(x), ~Q(g(y), z)}. Encontre um conjunto insatisfatvel S' de
instncias base de clusulas em S.
Seo 4.6
15. Use as regras sugeridas por Davis e Putnam para provar que as seguintes frmulas so
insatisfatveis.
49

(1) (~P Q) ~Q P
(2) (P Q) (R Q) ~R ~Q
(3) (P Q) (~P Q) (~R ~Q) (R ~Q).
16. Use as regras sugeridas por Davis e Putnam para provar que as seguintes frmulas so
satisfatrias.
(1) P Q R
(2) (P Q) (~P Q) R
(3) (P Q) ~Q.

50

CAPTULO 5 - PRINCPIO DA RESOLUO


5.1. INTRODUO
Nos captulos anteriores foi considerado o teorema de Herbrand. Baseado nesse
teorema foi apresentado um procedimento de refutao. Entretanto o procedimento de
Herbrand tem uma grande desvantagem: ele precisa gerar os conjuntos S 1', S2', ... de
instncias base das clusulas. Para muitos casos, esta seqncia cresce exponencialmente. Para
ver isso ser dado um pequeno exemplo:
Considere: S = {P(x, g(x), y, h(x, y), z, k(x, y, z)), ~P(u, v, e(v), w, f(v, w), x)}.
Sendo: H0 = {a},
H1 = {a, g(a), h(a, a), k(a, a, a), e(a), f(a, a)}

.
.
.
o nmero de elementos em S0', S1', ... 2, 1512, ..., respectivamente. interessante notar que
o primeiro conjunto que insatisfatvel S 5'. Entratanto, H5' tem por volta de 1064
elementos. Conseqentemente, S5' tem 10256 elementos. Com a tecnologia computacional
atual j impraticvel armazenar S5' no computador, que dir testar se insatisfatvel.
Para evitar a gerao de conjuntos de instncias base como requerido no procedimento
de Herbrand, h necessidade de introduzir o princpio de resoluo proposto em 1965 por
Robinson. Ele pode ser aplicado diretamente a qualquer conjunto S de clusulas (no
necessariamente clusulas base) para testar se S insatisfatvel.
A idia principal do princpio de resoluo checar se S contm uma clusula vazia .
Se S contm , ento S insatisfatvel. Se S no contm , a prxima coisa a checar se
pode ser derivado de S. Mais adiante ficar claro que, pelo teorema de Herbrand (verso I),
checar pela presena de , equivalente a contar o nmero de ns de uma rvore semntica
fechada para S. Pelo Teorema 4.3, S insatisfatvel se e somente se h uma rvore semntica
fechada finita T para S. De maneira objetiva, S contm , se e somente se T consiste de
somente um n - o n raiz. Se S no contm , T deve conter mais que um n. Entretanto,
pode ser que se possa reduzir o nmero de ns em T para um, eventualmente pode ser
forado a aparecer. Isto o que o princpio da resoluo procura fazer. De fato, pode-se ver o
princpio da resoluo como uma regra de inferncia que pode ser usada para gerar novas
clusulas a partir de S. Ao se colocar estas novas clusulas em S, alguns ns da rvore original
T podem ser forados a se tornarem ns falha. Dessa forma, o nmero de ns em T pode ser
reduzido e uma clusula vazia pode ser eventualmente derivada.
Neste captulo ser considerado primeiramente o princpio de resoluo para a lgica
proposicional. Em seguida ser estendido para a lgica de predicados.

5.2 O PRINCPIO DE RESOLUO PARA A LGICA PROPOSICIONAL


O princpio de resoluo essencialmente uma extenso da regra do um-literal de
Davis e Putnam, dada na seo 4.6 do captulo 4. Considerando as seguintes clusulas:
C1: P
C2: ~P Q.
Usando a regra um-literal, de C1 e C2 pode-se obter a clusula
51

C3: Q.
O que a regra do um-literal requer que primeiro se examine se h um par
complementar de um literal (por exemplo, P) em C 1 e um literal (por exemplo, ~P) em C 2, e
ento se retire esse par de C1 e C2 para obter a clusula C3, a qual Q.
Estendendo a regra acima e aplicando-a a qualquer par de clusulas (no
necessariamente clusulas unitrias), tem-se a seguinte regra, a qual chamada de princpio de
resoluo: Para qualquer duas clusulas C1 e C2, se h um literal L1 em C1 que
complementar a um literal L2 em C2, ento retire L1 e L2 de C1 e C2 respectivamente, e
construa a disjuno das clusulas restantes. A clusula construda dessa forma um
resolvente de C1 e C2.
Exemplo 5.1: Considerar as seguintes clusulas:
C1: P R
C2: ~P Q.
A clusula C1 tem um literal P, o qual complementar a ~P em C2. Portanto, retirando P e ~P
de C1 e C2, respectivamente, e construindo a disjuno das clusulas restantes R e Q, obtmse o resolvente R Q.
Exemplo 5.2: Considerar as clusulas:
C1: ~P Q R
C2: ~Q S.
O resolvente de C1 e C2 ~P R S.
Exemplo 5.3: Considerar as clusulas:
C1: ~P Q
C2: ~P R.
Desde que no h nenhum literal em C1 que complementar a nenhum literal em C 2, ento
no h resolvente para C1 e C2.
Uma importante propriedade de um resolvente que qualquer resolvente de duas
clusulas C1 e C2 uma implicao lgica de C1 e C2. Isso mostrado no seguinte teorema.
Teorema 5.1 Dadas duas clusulas C1 e C2, um resolvente C de C1 e C2 uma
implicao lgica de C1 e C2.
Prova: Sejam C1, C2 e C representados como segue: C1 = L C1', C2 = L C2' e C = C1'
C2', onde C1' e C2' so disjunes de literais. Suponha que C1 e C2 so verdadeiros em uma
interpretao I. Quer-se provar que o resolvente C de C 1 e C2 tambm verdadeiro em I. Para
provar isto, note que ou L ou ~L falso em I. Assuma que l falso em I. Ento C 1 no deve
ser uma clusula unitria, seno C1 seria falso em I. Portanto C1' deve ser verdadeiro em I.
Deste modo, o resolvente C, que C1' C2', deve ser verdadeiro em I. Da mesma maneira,
pode-se mostrar que se ~L falso em I, ento C2', deve ser verdadeiro em I. Portanto, C1'
C2', deve ser verdadeiro em I.
Tendo duas clusulas unitrias, ento o resolvente delas, se existir um, uma clusula
vazia . Mais importante ainda, se o conjunto S de clusulas insatisfatvel, pode-se usar o
52

princpio de resoluo para gerar a partir de S. Esse resultado ser apresentado como
teorema na Seo 5.6 deste captulo. Enquanto isso ser definida a noo de deduo.
Definio: Dado um conjunto S de clusulas, a (resoluo) deduo de C a partir de S uma
seqncia finita C1, C2, ..., Ck de clusulas tal que cada Ci ou uma clusula em S ou um
resolvente de clusulas precedente Ci e Ck = C. Uma deduo de de S chamada de
refutao ou prova de S.
Diz-se que uma clusula C pode ser deduzida ou derivada de S se h um deduo de C
a partir de S. Sero apresentados vrios exemplos que mostraro como o princpio de
resoluo pode ser usado para provar se um conjunto de clusulas insatisfatvel.
Exemplo 5.4: Considerar o conjunto:
(1) ~P Q
(2) ~Q
(3) P
Ou seja, S = {~P Q, ~Q, P}.
A partir de (1) e (2), obtm-se um resolvente
(4) ~P.
A partir de (4) e (3), obtm-se o resolvente
(5) .
Como derivado de S por resoluo ento, de acordo com o Teorema 5.1, uma
implicao lgica de S. Entretanto, somente pode ser somente uma implicao lgica de um
conjunto de clusulas insatisfatvel. Conseqentemente, S insatisfatvel.
Exemplo 5.5: Para o conjunto S = {P Q, ~P Q, P ~Q, ~P ~Q} tem-se:
(1) P Q
(2) ~P Q
(3) P ~Q
(4) ~P ~Q
A partir do conjunto acima geram-se os seguintes resolventes:
(5) Q
a partir de (1) e (2)
(6) ~Q
a partir de (3) e (4)
(7)
a partir de (5) e (6).
Como derivado, S insatisfatvel. A deduo acima pode ser representada pela rvore da
figura 5.1, a qual chamada de rvore de deduo.
Pv Q

~P v Q

Pv ~Q

~Pv ~Q

~Q

Figura 5.1 rvore de Deduo para S = {P Q, ~P Q, P ~Q, ~P ~Q}


53

O princpio de resoluo uma regra de inferncia bastante poderosa. Na seqncia


ser definido este princpio no contexto da lgica de predicados. Ser mostrado tambm que o
princpio de resoluo completo para provar se um conjunto de clusulas insatisfatvel. Isto
, dado um conjunto S de clusulas, S insatisfatvel se e somente se h uma resoluo que
produz uma clusula vazia a partir de S. Na seo 5.7, ser aplicado o princpio de resoluo
para vrios exemplos no qual pode se ver a utilidade desta regra de inferncia.

5.3 SUBSTITUIO E UNIFICAO


Na seo anterior foi considerado o princpio de resoluo para a lgica proposicional.
A partir de agora ser estendido para a lgica de predicados. Na seo 5.2 foi mostrado que a
parte mais importante da aplicao do princpio de resoluo encontrar um literal em uma
clusula que complementar a um literal em outra clusula. Para clusulas que no contm
variveis, isso simples. Entretanto, para clusulas contendo variveis, isso mais complicado.
Por exemplo, considerando as seguintes clusulas;
C1: P(x) Q(x)
C2: ~P(f(x)) R(x).
No h literais em C1 que sejam complementares a qualquer literal em C 2. Entretanto, se
substituir-se x por f(a) em C1 e x por a em C2, obtm-se:
C1': P(f(a)) Q(f(a))
C2': ~P(f(a)) R(a).
Como se sabe que C1' e C2' so instncias base de C1 e C2 respectivamente, e P(f(a)) e
~P(f(a)) so complementares um com o outro. Conseqentemente a partir de C1' e C2' obtmse um resolvente
C3': Q(f(a)) R(a).
Generalizando, se substituir x por f(x) em C1, obtm-se:
C1*: P(f(x)) Q(f(x)).
Novamente, C1* uma instncia de C1. Agora o literal P(f(x)) em C1* complementar ao
literal ~P(f(x)) em C2. Portanto, pode-se obter um resolvente de C1* e C2,
C3: Q(f(x)) R(x).
C3' uma instncia da clusula C3. Substituindo-se apropriadamente as variveis em C1 e C2
como acima, pode-se gerar novas clusulas a partir de C1 e C2. Alm disso, a clusula C3 a
clusula mais geral no sentido de que todas as outras clusulas que podem ser geradas pelos
processos acima so instncias de C3. C3 ser chamado de resolvente de C1 e C2. Na
seqncia ser considerado como gerar resolventes a partir de clusulas (possivelmente
contendo variveis). Como a obteno de resolventes a partir de clusulas freqentemente
requer substituies para as variveis, sero dadas as seguintes definies.
Definio: Uma substituio um conjunto finito da forma de {t1/v1, ..., tn/vn}, onde cada vi
uma varivel, todo ti um termo diferente de vi e quaisquer dois elementos no conjunto no
tem as mesmas variveis depois do smbolo a substituir (/). Quando t1, ...,tn so termos base, a
substituio chamada de substituio base. A substituio sem elementos chamada de
substituio vazia e denotada por . Sero usadas letras gregas para representar
substituies.
Exemplo 5.6: Os dois conjuntos a seguir so substituies:{f(z)/x, y/z}, {a/x, g(y)/y,
f(g(b))/z}.
54

Definio: Seja = {t1/v1, ..., tn/vn} uma substituio e E uma expresso. Ento E uma
expresso obtida a partir de E pela substituio simultnea de cada ocorrncia da varivel vi, 1
i n, em E pelo termo ti. E chamado de uma instncia de E. (Nota-se que a definio de
uma instncia compatvel com aquela da instncia base de uma clusula, definida no Captulo
4.)
Exemplo 5.7: Seja = {a/x, f(b)/y, c/z} e E = P(x,y,z). Ento E = P(a, f(b), c).
Definio: Sejam = {t1/x1,..., tn/xn} e = {u1/y1,..., um/ym} duas substituies. Ento a
composio de e a substituio, denotada por , que obtida a partir do conjunto:
{t1/x1, ..., tn/xn, u1/y1, ..., um/ym}
pela retirada de todo elemento tj/xj para o qual tj = xj e todo elemento ui/yi tal que yi est
entre {x1, x2, ..., xn}.
Exemplo 5.8: Sejam:

= {t1/x1, t2/x2} = {f(y)/x,z/y}


= {u1/y1, u2/y2, u3/y3} = {a/x, b/y, y/z}, ento:
{t1/x1, t2/x2, u1/y1, u2/y2, u3/y3} = {f(b)/x, y/y, a/x, b/y,

y/z}.
Visto que t2 = x2,t2/x2, isto , y/y deve ser retirado do conjunto. Ainda, como y1 e y2 esto
entre {x1, x2, x3}, u1/y1 e u2/y2, isto , a/x e b/y devem ser retirados. Dessa forma obtm-se:
= {f(b)/x, y/z}.
Deve notar-se que a composio de substituies associativa, e que a substituio
vazia () uma identidade tanto a esquerda como a direita. Isto , ( ) = ( ) e
= para todo , e .
No procedimento de prova por resoluo, para identificar um par complementar de
literais, necessita-se muito freqentemente unificar (casar) duas ou mais expresses. Isto ,
tem-se que encontrar uma substituio que possa fazer muitas expresses idnticas. Portanto,
ser considerada a unificao de expresses.
Definio: Uma substituio chamada de unificador para um conjunto de expresses
{E1, ..., Ek} se e somente se E 1 = E2 = ... = Ek O conjunto {E1, ..., Ek} dito ser
unificvel se h um unificador para o mesmo.
Definio: Um unificador para um conjunto de expresses {E1, ..., Ek} o unificador mais
geral se e somente se para cada unificador para o conjunto h uma substituio tal que
= .
Exemplo 5.9: O conjunto {P(a,y), P(x, f(b))} unificvel desde que a substituio = {a/x,
f(b)/y} seja um unificador para o conjunto.

5.4 ALGORITMO DE UNIFICAO

55

Nesta seo ser visto o algoritmo de unificao que ser usado para encontrar o
unificador mais geral para um conjunto unificvel finito de expresses no vazias. Quando o
conjunto no unificvel, o algoritmo tambm detectar esse fato.
Considere P(a) e P(x). Essas duas expresses no so idnticas: a diferena que a
ocorre em P(a) porm x ocorre em P(x). Para unificar P(a) e P(x) , primeiro tem-se que
encontrar a diferena, e ento tentar elimin-la. Para P(a) e P(x), a diferena {a, x}. Como x
uma varivel, x pode ser substitudo por a, e ento a diferena ser eliminada. Esta a idia
na qual o algoritmo de unificao se baseia.
Definio: O conjunto diferena de um conjunto de expresses no vazio W obtido pela
localizao do primeiro smbolo (contando a partir da esquerda) para o qual nem todas as
expresses em W tem exatamente o mesmo smbolo e ento extrair para cada expresso em W
a subexpresso que comea com o smbolo ocupando aquela posio. O conjunto dessas
respectivas subexpresses o conjunto diferena de W.
Exemplo 5.10: Se W {P(x, f(y,z)), P(x, a), P(x, g(h(k(x))))}, ento a primeira posio do
smbolo no qual nem todos os tomos em W so exatamente iguais o quinto, visto que todos
tem os primeiros quatro smbolos P(x, em comum. Dessa forma, o conjunto diferena consiste
das respectivas subexpresses (termos sublinhados) que comeam na posio do smbolo de
nmero quinto. O conjunto ento {f(y, z), a, g(h(k(x)))}.
Algoritmo de Unificao
Passo 1: Faa k = 0, Wk = W e k = .
Passo 2: Se Wk composto pelo mesmo elemento (singleton), ento pare; k o unificador
mais geral para W. Caso contrrio, encontre o conjunto diferena Dk de Wk.
Passo 3: Se h elementos vk e tk em Dk tais que vk uma varivel que no ocorre em tk, v
para o passo 4. Caso contrrio, pare; W no unificvel.
Passo 4: Faa k+1 = k{tk/vk} e Wk+1 = Wk{tk/vk}. (Note que Wk+1 = Wk+1.)
Passo 5: Faa k = k + 1 e v para o passo 2.
Exemplo 5.11: Encontrar o unificador mais geral para W = {P(a, x, f(g(y))), P(z, f(z), f(u))}.
1. 0 = e W0 = W. Como W0 no composto por elementos idnticos, 0 no o unificador
mais geral para W.
2. O conjunto diferena D0 = {a, z}. Em D0, h uma varivel v0 = z que no ocorre em t0 = a.
3. Sejam:
1
= 0 {t0/v0} = {a/z} = {a/z}.
W1
= W0 {t0/v0}
= {P(a, x, f(g(y))), P(z, f(z), f(u))} {a/z}
= {P(a, x, f(g(y))), P(a, f(a), f(u))}.
4. W1 no composto por elementos idnticos, conseqentemente acha-se o conjunto
diferena D1 de W1: D1 = {x, f(a)}.
5. A partir de D1 encontra-se que v1 = x e t1 = f(a).
6. Sejam:
2
= 1 {t1/v1} = (a/z} {f(a)/x} = {a/z, f(a)/x}
W2
= W1 {t1/v1}
= {P(a, x, f(g(y))), P(a, f(a), f(u))} {f(a)/x}
= {P(a, f(a), f(g(y))), P(a, f(a), f(u))}.
7. W2 no composto por elementos idnticos, conseqentemente encontra-se o conjunto
diferena D2 de W2: D2 = {g(y), u}.
56

8. A partir de D2 acha-se que v2 = u e t2 = g(y).


9. Sejam:
3
= 2 {t2/v2} = {a/z, f(a)/x} {g(y)/u} = {a/z, f(a)/x, g(y)/u}
W3
= W2 {t2/v2}
= {P(a, f(a), f(g(y))), P(a, f(a), f(u))} {g(y)/u}
= {P(a, f(a), f(g(y))), P(a, f(a), f(g(y)))}
= {P(a, f(a), f(g(y)))}.
10. Como W3 composto por elementos idnticos, 3 = {a/z, f(a)/x, g(y)/u} o unificador
mais geral para W.
Exemplo 5.12: Determinar se o conjunto W = {Q(f(a), g(x)), Q(y, y)) ou no unificvel.
1. Sejam 0 = e W0 = W.
2. W0 no composto por elementos idnticos, conseqentemente encontra-se o conjunto
diferena D0 de W0: D0 = {f(a), y}.
3. A partir de D0 sabe-se que v0 = y e t0 = f(a).
4. Sejam:
1
= 0 {t0/v0} = {f(a)/y} = {f(a)/y}.
W1
= W0 {t0/v0} = {Q(f(a), g(x)), Q(y, y)} {f(a)/y}
= {Q(f(a), g(x)), Q(f(a), f(a))}.
5. W1 no um composto por elementos idnticos, conseqentemente encontra-se o conjunto
diferena D1 de W1: D1 = {g(x), f(a)}.
6. Entretanto, nenhum elemento de D1 uma varivel. Conseqentemente o algoritmo de
unificao terminado e conclui-se que W no unificvel.
Deve ser notado que o algoritmo de unificao acima sempre terminar para qualquer
conjunto finito no vazio de expresses, caso contrrio deveria ser gerada uma seqncia
infinita W0, W1, W2, ... de conjuntos finitos no vazios de expresses com a propriedade
de que cada conjunto sucessivo contm uma varivel a menos que o seu predecessor (a saber,
Wk contm vk mas Wk+1 j no o contm). Isso se torna impossvel, pois W contm um
nmero finito de variveis distintas.
Foi indicado anteriormente que se W unificvel, o algoritmo de unificao sempre
encontrar o unificador mais geral para W. Isso provado no teorema seguinte.
Teorema 5.2 (Teorema de Unificao): Se W um conjunto unificvel finito no vazio de
expresses, ento o algoritmo de unificao sempre terminar no passo 2 e o ltimo k o
unificador mais geral para W.
Prova: Uma vez que W unificvel, sendo um unificador para W. Para k = 0, 1, ..., mostrase que existe uma substituio k tal que: = k k , por induo em k. Para k = 0, faz-se 0
= . Ento, = 0 0 , uma vez que 0 = . Suponha que = k k ainda vlido para 0
k n. Se Wn composto somente por elementos idnticos, ento o algoritmo de unificao
termina no Passo 2. Uma vez que = n n , n o unificador mais geral para W. Se Wn
no composto somente por elementos idnticos, o algoritmo de unificao ir encontrar um
conjunto diferena Dn de Wn . Sendo = n n um unificador de W, n deve unificar Dn .
Entretanto, uma vez que Dn um conjunto diferena, deve existir uma varivel em D n . Sendo
tn qualquer outro elemento diferente de vn . Ento, uma vez que n unifica Dn , vnn = tnn .
Agora, se vn ocorre em t n , ento vnn ocorre em t nn . Entreatnto, isto impossvel, uma vez
que vn e tn so distintos e vnn = tnn . Consequentemente, vn no ocorre em t n . Portanto, o
57

algoritmo de unificao no terminar no Passo 3, mas ir para o Passo 4 para o conjunto


n+1 = n { tn/vn}. Sendo n+1 = n - {tnn/vn}. Ento, uma vez que vn no ocorre em
tn , tnn+1 = tn (n - {tnn/vn}) = tnn . Assim, tem-se:
{ tn/vn} n+1
= {tnn+1/vn} n+1
= {tnn/vn} n+1
= {tnn/vn} (n - {tnn/vn})
= n
Isto , n = { tn/vn} n+1. Portanto, = n n = n { tn/vn} n+1 = n+1 n+1.
Ento, para todo k 0, existe uma substituio k tal que = k k . Uma vez que o
algoritmo de unificao deve terminar e no termina no Passo 3, ele deve terminar no Passo 2.
Alm disso, uma vez que = k k , para todo k, o ltimo k o unificador mais geral para
W.
5.5 O PRINCPIO DE RESOLUO DA LGICA DE PREDICADOS
Tendo introduzido o algoritmo de unificao na seo anterior, pode-se agora estudar o
princpio de resoluo para a lgica de predicados.
Definio: Se dois ou mais literais (com o mesmo sinal) de uma clusula C tm o mesmo
unificador geral , ento C chamado fator de C. Se C uma clusula unitria, ento ela
denominada um fator unitrio de C.
Exemplo 5.13: Seja C = P(x) P(f(y)) ~Q(x). Ento o primeiro e o segundo literais
(sublinhados) tem o mesmo unificador geral = { f(y) / x }. Portanto, C = P(f(y))
~Q(F(y)) um fator de C.
Definio: Sejam C1 e C2 duas clusulas (chamadas clusulas pai) com nenhuma varivel em
comum. Seja L1 e L2, dois literais em C1 e C2, respectivamente. Se L1 e ~ L2 tm o mesmo
unificador geral ento a clusula (C1 - L1 ) (C2 - L2) chamada resolvente binrio
de C1 e C2. Os literais L1 e L2 so chamados de literais resolvidos.
Exemplo 5.14: Seja C1 = P(x) Q(x) e C2 = ~P(a) R(x). Desde que x aparece tanto em C1
quanto em C2, pode-se renomear as variveis em C2 e fazer C2 = ~P(a) R(y). Escolhe-se
L1 = P(x) e L2 = ~P(a). Desde que ~L2 = P(a), L1 e ~L2 tm o unificador mais geral =
{a/x}. Portanto,
(C1 - L1 ) (C2 - L2) = ( {P(a), Q(a)} - {P(a)} ) ({~P(a), R(y)} - {~P(a)} )
= { Q(a) } { R(y) } = { Q(a), R(y) } = Q(a) R(y).
Ento Q(a) R(y) um resolvente binrio de C1 e C2. P(x) e ~P(x) so os literais resolvidos.
Definio: Um resolvente de clusulas (pais) C1 e C2 um dos seguintes resolventes binrios:
1. um resolvente binrio de C1 e C2,
2. um resolvente binrio de C1 e um fator de C2,
3. um resolvente binrio de um fator de C1 e de C2,
4. um resolvente binrio de um fator de C1 e um fator de C2 .
58

Exemplo 5.15: Seja C1 = P(x) P(f(y)) R(g(y)) e C2 = ~P(f(g(a))) Q(b). Um fator de C1


e C1 = P(f(y)) R(g(y)). Um resolvente binrio de C1 e C2 R(g(g(a))) Q(b). Portanto,
R(g(g(a))) Q(b) um resolvente binrio de C1 e C2.
O princpio de resoluo, ou simplesmente resoluo, uma regra de inferncia que
gera resolventes a partir de um conjunto de clusulas. Esta regra foi introduzida por Robinson
em 1965. Ela mais eficiente que os mtodos anteriores de prova, que eram implementao
direta do Teorema de Herbrand usados por Gilmore, Davis e Putnam. Alm disso, a resoluo
completa. Isto , ela sempre gera uma clusula vazia  de um conjunto insatisfatvel de
clusulas. Antes de provar esta declarao, ser mostrado um exemplo na geometria plana.
Exemplo 5.16: Mostrar que os ngulos internos opostos formados pela diagonal de um
trapezide so iguais.
Para provar este teorema, primeiro se formula os seus axiomas. Seja T(x,y,u,v) a
representao de que xyuv formam um trapezide com o vrtice superior esquerdo x, o vrtice
superior direito y, o vrtice inferior direito u, e o vrtice inferior esquerdo v; faa P(x,y,u,v)
representar que o segmento de reta xy paralelo ao segmento uv; e seja E(x,y,z,u,v,w) a
representao de que o ngulo xyz igual ao ngulo uvw. Ento tem-se os seguintes axiomas:
A1 : (x) (y) (u) (v) [ T(x,y,u,v) P(x,y,u,v) ] definio de um trapezide
A2 : (x) (y) (u) (v) [ P(x,y,u,v) E(x,y,v,u,v,y) ]
ngulos internos opostos de retas
paralelas so iguais , ver figura 5.2.
A3 : T(a,b,c,d)
(4)
(2)
a

(5)
(6)

c
Figura 5.2 Trapezide

(1)
(3)

(7)
Figura 5.3 rvore de Deduo

A partir desses aximas , deve-se estar apto a concluir que E(a,b,d,c,d,b) verdadeiro, isto :
A1 A2 A3 E(a,b,d,c,d,b) uma frmula vlida. Desde que se quer provar isso por
refutao, nega-se a concluso e prova-se que: A1 A2 A3 ~E(a,b,d,c,d,b) insatisfatvel.
Para fazer isso, transforma-se a frmula em uma forma padro como segue:
S = { ~T(x,y,u,v) P(x,y,u,v), ~P(x,y,u,v) E(x,y,v,u,v,y), T(a,b,c,d), ~E(a,b,d,c,d,b) }.
A forma padro S acima um conjunto de quatro clusulas. Agora ser mostrado que o
conjunto S insatisfatvel pela resoluo:
(1)
~T(x,y,u,v) P(x,y,u,v)
uma clusula em S
(2)
~P(x,u,u,v) E(x,y,v,u,v,y) uma clusula em S
(3)
T(a,b,c,d)
uma clusula em S
(4)
~E(a,b,d,c,d,b)
uma clusula em S
(5)
~P(a,b,c,d)
um resolvente de (2) e (4)
(6)
~T(a,b,c,d)
um resolvente de (1) e (5)
(7)

um resolvente de (3) e (6).
uma vez que que a ltima clusula a clusula vazia que derivada de S, pode-se concluir que
S insatisfatvel. A prova acima pode ser facilmente representada por uma rvore, mostrada na
figura 5.3.
59

A rvore da figura 5.3 chamada de rvore de deduo. Isto , uma rvore de deduo
de um conjunto de clusulas S uma rvore (upward), na qual cada n inicial contm uma
clusula em S e cada n no inicial contm um resolvente das clusulas contidas nos seus ns
predecessores imediatos. Chama-se de rvore de deduo uma rvore de deduo de R se R
uma clusula ligada ao n raiz da rvore de deduo. Uma vez que a rvore de deduo
meramente uma rvore de representao de uma deduo, daqui para frente sero usadas tanto
deduo como rvore de deduo.
5.6 COMPLETUDE DO PRINCPIO DE RESOLUO
No Captulo 4, foi apresentado o conceito de rvores semnticas para provar o teorema
de Herbrand. Nesta seo, sero usadas rvores semnticas para provar a completude do
princpio de resoluo. De fato, existe uma forte relao entre a rvore semntica e resoluo,
como mostrado com o exemplo seguinte.
Exemplo 5.17: Considere o seguinte conjunto S de clusulas:
(1)
P
(2)
~P Q
(3)
~P ~Q
O conjunto de tomos de S {P,Q}. Seja T uma rvore semntica completa como mostrado na
figura 5.4a. T tem uma rvore semntica fechada T mostrada na fig. 5.4b. O n (2) na fig.
5.4b um n de inferncia. Seus dois sucessores, n (4) e (5), so ns falha. As clusulas
falsificadas nos ns (4) e (5) so ~P ~Q e ~P Q, respectivamente.Como foi visto
anteriormente, essas duas clusulas devem ter um par complementar de literais, e portanto
podem ser resolvidas. Resolvendo ~P ~Q e ~P Q, obtm-se ~P. Nota-se que ~P
falsificado pela interpretao parcial correspondente ao n (2). Se colocar ~P em S, ento
pode-se ter a rvore semntica fechada T para S {~P}, como mostrado na Fig. 5.4c. Nesta
figura, o n (1) um n de inferncia. Neste ponto, pode-se obter resolvendo P e ~P.
Colocando em S {~P}, chega-se rvore semntica fechada T para S {~P} {} como
mostrado na figura 5.4d. A eliminao da rvore semntica acima corresponde a uma prova por
resoluo como segue:
(4)
~P
um resolvente de (2) e (3)
(5)

um resolvente de (4) e (1).


(1)
P

~P
P

~Q

~Q

Q
(4)
~P v ~Q

(a)
(1)
P

~P

(2)

(3)
~Q
(5)
~P v Q
(b)

~P

(1)

(2)

(3)
P

~P
(c)

(d)

Figura 5.4 (a) T, (b) T.(~P Q) e (~P ~Q) pode ser resolvido para gerar ~P, (c) T.P e ~P
pode ser resolvido para gerar , (d) T.
60

Na seqncia, usa-se os conceitos desenvolvidos anteriormente para provar a


completude do princpio da resoluo. Isto , aps construir uma rvore semntica fechada
para um conjunto insatisfatvel de clusulas, pode-se gradualmente forar o desaparecimento
da rvore e, ao mesmo tempo, obter uma prova por resoluo. Antes de se provar o teorema
da completude, prova-se um lema chamado de lifting lemma.
Lema 5.1: (Lifiting Lemma) Se C1 e C2 so instncias de C1 e C2 , respectivamente, e se C
um resolvente de C1 e C2 , ento existe um resolvente C de C1 e C2 tal que C uma
instncia de C.
Prova: Renomeia-se, se necessrio, as variveis em C1 e C2 ,tal que as variveis em C1 sejam
todas diferentes das em C2 . Sendo L1 e L2 , os literais a serem resolvidos, e sendo:
C'' = (C1 - L1) (C2 - L2),
onde o unificador mais geral de L1 e ~L2 . Uma vez que C1 e C2 so instncias de C1 e
C2 , respectivamente, existe uma substituio tal que C1 = C1 e C2 = C2. Sendo Li1, ...,
Liri os literais em Ci correspondentes a Li' , (isto , Li1 = ... = Liri = Li' ), i = 1,2. Se ri > 1,
obtm-se um unificador mais geral i para {Li1, ..., Liri } e faa Li = Li1i , i = 1,2. (Observe
que Li1i , ... , Lirii so os mesmos, uma vez que i um unificador mais geral). Ento Li um
literal no fator Cii de Ci . Se ri = 1, sendo i = e Li = Li1i . Faa = 1 2 . Desse modo,
Li' uma instncia de Li. Uma vez que Li' e L2' so unificveis, L1 e ~L2 tambm o so. Sendo
o unificador mais geral de L1 e ~L2 . Considerando:
C = ((C1) - L1) ((C2) - L2)
= ((C1) - ({L11, ..., L1r1})) ((C2) - ({L21, ..., L2r2}))
= ((C1() - {L11, ..., L1r1}()) ((C2() - {L21, ..., L2r2}())
C um resolvente de C1 e C2 . De modo claro, C' uma instncia de C, uma vez que
C' = (C1' - L1') (C2' - L2')
= ((C1) - ({L11, ..., L1r1})) ((C2) - ({L21, ..., L2r2}))
= ((C1( ) - {L11, ..., L1r1}( )) ((C2( ) - {L21, ..., L2r2}( ))
e mais geral que . Assim completa-se a prova deste lema.
Teorema 5.3: (O Princpio de Resoluo) Um conjunto de clusulas no satisfatrio se e
somente se existir uma deduo de uma clusula vazia  de S.
Prova: (IDA) Supondo que S insatisfatvel. Seja A = {A1, A2, A3, ... } o conjunto de tomos
de S e T a rvore semntica completa como mostrado na figura 5.5. Pelo Teorema de Herbrand
(verso I), T tem uma rvore semntica fechada finita T'. Se T' consiste somente de um n
(raiz), ento  deve estar em S, pois nenhuma outra clusula pode ser falsificada na raiz de uma
rvore semntica. Neste caso, o teorema obviamente verdadeiro. Assumindo que T' consiste
de mais de um n, ento T' tem pelo menos um n de inferncia, pois, se no existir, ento
todo n poderia ter pelo menos um sucessor no falha. Poder-se-ia, ento, encontrar um ramo
infinito em T', contradizendo o fato de que T' uma rvore semntica fechada finita. Sendo N
um n de inferncia em T' e N1 e N2 os ns falha imediatamente abaixo de N. Seja,
I(N) = {m1, m2, ... , mn}
I(N1) = {m1, m2, ... , mn, mn+1}
I(N2) = {m1, m2, ... , mn, ~mn+1}
Uma vez que N1 e N2 so ns falha, mas N no um n falha, devem existir duas instncias
base C1 e C2 de clusulas C1 e C2 , tais que C1 e C2 so falsas em I(N1) e I(N2),
respectivamente, mas tanto C1 quanto C2 no so falsificadas por I(N). Portanto C1 deve
conter ~mn+1 e C2 deve conter mn+1 . Sendo L1 = ~mn+1 e L2 = mn+1 . Resolvendo com os
literais L1 e L2 , pode-se obter um resolvente C' de C1 e C2 , dito,
61

C' = (C1 - L1) (C2 - L2).


C' deve ser falsa em I(N) uma vez que (C1 - L1) e (C2 - L2) so falsos em I(N). Pelo lema
5.1, existe um resolvente C de C1 e C2 tal que C' uma instncia base de C. Sendo T'' a rvore
semntica fechada de (S {C}) obtida, a partir de T', pela eliminao de todo n ou ramo que
estiver abaixo do primeiro n onde o resolvente C' falsificado. De maneira clara, o nmero de
ns em T'' menor que em T'. Aplicando o processo acima, novamente, em T'', pode-se obter
outro resolvente das clusulas em (S {C}). Colocando este resolvente em (S {C}), pode-se
obter outra rvore semntica ainda menor. Este processo aplicado repetidamente at que a
rvore semntica seja composta de um nico n, ou seja, o n raiz gerado. Isto possvel
somente quando  derivado. Portanto, uma deduo de  a partir de S.
(VOLTA) De modo inverso, suponha que existe uma deduo de  a partir de S. Seja R 1,
R2, ... , Rk os resolventes na deduo. Assuma que S satisfatvel. Ento existe um modelo M
de S. Entretanto, se um modelo satisfaz as clusulas C1 e C2 , ele deve satisfazer, tambm,
qualquer resolvente de C1 e C2 (Teorema 5.1). Portanto, M satisfaz R1, R2, ... , Rk .
Entretanto, isto impossvel, pois um destes resolventes . Portanto, S deve ser insatisfatvel.
A

~A

~A

~A

Figura 5.5 rvore Semntica Completa


5.7 EXEMPLOS USANDO O PRINCPIO DE RESOLUO
Nos captulos anteriores, foram usados muitos mtodos para provar a inconsistncia de
frmulas. Nesta seo sero mostrados exemplos da eficincia do princpio de resoluo na
prova de teoremas.
Exemplo 5.18: Usando-se novamente o Exemplo 2.10. Tem-se 4 declaraes:
(1) P S
(2) S U
(3) P
(4) U.
Para mostrar que (4) vem de (1), (2) e (3), primeiro transforma-se todas essa declaraes
em formas padres. Ento, tem-se: (1)
~P S
(2)
~S U
(3)
P
(4)
U.
Prova-se que U conseqncia lgica de (1), (2) e (3) por refutao. Nega-se (4) e obtm-se a
seguinte prova:
(1)
~P S
(2)
~S U
62

(3)
(4)
(5)
(6)
(7)

P
~U
S
U


negao da concluso
um resolvente de (3) e (1)
um resolvente de (5) e (2)
um resolvente de (6) e (4).

Exemplo 5.19: Reconsiderando o exemplo 2.12 no captulo 2. Tem-se trs frmulas F1 , F2 e


F3. Deseja-se provar que ~Q uma consequncia lgica de F1 F2 F3. Nega-se ~Q e
transforma-se F1 F2 F3 em uma forma padro. Isso gera o seguinte conjunto de clusulas:
(1)
~P ~Q R de F1
(2)
~P ~Q S de F1
(3)
P
de F2
(4)
~S
de F3
(5)
Q
negao da concluso.
Usando resoluo, obtm-se a seguinte prova:
(6)
~Q S
um resolvente de (3) e (2)
(7)
S
um resolvente de (6) e (5)
(8)

um resolvente de (7) e (4).
Exemplo 5.20: Considerar o seguinte conjunto de frmulas:
F1:
(x) (C(x) (W(x) R(x)))
F2:
(x) (C(x) O(x))
G:
(x) (O(x) R(x)).
O problema mostrar que G uma consequncia lgica de F1 e F2. Transforma-se F1 e F2 e
~G em formas padres e obtm-se as cinco clusulas seguintes:
(1)
~C(x) W(x)
de F1
(2)
~C(x) R(x)
de F1
(3)
C(a)
de F2
(4)
O(a)
de F2
(5)
~O(x) ~R(x) de ~G.
O conjunto de clusulas acima insatisfatvel. Isto pode ser provado por resoluo como
segue:
(6)
R(a)
um resolvente de (3) e (2)
(7)
~R(a)
um resolvente de (5) e (4)
(8)

um resolvente de (7) e (6).
Portanto, G uma consequncia lgica de F1 e F2 .
Exemplo 5.21: Reconsiderando o Exemplo 3.15. Tem-se:
F1:
(x) (P(x) (y) (D(y) L(x,y)))
F2:
(x) (P(x) (y) (Q(y) ~L(x,y)))
G:
(x) (D(x) ~Q(x)).
De modo usual, F1 , F2 e ~G so transformados nas seguintes clusulas:
(1)
P(a)
de F1
(2)
~D(y) L(a, y)
de F1
(3)
~P(x) ~Q(y) ~L(x,y)
de F2
(4)
D(b)
de ~G
(5)
Q(b)
de ~G.
Usando resoluo, obtm-se a seguinte prova:
(6)
L(a,b)
um resolvente de (4) e (2)
63

(7)
~Q(y) ~L(a,y)
um resolvente de (3) e (1)
(8)
~L(a,b)
um resolvente de (5) e (7)
(9)

um resolvente de (6) e (8).
O princpio de resoluo bastante natural. Vai-se tentar de traduzir a prova acima para o
portugus, como segue:
(a)
De F1, pode-se assumir que exista um paciente a que gosta de todos os mdicos
(clusulas (1) e (2)).
(b)
Assume-se que a concluso est errada. Isto , assume-se que b tanto um mdico
quanto um curandeiro (clusulas (4) e (5)).
(c)
Desde que o paciente a gosta de todos os mdicos, a gosta de b (clusula (6)).
(d)
Desde que a um paciente, a no gosta de nenhum curandeiro (clusula (7)).
(e)
Porm, b um curandeiro. Portanto, a no gosta de b ((clusula (8)).
(f)
Isso impossvel a partir de (c). Ento, a prova fica completa.
Exemplo 5.22:Premissas: Os policiais da fronteira revistavam todos que entravam em seu pas
e que no eram pessoas VIP. Alguns traficantes de drogas entravam neste pas e eram
revistados somente por traficantes de drogas. Nenhum traficante de drogas era VIP.
Concluso: Algum dos policiais da fronteira eram traficante de drogas.
Fazendo E(x) representar x entrou no pas, V(x) representar x era um VIP, S(x,y) y
revistou x, C(x) x era um policial da fronteira, e P(x) representar x era um traficante de
drogas.
As premissas so representadas pelas seguintes frmulas:
(x) (E(x) ~V(x) (y) (S(x,y) C(y)))
(x) (P(x) E(x) (y) (S(x,y) P(y)))
(x) (P(x) ~V(x))
e a concluso :
(x) (P(x) C(x)).
Transformando as premissas em clusulas, obtm-se:
(1)
~E(x) V(x) S(x, f(x))
(2)
~E(x) V(x) C(f(x))
(3)
P(a)
(4)
E(a)
(5)
~S(a, y) P(y)
(6)
~P(x) ~V(x).
A negao da concluso : (7)
~P(x) ~C(x).
A prova por resoluo a seguinte:
(8)
~V(a)
de (3) e (6)
(9)
V(a) C(f(a))
de (2) e (4)
(10) C(f(a))
de (8) e (9)
(11) V(a) S(a, f(a))
de (1) e (4)
(12) S(a, f(a))
de (8) e (11)
(13) P(f(a))
de (12) e (5)
(14) ~C(f(a))
de (13) e (7)
(15) 
de (10) e (14).
Ento, consegue-se chegar a concluso.
Exemplo 5.23: A premissa que todo aquele que economiza dinheiro recebe juros. A
concluso que se no existir juros, ningum economiza dinheiro. Fazendo S(x,y), M(x), I(x),
e E(x,y) representar x economiza y, x dinheiro, x juros e x ganha y,
respectivamente. Ento a premissa simbolizada como:
64

(x) ((y) (S(x,y) M(y)) (y) (I(y) E(x,y)))


e a concluso :
~(x) I(x) (x) (y) (S(x,y) ~M(y)).
Transformando a premissa em clusulas, tem-se:
(1)
~S(x,y) ~M(y) I(f(x))
(2)
~S(x,y) ~M(y) E(x, f(x)).
A negao da concluso : (3)
~I(z)
(4)
S(a,b)
(5)
M(b).
A prova mostrada a seguir simples:
(6)
~S(x,y) ~M(y)
de (3) e (1)
(7)
~M(b)
de (6) e (4)
(8)

de (7) e (5).
Assim, chega-se concluso.
Exemplo 5.24:

Premissa: Estudantes so cidados.


Concluso: Votos de estudantes so votos de cidados.
Fazendo S(x), C(x), e V(x,y) representar x um estudante, x um cidado, e x um
voto de y, respectivamente. Ento a premissa e a concluso so simbolizadas como o
seguinte:
(y) (S(y) C(y))
(premissa)
(x) ((y) (S(y) V(x,y) (z) (C(z) V(x,z)))
(concluso)
Uma forma padro para a premissa :
(1)
~S(y) C(y).
Uma vez que:
~((x) ((y) (S(y) V(x,y)) (z) (C(z) V(x,z))))
= ~((x) ((y) (~S(y) ~V(x,y)) (z) (C(z) V(x,z))))
= ~((x) (y)(z) (~S(y) ~V(x,y)) (C(z) V(x,z))))
= (x) (y)(z) (S(y) V(x,y)) (~C(z) ~V(x,z)))
tem-se trs clusulas derivadas da negao da concluso,
(2)
S(b)
(3)
V(a,b)
(4)
~C(z) ~V(a,z).
O procedimento de prova o seguinte:
(5)
C(b)
de (1) e (2)
(6)
~V(a, b)
de (5) e (4)
(7)

de (6) e (3).
Pode-se traduzir a prova acima para o portugus, como segue: Assume-se que b um
estudante, a o seu voto, e a no um voto de qualquer cidado. Desde que b um
estudante, b deve ser um cidado. Portanto, a no deve ser um voto de b por que b um
cidado. Isto impossvel. Ento a prova est concluda.
5.8 ESTRATGIA DE ELIMINAO
Nas sees anteriores, mostrou-se que a resoluo completa. Resoluo tambm
mais eficiente que os mtodos anteriores tal como o procedimento de Herbrand usado por
Gilmore. No entanto, aplicaes repetitivas da resoluo podem gerar muitas clusulas
irrelevantes e redundantes. Para observar isso, considera-se um exemplo simples: Suponha
que se quer mostrar, por resoluo, que o conjunto de clusulas S = {P Q, ~P Q, P ~Q,
~P ~Q} contraditrio. Um caminho simples para a resoluo do conjunto S calcular
65

todos os resolventes dos pares de clusulas de S, adicionar esses resolventes ao conjunto S,


calcular todos os resolventes , e repetir este processo at que se chegue clusula . Isto ,
0
1
2
0
gera-se as sequncias , S , S , S , ..., onde: S = S,
n
0
n-1
n-1
S = {solues de C1 e C2 | C1 (S ... S ) e C2 S }, n = 1, 2, 3, ...
Este procedimento chamado mtodo (resoluo) de saturao. Para programar este mtodo
0
n-1
em computadores, pode-se primeiro listar clusulas de (S ... S ) em ordem, e ento
0
n-1
calcular os resolventes comparando todas as clusulas C1 (S ... S ) com uma clusula
n-1
C2 S a qual listada depois de C1. Quando um resolvente calculado, ele anexado ao fim
da lista que foi gerada. Isso o que foi feito no conjunto de clusulas geradas mostrado
abaixo:
0
S:
(1)
PQ
(2)
~P Q
(3)
P ~Q
(4)
~P ~Q
1
S:
(5)
Q
de (1) e (2)
(6)
P
de (1) e (3)
(7)
Q ~Q
de (1) e (4)
(8)
P ~P
de (1) e (4)
(9)
Q ~Q
de (2) e (3)
(10) P ~P
de (2) e (3)
(11) ~P
de (2) e (4)
(12) ~Q
de (3) e (4)
2
S:
(13) P Q
de (1) e (7)
(14) P Q
de (1) e (8)
(15) P Q
de (1) e (9)
(16) P Q
de (1) e (10)
(17) Q
de (1) e (11)
(18) P
de (1) e (12)
(19) Q
de (2) e (6)
(20) ~P Q
de (2) e (7)
(21) ~P Q
de (2) e (8)
(22) ~P Q
de (2) e (9)
(23) ~P Q
de (2) e (10)
(24) ~P
de (2) e (12)
(25) P
de (3) e (5)
(26) P ~Q
de (3) e (7)
(27) P ~Q
de (3) e (8)
(28) P ~Q
de (3) e (9)
(29) P ~Q
de (3) e (10)
(30) ~Q
de (3) e (11)
(31) ~P
de (4) e (5)
(32) ~Q
de (4) e (6)
(33) ~P ~Q
de (4) e (7)
(34) ~P ~Q
de (4) e (8)
(35) ~P ~Q
de (4) e (9)
(36) ~P ~Q
de (4) e (10)
66

(37) Q
de (5) e (7)
(38) Q
de (5) e (9)
(39) 
de (5) e (12).
Muitas clusulas irrelevantes e reduntantes foram geradas. Por exemplo, (7), (8), (9) e
(10) so tautologias. Desde que uma tautologia verdadeira em qualquer interpretao,
retirando uma tautologia de um conjunto de clusulas insatisfatvel, o conjunto resultante
continuar insatisfatvel. Portanto, uma tautologia uma clusula irrelevante e no deve ser
gerada. Se for gerada, com exceo de poucos casos, deve ser eliminada. Do contrrio, ela
pode interagir com outras clusulas e produzir outro grupo de clusulas reduntantes. Por
exemplo, (13) - (16), (20) - (23), (26) - (29), (33) - (36), e (37) - (38) so clusulas dessa
forma. Alm disso, as clusulas P, Q, ~P, e ~Q so repetidamente geradas.
Na verdade, para se conseguir uma prova para S, necessita-se somente gerar as
clusulas (5), (12) e (39). Para resolver esse problema da redundncia, ser estudada nesta
seo a estratgia de eliminao. Antes de descrev-la, considera-se a seguinte definio.
Definio: Uma clusula C engloba uma clusula D se e somente se existe uma substituio
tal que C D . D chamada clusula englobada.
Exemplo 5.25: Fazendo C = P(x) e D = P(a) Q(a). Se = { a/x}, ento C = P(a). Desde
que C D, C engloba D.
Percebe-se que se D idntico a C, ou D uma instncia de C, ento D englobado
por C. A estratgia de eliminao a eliminao de qualquer tautologia e qualquer clusula
englobada sempre que possvel. A estratgia de eliminao uma generalizao da regra de
tautologia de Davis e Putnam mostrada na seo 4.6. A completude da estratgia de eliminao
depende de como as tautologias e as clusulas englobadas so eliminadas. A estratgia de
deleo ser completa se for usada com o mtodo de saturao na seguinte ordem: Primeiro,
0
n-1
listar as clusulas (S ... S ) em ordem; ento calcular resolventes comparando todas as
0
n-1
n-1
clusulas C1 (S ... S ) com uma clusula C2 S a qual listada aps C 1 . Quando
um resolvente calculado, anexado ao final da lista se no for uma tautologia nem uma
clusula englobada. Do contrrio eliminado.
Aplicando-se a estratgia de eliminao ao exemplo acima chega-se a seguinte lista:
0
S:
(1)
PQ
(2)
~P Q
(3)
P ~Q
(4)
~P ~Q
2
S:
(5)
Q
de (1) e (2)
(6)
P
de (1) e (3)
(7)
~P
de (2) e (4)
(8)
~Q
de (3) e (4)
(9)

de (5) e (8).
Nota-se que essa lista menor que a lista gerada anteriormente. Portanto, a estratgia
de eliminao pode aumentar a eficincia do princpio de resoluo.
importante , para se usar a estratgia de eliminao, saber decidir se uma clusula
uma tautologia e se uma clusula engloba outra clusula. Fica fcil testar se uma clusula
uma tautologia se nela estiver presente um par complementar. Entretanto, o teste de
englobamento no simples. Agora, ser descrito o algoritmo para realizar esse teste.
Sejam C e D clusulas. Seja = {a1/x1, ..., an/xn}, onde x1, ..., xn so variveis que
aparecem em D, e a1, ..., an so novas constantes distintas que no aparecem nem em C nem
67

em D. Supondo que D = L1 L2 ... Lm. Ento, D = L1 L2 ... Lm. Nota-se que D


uma clusula base. ~ D = ~L1 ... ~Lm. O algoritmo seguinte testa se C engloba ou no
D.
Algoritmo de Englobamento
Passo 1:
Passo 2:
Passo 3:
Passo 4:

Sendo W = { ~L1 , ... , ~Lm}.


0
Faa k = 0 e U = {C}.
k
k+1
Se U contm , terminar; C engloba D. Caso contrrio, faz-se U
=
k
{resolventes de C1 e C2 | C1 U e C2 W}.
k+1
Se U vazia, terminar; C no engloba D. Caso contrrio, faz-se k = k+1 e
vai-se para o Passo 3.
k+1

No algoritmo acima, nota-se que cada clusula em U menor, em um literal, que a


k
0
1
clusula em U da qual foi obtida. Portanto, a sequncia U , U , ..., deve, em algum momento,
conter um conjunto que contenha  ou ser vazia. O algoritmo de englobamento correto. Isto
, C engloba D se e somente se terminar no Passo 3. Isto provado como segue: se C engloba
D existe uma substituio , tal que C D. Portanto, C( ) D. Deste modo, os literais
em C( ) podem ser resolvidos usando-se clusulas unitrias base em W. Entretanto, C(
) uma instncia de C. Portanto, literais em C podem ser resolvidos mais adiante usando
k
clusulas unitrias em W. Isto significa que pode-se, eventualmente, encontrar um U que
contenha . Portanto, o algoritmo ir terminar no Passo 3. De modo inverso, se o algoritmo
terminar no Passo 3, ento obtm-se a refutao mostrada na figura 5.6, onde B 0, ... , Br so
clusulas unitrias de W. R1 um resolvente de C e B0 e Ri um resolvente de Ri-1 e Bi-1 para i
= 2, ... , r.
Sendo 0 e i os unificadores mais gerais obtidos quando se reslve C e B 0 e Ri e Bi , i =
1, ... , r, respectivamente. Ento, C(0 1 ... r) = {~B0, ~B1, ..., ~Br} D. Sendo =
0 1 ... r , ento C D. Sendo a substituio obtida de pela substituio, em
cada componente de i, de xi por ai , para i = 1, ..., n. Ento C D, portanto C engloba D.
C
B0

R1

R2

Figura 5.6 Refutao obtida quando o Algoritmo de Englobamento pra no Passo 3

68

Exemplo 5.26: Sendo C = ~P(x) Q(f(x), a) e D = ~P(h(y)) Q(f(h(y)), a) ~P(z). Verificar


se C engloba D.
1.
y e z so variveis em D. Seja = {b/y, c/z }. Nota-se que b e c no se encontram em
C ou D. Ento D = ~P(h(b)) Q( f(h(b)), a) ~P(c). Portanto, D = ~P(h(b))
~Q( f(h(b)), a) P(c). Deste modo: W = { P(h(b)) , ~Q(f(h(b)), a), P(c) }
0
U = { ~P(x) Q(f(x), a)}.
0
2.
Uma vez que U no contm , obtm-se:
1
U = { Q(f(h(b)), a) , ~P(h(b)), Q(f(c), a) }.
1
2
3.
J que U no vazio e no contm , obtm-se U = {}.
2
4.
Uma vez que U contm , o algoritmo termina e conclui-se que C engloba D.
Exemplo 5.27: Seja C = P(x,x) e D = P(f(x), y) P(y, f(x)) . Determine se C engloba ou no
D.
1.
x e y so variveis em D. Escolher novas constantes a e b diferentes de qualquer
constante em C ou D. Seja = { a/x, b/y }. Ento,
D = P( f(a), b) P(b, f(a)).
~D = ~P(f(a), b) ~P(b, f(a)).
Assim,
W = { ~P(f(a), b), ~P(b, f(a)) }
0
U = {P(x,x)}.
0
1
2.
Uma vez que U no contm , obtm-se: U = .
1
3.
Uma vez que U vazio, o algoritmo termina e conclui-se que C no engloba D.
5.9 EXERCCIOS
Seo 5.2
1. Provar que o seguinte conjunto de clusulas insatisfatvel usando resoluo:
P Q R , ~P R, ~Q ~R.
2. A partir do conjunto S = { P Q, ~Q R , ~P Q, ~R} derivar em uma clusula vazia de
por resoluo.
Seo 5.3
3. Sendo = {a/b, b/y, g(x, y)/z} uma substituio e E = P(h(x), z). Encontrar E.
4. Sendo 1 = {a/x, f(z)/y, y/z} e 2 = {b/x, z/y, g(x)/z}. Achar a composio de 1 e 2 .
5. Provar o seguinte teorema: Sejam , , e substituies. Ento = ( )
(associatividade).
Seo 5.4
6. Determinar se cada um dos seguintes conjuntos de clusulas unificvel. Se for, obter um
unificador mais geral.
(1)
W = {Q(a), Q(b) }
(2)
W = {Q(a, x), Q(a, a) }
(3)
W = {Q(a, x, f(x)), Q(a, y, y) }
(4)
W = {Q(x, y, z), Q(u,h(v,v), u)}
(5)
W = {P(x1, g(x1), x2, h(x1, x2), x3 , k(x1, x2, x3)), P(y1, y2, e(y2), y3, f(y2, y3), y4 )}.
Seo 5.5
7. Determinar se as seguintes clusulas tm fatores e quando houver, determin-los.
69

(1)
P(x) Q(y) P(f(x))
(2)
P(x) P(a) Q(f(x)) Q(f(a))
(3)
P(x,y) P(a, f(a))
(4)
P(a) P(b) P(x)
(5)
P(x) P(f(y)) Q(x,y).
8. Encontrar todos os resolventes possveis (se houver) do seguinte conjunto de clusulas:
(1)
C = ~P(x) Q(x,b), D = P(a) Q(a,b)
(2)
C = ~P(x) Q(x,x), D = ~Q(a, f(a))
(3)
C = ~P(x, y, u) ~P(y, z, v) ~P(x, v, w) P(u, z, w), D = P(g(x,y), x, y)
(4)
C = ~P(v, z, v) P(w, z, w), D = P(w, h(x,x), w).
Seo 5.7
9. Reconsiderar o exemplo 2.13 na Seo 2.6. Mostrar que H 2CO3 pode ser provado atravs
de resoluo.
10. No exerccio 14 do Captulo 2, pediu-se para mostrar que Q uma consequncia lgica de
P e (P Q). Pode-se provar isso usando o princpio de resoluo?
11. Reconsiderar o exerccio 12 do Captulo 3. Resolva-o usando o princpio de resoluo.
12. Considerar o exemplo 4.16. Provar que o conjunto de clusulas nesse exemplo
insatisfatvel atravs do princpio de resoluo.
13. Usar o princpio de resoluo para provar que o conjunto de clusulas no exerccio 14 do
Captulo 4 insatisfatvel.
14. Provar que (~Q ~P) uma consequncia lgica de (P Q) atravs da resoluo.
Seo 5.8
15. Seja C = P(x, y) Q(z) e D = Q(a) P(b,b) R(u). Determinar se C engloba D.
16. Seja C = P(x,y) R(y,x) e D = P(a, y) R(z, b). Provar que C no engloba D.
17. Seja C = ~P(x) P(f(x)) e D = ~P(x) P(f(f(x))). Mostrar que C implica em D, mas C no
engloba D.

70

CAPTULO 6 - RESOLUO SEMNTICA E RESOLUO INDEXADA


6.1 INTRODUO
No Captulo anterior, considerou-se o princpio da resoluo como uma regra de
inferncia que pode ser usada para gerar novas clusulas a partir de outras. Tambm foi visto
que aplicaes repetidas e ilimitadas da resoluo podem gerar vrias clusulas irrelevantes e
redundantes, alm das realmente necessrias ao processo. Apesar da estratgia de eliminao
poder ser utilizada para eliminar algumas destas clusulas irrelevantes ou redundantes logo
aps elas serem geradas, o tempo para ger-las j foi gasto. Alm disso, se clusulas inteis so
geradas, inmeros recursos, tais como, tempo computacional e memria, so necessrios para
determinar se elas so realmente irrelevantes ou redundantes. Portanto, de modo a se ter
procedimentos eficientes de prova de teoremas, deve-se evitar a gerao de um grande nmero
de clusulas inteis. Isto leva a alguns questionamentos sobre como refinar o processo de
resoluo. Existem muitas maneiras de se melhorar o processo de resoluo, considerar-se-
aqui trs destes refinamentos, ou seja, resoluo semntica , resoluo indexada (discutidos
neste Captulo) e resoluo linear (discutida no Captulo seguinte).
6.2 INTRODUO INFORMAL RESOLUO SEMNTICA
Considere o seguinte exemplo:
Exemplo 6.1: Seja S = {~P ~Q R, P R, Q R, ~R}. Para provar a insatisfiabilidade de
S, usando o princpio ordinrio de resoluo, seria gerado o seguinte conjunto de clusulas:
(1)
~P ~Q R conjunto original S
(2)
PR
conjunto original S
(3)
QR
conjunto original S
(4)
~R
conjunto original S
(5)
~Q R
a partir de (1) e (2)
(6)
~P R
a partir de (1) e (3)
(7)
~P ~Q
a partir de (1) e (4)
(8)
P
a partir de (2) e (4)
(9)
Q
a partir de (3) e (4)
(10) ~Q R
a partir de (1) e (8)
(11) ~P R
a partir de (1) e (9)
(12) R
a partir de (2) e (6)
(13) ~Q
a partir de (4) e (5)
(14) ~P
a partir de (4) e (6)
(15) 
a partir de (4) e (12)
Entre todas estas clusulas geradas, somente (6) e (12) so realmente usadas na prova. Todas
as outras so irrelevantes e/ou redundantes. Vai-se discutir agora, mecanismos que reduzem o
nmero destas clusulas inteis.
Imagine que se pode, de algum modo, dividir o conjunto de clusulas S em dois
grupos: S1 e S2. Indo mais adiante, imagine que no se permita que clusulas dentro do mesmo
grupo sejam resolvidas entre si. Isto, obviamente, reduzir o nmero de clusulas geradas.
Por exemplo, dividindo-se o conjunto de clusulas do Exemplo 6.1 em S 1 (clusulas (1)
e (3)) e S2 (clusulas (1) e (4)). Uma vez que a clusula (1) e a clusula (4) esto em S 2, (1) e
71

(4) no podero ser resolvidas. Como pode ser visto o bloqueio da resoluo de (1) e (4) np
afetar a habilidade do mtodo em deduzir a clusula vazia .
A questo : como dividir as clusulas em dois grupos? Na resoluo semntica, usa-se
uma interpretao para dividir as clusulas. Por isto este tipo de resoluo chamada de
resoluo semntica. Observe que no Exemplo 6.1, (2) e (3) so falsificadas pela interpretao
I = {~P, ~Q, ~R}, enquanto que (1) e (4) so satisfeitas por I. Portanto, esta interpretao
pode ser usada para dividir S em S 1 e S2, onde S1 contm todas as clusulas falsificadas por I e
S2 contm as satisfeitas por I. Deve-se lembrar que trata-se de um conjunto insatisfatvel de
clusulas, portanto, nenhuma interpretao poder satisfazer ou falsificar todas as clusulas.
Desse modo, toda interpretao I divide S em dois conjuntos no vazios de clusulas e, como
vai-se ver na seqncia, qualquer interpretao poder ser utilizada.
At este momento, obteve-se sucesso em bloquear a resoluo de (1) e (4). Poder-se-
impor algumas restries adicionais sobre a resoluo de modo que mais resolues sejam
bloqueadas? Observe que no Exemplo 6.1, (2) e (3) ainda podem ser resolvidas com (4).
Deve-se mostrar que estas resolues tambm podem ser bloqueadas.
Para bloquear estas resolues, pode-se usar um esquema ingnuo, ou seja, uma
ordenao dos predicados. Suponha que se ordene todos os predicados em S como segue:
P > Q > R.
Suponha que se exija que, quando se resolve duas clusulas (uma de S 1 e outra de S2),
o literal resolvido na clusula de S1contenha o maior predicado na clusula. Com esta
resrtrio, no se pode resolver (2) com (4), nem (3) com (4), pois R no o maior literal em
(2) e (3).
As idias seguintes - o uso de uma interpretao para dividir as clusulas em dois
grupos e o uso de uma ordenao de predicados para reduzir o nmero de possveis resolues
- so conceitos importantes na resoluo semntica. Estas idias sero elaboradas no decorrer
deste captulo, enquanto isto, ser introduzido outro conceito importante, o de conflito.
Exemplo 6.2: Considere as clusulas do Exemplo 6.1:
(1)
~P ~Q R
(2)
PR
(3)
QR
(4)
~R
Sendo I = {~P, ~Q, ~R} e uma ordenao de predicados de modo que: P > Q > R. Usando-se
as duas restries discutidas anteriormente, pode-se gerar apenas duas clusulas:
(5)
~Q R
a partir de (1) e (2)
(6)
~P R
a partir de (1) e (3)
Ambas as clusulas so satisfeitas por I, portanto so colocadas em S 2 e resolve-se elas com as
clusulas em S1. V-se que (5) pode ser resolvida com (3) e (6) com (2), mas ambas resultam
na mesma clusula R:
(7)
R
a partir de (3) e (5)
(8)
R
a partir de (2) e (6)
A clusula R falsa em I, portanto colocada em S 1 e resolve-se ela com as clusulas em S 2.
Encontra-se ~R em S2. Portanto, resolvendo R com ~R, obtm-se a clusula vazia .
A figura 6.1 mostra as duas maneiras pelas quais R foi gerada. As duas dedues de R
usam as clusulas (1), (2) e (3) e diferem somente na ordem em que estas clusulas so
utilizadas. Uma vez que somente uma delas necessria prova, bastante intil gerar as
duas. De modo a evitar esta redundncia, introduz-se o conceito de conflito.

72

(1)

(1)
(2)

(3)

(5)

(6)
(3)

(2)

Figura 6.1 Conflito encontrado para a gerao da clusula R no Exemplo 6.2


A idia para solucionar um conflito gerar R diretamente de (1), (2) e (3) sem passar
pela clusula intermediria (5) ou (6). O conjunto {(1), (2), (3)} ser chamado de conflito.
Uma descrio mais elaborada de conflito ser vista na prxima seo, onde ser visto,
tambm, que se pode combinar os conceitos de interpretao e ordenao de predicados com o
de conflito para restringir ainda mais solues.
6.3 DEFINIES FORMAIS E EXEMPLOS DE RESOLUO SEMNTICA
Definio: Sendo I uma interpretao e P uma ordenao de predicados. Um conjunto finito
de clusulas {E1 , ... , Eq , N}, q 1 chamado conflito semntico com respeito a P e I (ou de
maneira reduzida, PI-conflito), se e somente se E1 , ... , Eq (chamados eltrons) e N (chamado
ncleo) satisfizerem as seguintes condies:
1) E1 , ... , Eq so falsos em I.
2) Sendo R1 = N. Para cada i = 1, ... , q, existe um resolvente Ri+1 de Ri e Ei.
3) O literal Ei , que ser resolvido, contm o maior predicado em Ei , i = 1, ... , q.
4) Rq+1 falso em I.
Rq+1 chamado de PI-resolvente (do PI-conflito {E1 , ... , Eq , N}).
Exemplo 6.3: Sendo E1 = A1 A3 , E2 = A2 A3 , N = ~A1 ~A2 A3 , I = {~A1, ~A2, ~A3}
e P uma ordenao na qual A1 > A2 > A3. Ento, {E1 , E2 , N} um PI-conflito. o PI-resolvente
deste conflito A3 . Observe que A3 falso em I.
R1 = ~A1 ~A2 A3
E1 = A1 A3
R2 = ~A2 A3
E2 = A2 A3
R3 = A3
Exemplo 6.4: No Exemplo 6.3, nem {E 1 , N} nem {E2 , N} so PI-conflitos. Por exemplo,
pode-se ver que o resolvente de E1 ~A2 A3 que verdadeiro em I, assim {E1 , N} no um
PI-conflito. Pode-se ver tambm que, se for mudada a ordenao tal que A3 > A2 > A1, ento
{E1 , E2 , N} no um PI-conflito, uma vez que a terceira condio para que exista um PIconlfito no satisfeita.
Exemplo 6.5: Sendo E1 = ~Q(z) ~Q(a),
E2 = ~R(b) S(c),
N = Q(x) Q(a) ~R(y) ~R(b) S(c),
I = {Q(a), Q(b), Q(c), ~R(a), ~R(b), ~R(c), ~S(a), ~S(b), ~S(c)} e P uma ordenao de
predicados na qual Q > R > S. Sendo R 1 = N, existe um resolvente de R1 e E1 , dito, ~R(y)
~R(b) S(c), chamado de R2 . Ento, existe outro resolvente de R 2 e E2 , dito S(c), chamado
de R3 que falso em I. Deste modo {E 1 , E2 , N} satisfaz todas as quatro condies para ser
um PI-conflito e tem como PI-resolvente S(c).
73

Em um PI-conflito {E1 , ... , Eq , N} E1 considerado o primeiro eltron, E2 o segundo


e Eq o ltimo. De fato, a ordem destes eltrons irrelevante. Pode-se reordenar os eltrons
obedecendo qualquer ordem e obter o mesmo PI-resolvente deste conflito. Portanto, pode-se
evitar a gerao de muitas dedues do mesmo resolvente, como mostrou o Exemplo 6.2. Esta
a razo para o uso do conceito de conflito.
Definio:Sendo I uma interpretao de um conjunto de clusulas S e P uma ordenao de
predicados em S. Uma deduo de S chamada de PI-deduo se e somente se cada clusula
da deduo uma clusula em S ou um PI-resolvente.
Exemplo 6.6: Sendo S = {A1 A2 , A1 ~A2 , ~A1 A2 , ~A1 ~A2}, I = {A1, ~A2} e P uma
ordenao na qual A1 < A2. A deduo mostrada na figura 6.2 uma PI-deduo de  a partir
de S. Na figura 6.2, existem trs PI-resolventes, ditos, ~A1 , A2 , .
E' = ~A v A
1
1
2

N' = ~A

E'' = ~A
1
1

E''' = ~A
1
1

N'' =A

E''' = A
2
2

v ~A

vA

N''' = A

v ~A

Figura 6.2 PI-deduo de  a partir de S, para o Exemplo 6.6


Um aspecto interessante sobre resoluo semntica que pode-se usar qualquer
ordenao e qualquer interpretao. Observe, no Exemplo 6.6, tomando I = {~A 1, ~A2} e P
uma ordenao na qual A1 > A2, obtm-se uma PI-deduo de  a partir de S, como pode-se
ver na figura 6.3. De fato, a PI-resoluo completa, ou seja, a partir de qualquer conjunto de
clusulas insatisfatvel, pode-se sempre derivar a clusula vazia , usando alguma PI-resoluo.
Isto ser provado na prxima seo.

74

E' = A v A
1
1
2

N' = ~A

E'' = A
1
2

vA

N'' = A v ~A
1
2

E''' = A
1
1

E''' = A
2
2

N''' = ~A v ~A
1
2

Figura 6.3 PI-deduo de  a partir de S, para I = {~A1, ~A2} e P tal que: A1 > A2
6.4 COMPLETUDE DA RESOLUO SEMNTICA
Lema 6.1: Se P uma ordenao de predicados em um conjunto finito insatisfatvel de
clusulas base e, se I uma interpretao de S, ento existe uma PI-deduo de  a partir de S.
Prova: Este lema pode ser provado por induo. Seja A o conjunto de tomos de S. Se A
consiste de um nico elemento, dito Q, ento, entre os elementos de S, existem clusulas Q e
~Q. Claramente se v que o resolvente de Q e ~Q . Uma vez que Q ou ~Q deve ser falso em
I, e  falso em I,  um PI-resolvente. Portanto, o Lema 6.1 vilido para este caso.
Assumindo que o Lema 6.1 vlido quando A consiste de i elementos, 1 i n. Para
completar a induo, considera-se A tal que A consiste de exatamente n+1 elementos. Com
isto, existem dois casos possveis:
CASO 1: S contm uma clusula unitria L que falsa em I (L um literal). Sendo S' o
conjunto obtido de S eliminando-se as clusulas contendo o literal L e eliminando-se ~L das
clusulas restantes. Certamente, S' insatisfatvel (relembre a regra do literal-nico da seo
4.6). Uma vez que S' contm n ou menos tomos, pela hiptese da induo, existe uma PIresoluo D' de  a partir de S'. Da deduo D', pode-se obter uma PI-resoluo de  a partir de
S. Isto feito do seguinte modo: Primeiro, para cada PI-conflito {E'1 , ... , E'q , N'}, onde
E'1 , ... , E'q , N', so clusulas associadas a ns iniciais de D', se N' obtido a partir da clusula
N em S pela eliminao de ~L de N, substitua o conflito {E' 1 , ... , E'q , N'} pelo conflito
{E'1 , ... , E'q , L, N'}, onde E'1 , ... , E'q , L so os eltrons e N o ncleo. Segundo, se E' i
obtido da clusula Ei em S pela eliminao de ~L de Ei , conecte o PI-conflito {L,Ei} acima do
n E'i . Depois do processo acima descrito ser executado, fica claro que se pode obter uma PIdeduo de  a partir de S.
CASO 2: S no contm uma clusula unitria L que falsa em I. Neste caso, escolha um
elemento B no conjunto de tomos A de S tal que B contenha o menor predicado. B ou ~B
deve ser falso em I. Sendo L o elemento em {B, ~B} que falso em I e S' o conjunto obtido a
partir de S eliminando aquelas clusulas contendo o literal ~L e eliminando L das clusulas
restantes, S' insatisfatvel. Uma vez que S' contm n ou menos tomos, pela hiptese da
induo, existe uma PI-resoluo D' de  a partir de S'. Sendo D 1 a deduo obtida de D',
colocando-se o literal L de volta quelas clusulas das quais ele foi eliminado, D 1 ainda uma
PI-deduo, uma vez que L contm o menor predicado e L falso em I. D 1 uma PI-deduo
de  ou L. Se D 1 for uma PI-deduo de , chegou-se ao objetivo. Se D 1 for L, considere o
conjunto (S {L}) que contm a clusula unitria L que falsa em I, pela prova do Caso 1,
75

vista anteriormente, existe uma PI-deduo D2 de  a partir de (S {L}). Combinando D1 e


D2 , pode-se obter PI-deduo de  a partir de S. Isto completa a prova do Lema 6.1.
Teorema 6.1 (Completude da PI-resoluo): Se P uma ordenao dos predicados num
conjunto finito e insatisfatvel de clusulas S, e se I uma interpretao de S, ento existe uma
PI-deduo de  a partir de S.
Prova: Uma vez que S insatisfatvel, pelo Teorema de Herbrand (verso II) existe um
conjunto finito insatisfatvel S' de instncias base de clusulas em S. Pelo Lema 6.1, existe uma
PI-deduo D' de  a partir de S'. Partindo PI-resoluo D', pode-se mostrar agora que
possvel produzir uma PI-deduo de  a partir de S. Para se ver isto, apenas associa-se a cada
n de D' uma clusula, acima ou abaixo da clusula base j existente no local, da seguinte
maneira: Para cada n inicial, associe uma clusula em S para a qual a clusula base no local
sua instncia. Ento, para cada n no inicial, se as clusulas forma associadas deste modo
para cada um de seus ns predecessores imediatos e constituem um PI-conflito, associe o PIresolvente para o qual a clusula base no local sua instncia (Isto possvel devido ao Lema
5.1). Deste modo, uma clusula associada a cada n onde uma clusula base sua instncia.
A clusula associada ao n terminal deve ser , uma vez que a clusula j existente no local a
prpria . Fica fcil de se ver que a rvore de deduo, junto com as clusulas associadas, nada
mais do que uma PI-deduo de  a partir de S. Isto completa a prova.
Nota-se que, sem perda da propriedade de completude, a estratgia de eliminao vista
na seo 5.8, pode ser usada em conjunto com a PI-resoluo.
6.5 HIPERRESOLUO E ESTRATGIA DO CONJUNTO DE APOIO: CASOS
ESPECIAIS DA RESOLUO SEMNTICA
Nesta seo vai-se introduzir dois casos especiais de interpretaes que sero usados
na resoluo semntica. Uma destas interpretaes d origem a hiperresoluo e outra a
estratgia do conjunto de apoio.
6.5.1 Hiperresoluo
Vai-se considerar uma interpretao I na qual todo literal a negao de um tomo. Se
esta interpretao usada, todo eltron e todo PI-resolvente devem conter somente tomos.
Do mesmo modo, se todo literal em I um tomo, ento todo eltron e todo PI-resolvente
devem conter somente negaes de tomos. Hiperresoluo est baseada nestas consideraes.
Definio: Uma clusula chamada de positiva se todos os seus literais no contm nenhum
sinal de negao. Uma clusula chamada de negativa se todos os seus literais contm o sinal
de negao. Uma clusula chamada de mista se no positiva nem negativa.
Definio: Uma hiperresoluo positiva um caso especial de PI-resoluo na qual todo
literal da interpretao I contm o sinal de negao. Ela chamada de hiperresoluo positiva,
pois todos os eltrons e PI-resolventes para este caso so positivos.
Definio: Uma hiperresoluo negativa um caso especial de PI-resoluo na qual a
interpretao I no contm nenhum sinal de negao. Ela chamada de hiperresoluo
negativa, pois todos os eltrons e PI-resolventes para este caso so negativos.
Do Teorema 6.1, pode-se ver que as hiperresolues, tanto negativa quanto positiva,
so completas.
76

Exemplo 6.7: Para o seguinte conjunto de clusulas:


S = {Q(a) R(x), Q(x) R(x), ~R(a) ~S(a), S(x)}
seja P uma ordenao definida como R < Q < S. Ento obtm-se as hiperresolues positiva e
negativa mostradas nas figuras 6.4(a) e 6.4(b), respectivamente.
Q(a) v R(x)

~Q(x) v R(x)

R(x) v R(a)

S(x)

~R(a) v ~S(a)

~R(a) v ~S(a)

S(x)

~Q(x) v R(x)

~R(a)
~Q(a)

(a)

~R(a)

Q(a) v R(x)

(b)

Figura 6.4 Hiperresolues positiva (a) e negativa (b) para as clusulas do Exemplo 6.7
Exemplo 6.8: Sendo os axiomas, Q, R e ~Q ~R S e a negao da concluso ~S. Tem-se
quatro clusulas:
(1)
Q
(2)
R
(3)
~Q ~R S
(4)
~S
Sendo a ordem dos predicados Q > R > S. Ento a figura 6.5 (a) uma hiperdeduo positiva
de . Pode-se notar que a deduo parte dos axiomas e deriva S que contraditrio a negao
da concluso ~S. Na figura 6.5 (b) a deduo de  uma hiperdeduo negativa. Neste caso a
deduo inicia da negao da concluso. Assumindo que a concluso falsa, deriva-se a
contradio dessa premissa.
Q

~Q v ~R v S

~S

~Q v ~R v S

~Q v ~R
S

~S
~R

(a)

(b)

Figura 6.4 Hiperresolues positiva (a) e negativa (b) para as clusulas do Exemplo 6.8
6.5.2 Estratgia do Conjunto de Apoio
Como visto nos captulos anteriores, um teorema consiste em um conjunto de axiomas
A1, A2 , ... , An e uma concluso B. Para provar teorema, tem-se que, essencialmente, provar
que A1 A2 ... An ~B insatisfatvel. Uma vez que A1 A2 ... An , geralmente,
satsifatvel, pode ser considerado inteligente evitar resolver as clusulas em A1 A2 ... An
entre si. Isto o que o conjunto de apoio leva em conta.
77

Definio: Um subconjunto T de um conjunto S de clusulas chamado de conjunto de apoio


de S se S - T satisfatvel. Uma resoluo por conjunto de apoio a resoluo de duas
clusulas onde ambas no esto em S - T. Uma deduo por conjunto de apoio uma deduo
na qual toda resoluo uma resoluo por conjunto de apoio.
Vai-se provar que a resoluo por conjunto de apoio completa. Isto facilmente feito
usando-se o Teorema 6.1.
Teorema 6.2 (Completude da Estratgia do Conjunto de Apoio): Se S um conjunto finito
insatisfatvel de clusulas e T um subconjunto de S tal que S - T satisfatvel, ento existe
uma deduo por conjunto de apoio de  a partir de S tendo T como conjunto de apoio.
Prova: Uma vez que o conjunto S - T satisfatvel, existe uma interpretao I que satisfaz S T. Escolhendo qualquer ordenao P dos predicados em S, pelo Teorema 6.1 existe uma PIdeduo D de  a partir de S. A partir de D, considere cada PI-conflito {E 1, ... , Eq, N}, onde
todo resolvente envolve um eltron E i, entretanto, todo eltron falso em I. Portanto, para
toda resoluo correspondente, as duas clusulas no podem estar ambas em S - T. Deste
modo, a deduo D pode ser transformada em uma deduo por conjunto de apoio de  a partir
de S.
Exemplo 6.9: Sendo S o conjunto consistindo das seguintes clusulas:
(1)
P(g(x1,y1),x1,y1)
(2)
~P(x2,h(x2,y2),y2)
(3)
~P(x3,y3,u3) P(y3,z3,v3) ~P(x3,v3,w3) P(u3,z3,w3)
(4)
~P(k(x4),x4,k(x4))
Sendo T um conjunto consistindo da clusula (4). Ento a seguinte deduo uma deduo
por conjunto de apoio com T sendo o conjunto de apoio. V-se que nenhuma resoluo
efetuada entre (1), (2) e (3).
O primeiro resolvente gerado (5) obtido pela resoluo entre as clusulas (4) e (3) e para
obter o unificador mais geral entre as duas clusulas, aplica-se o algoritmo de unificao entre
os seguintes literais:
~P(k(x4),x4,k(x4))
~P(k(x4),x4,k(x4))
~P(k(x4),z3,k(z3))
~P(k(x4),z3,k(z3))
P(u3,z3,w3)
P(k(x4),z3,w3)
P(k(x4),z3,w3)
P(k(x4),z3,k(z3))
0 = {k(x4)/u3}
1 = 0 {z3/x4}
2 = 1 {k(z3)/w3}
1 = {k(z3)/u3,z3/x4} 2 = {k(z3)/u3,z3/x4,k(z3)/w3} =
(5)
~P(x3,y3,k(z3)) P(y3,z3,v3) ~P(x3,v3,k(z3))
O segundo resolvente gerado (6) obtido pela resoluo entre (5) e (2), aplicando-se o
algoritmo de unificao entre os seguintes literais:
P(y3,z3,v3)
P(y3,z3,v3)
P(y3,h(y3,y2),v3)
P(y3,h(y3,y2),v3)
~P(x2,h(x2,y2),y2)
~P(y3,h(y3,y2),y2)
~P(y3,h(y3,y2),y2)
~P(y3,h(y3,y2),v3)
0 = {y3/x2}
1 = 0 {h(y3,y2)/z3} 2 = 1 {v3/y2}
1 = {y3/x2,h(y3,y2)/z3} 2 = {y3/x2,h(y3,v3)/z3,v3/y2} =
(6)
~P(x3,y3,k(h(y3,v3))) ~P(x3,v3,k(h(y3,v3)))
O terceiro resolvente gerado (7) obtido pela resoluo entre (6) e (1), aplicando-se o
algoritmo de unificao entre os seguintes literais:
~P(x3,y3,k(h(y3,v3)))
~P(g(x1,y1),y3,k(h(y3,v3)))
P(g(x1,y1),x1,y1)
P(g(x1,y1),x1,y1)
0 = {g(x1,y1)/x3}
1 = 0 {y3/x1}
1 = {g(y3,y1)/x3,y3/x1}
78

~P(g(x1,y1),y3,k(h(y3,v3)))
~P(g(x1,y1),y3,k(h(y3,v3)))
P(g(x1,y1),y3,y1)
P(g(x1,y1),y3,k(h(y3,v3)))
2 = 1 {k(h(y3,v3))/y1}
2={g(y3,k(h(y3,v3)))/x3,y3/x1,k(h(y3,v3))/y1} =
(7)
~P(g(y3,k(h(y3,v3))),v3,k(h(y3,v3)))
O quarto resolvente gerado (8) obtido pela resoluo entre (7) e (1), aplicando-se o
algoritmo de unificao entre os seguintes literais:
~P(g(y3,k(h(y3,v3))),v3,k(h(y3,v3))) ~P(g(x1,k(h(y3,v3))),v3,k(h(y3,v3)))
P(g(x1,y1),x1,y1)
P(g(x1,y1),x1,y1)
0 = {x1/y3}
1 = 0 {k(h(y3,v3))/y1}
1 = {x1/y3,k(h(y3,v3))/y1}
~P(g(x1,k(h(y3,v3))),v3,k(h(y3,v3))) ~P(g(x1,k(h(y3,v3))),v3,k(h(y3,v3)))
P(g(x1,k(h(y3,v3))),x1,k(h(y3,v3))) P(g(x1,k(h(y3,v3))),v3,k(h(y3,v3)))
2 = 1 {v3/x1}
2 = {v3/y3,k(h(y3,v3))/y1,v3/x1}
(8)

6.6 RESOLUO SEMNTICA USANDO CLUSULAS ORDENADAS
Aqui vai-se considerar algumas ordenaes diferentes de ordenaes de predicados.
Para a lgica proposicional, ordenao de predicados usado em conjunto com resoluo
semntica se mostrou bastante eficiente. Para qualquer eltron E, no h dificuldade em
escolher um literal em E para ser resolvido. Por exemplo, considere E 1 = A1 A3 , E2 = A2
A3 , N = ~A1 ~A2 A3}, como no Exemplo 6.3. Usando I = {~A1, ~A2, ~A3} e a ordenao
P onde A1 > A2 > A3, pode-se facilmente decidir que os literais A1 e A2 em E1 e E2,
respectivamente, devem ser resolvidos. Entretanto, para lgica de predicados, onde variveis
esto envolvidas, em um eltron E poder existir mais de um literal que contenha o mesmo
predicado em E. Qualquer um destes literais candidato a ser resolvido. Isto fica melhor
ilustrado atravs de um exemplo.
E = Q(a) Q(b) Q(c) Q(d)
N = ~Q(x)
Sendo I uma interpretao na qual todo literal negativo e P uma ordenao qualquer dos
predicados, fica claro que {E,N} um PI-conflito. Uma vez que todos os literais em E contm
o mesmo predicado Q, qualquer um deles pode ser resolvido com N. Portanto do PI-conflito
{E,N}, pode-se obter quatro PI-resolventes, que so, Q(b) Q(c) Q(d), Q(a) Q(c)
Q(d), Q(a) Q(b) Q(d), Q(a) Q(b) Q(c).
Exemplo 6.10: Considere:

Do exemplo acima, pode-se ver que, usando uma ordenao dos predicados, h a
possibilidade de no se conseguir escolher um nico literal para ser resolvido em um eltron.
Assim, pode-se ser forado a gerar mais que um resolvente semntico de um conflito
semntico. Para resolver esta situao, considera-se clusulas ordenadas.
A idia de clusulas ordenadas considerar uma clusula como uma seqncia de
literais ao invs de um conjunto de literais. Para se fazer isto, atribui-se uma ordem a todos os
literais na clusula. Convenciona-se que um literal L2 maior que um literal L1 em uma
clusula no caso de L2 seguir L1 na seqncia especificada pela clusula. Deste modo, o ltimo
literal em uma clusula ordenada, ser sempre considerado o maior literal na clusula. Por
exemplo, considerando A3 A1 A2 como uma clusula ordenada, ento A2 o maior literal.
79

Dar-se- agora as definies formais.


Definio: Uma clusula ordenada uma seqncia de literais distintos.
Da mesma maneira que uma clusula, uma clusula ordenada tambm interpretada
como uma disjuno de todos os literais que compem a clusula ordenada. A nica diferena
que a ordem dos literais em uma clusula irrelevante, enquanto que a ordem dos literais na
clusula ordenada especificada. Uma clusula ordenada tambm ser escrita como uma
disjuno de literais. Isto no causar confuso, pois sempre se usar a palavra ordenada para
fazer referncia a clusulas ordenadas.
Definio:Um literal L2 dito ser maior que um literal L1 em uma clusula ordenada (ou L1
menor que L2) se e somente se L2 segue L1, na seqncia especificada pela clusula ordenada.
Pode-se considerar resoluo semntica usando clusulas ordenadas. Entretanto,
define-se primeiro a resoluo ordenada para clusulas ordenadas.
Definio: Se dois ou mais literais (com o mesmo sinal) de uma clusula C, tem um unificador
mais geral , ento a clusula ordenada obtida da seqncia C, pela eliminao de todo
literal que idntico a um literal menor na seqncia, chamada de fator ordenado de C.
Exemplo 6.11: Considere a clusula ordenada C = P(x) Q(x) P(a), o primeiro e o ltimo
literal, sublinhados, de C tem um unificador mais geral = {a/x}. Portanto, C = P(a) Q(a)
P(a). Na seqncia C, existem dois literais idnticos. Uma vez que o segundo P(a)
idntico a um literal menor, ou seja, ao primeiro P(a), elimina-se o segundo P(a) de C e
obtm-se a seqncia P(a) Q(x), que um fator ordenado de C. Observa-se que Q(a)
P(a) no um fator ordenado de C, pois foi obtido de C pela eliminao do primeiro P(a).
Definio: Sendo C1 e C2 clusulas ordenadas, sem variveis em comum e L1 e L2 dois literais
em C1 e C2 , respectivamente. Se L1 e ~L2 tem um unificador mais geral e se C a clusula
ordenada obtida concatenando-se as seqncias C1 e C2, removendo L1 e L2 e eliminando
todo literal que idntico a um literal menor na seqncia restante, ento C chamado de
resolvente binrio ordenado de C1 contra C2. Os literais L1 e L2 so chamados de literais
resolvidos.
A definio acima, idntica a definio do resolvente binrio dada na Seo 5.5 do
Captulo 5, com exceo de que a ordem dos literais em um resolvente binrio ordenado est,
deliberadamente, especificada. Note que usou-se a palavra contra para enfatizar que um
resolvente binrio ordenado de C1 contra C2 no o mesmo que C2 contra C1.
Exemplo 6.12: Considere as seguintes clusulas ordenadas:
C1 = P(x) Q(x) R(x) e C2 = ~P(a) Q(a).
Escolha L1 = P(x) e L2 = ~P(a). Uma vez que ~L2 = P(a), L1 e ~L2 tem o mesmo unificador
mais geral = {a/x}. Inicialmente, concatenando as seqncias C1 e C2, obtm-se a
seqncia P(a) Q(a) R(a) ~P(a) Q(a). Num segundo momento, remove-se L1 e
L2, da seqncia anterior, obtendo Q(a) R(a) Q(a). Finalmente, uma vez que em Q(a)
R(a) Q(a), o segundo Q(a) idntico ao menor literal, ou seja, o primeiro Q(a), elimina-se o
80

segundo Q(a) e obtm-se Q(a) R(a). A seqncia Q(a) R(a) um resolvente binrio
ordenado de C1 contra C2 e P(x) e ~P(a) so os literais resolvidos.
Definio: Um resolvente ordenado de uma clusula ordenada C1 contra uma clusula
ordenada C2 um dos seguintes resolventes binrios ordenados:
1. um resolvente binrio ordenado de C1 contra C2,
2. um resolvente binrio ordenado de C1 contra um fator ordenado de C2,
3. um resolvente binrio ordenado de um fator ordenado de C1 contra de C2,
4. um resolvente binrio ordenado de um fator ordenado de C 1 contra um fator
ordenado de C2 .
Exemplo 6.13: Considere o seguinte conjunto de clusulas ordenado: C 1 = P(x) Q(x)
R(x) P(a) e C2 = ~P(a) Q(a). Um fator ordenado de C1 e C1 = P(a) Q(a) R(a). Um
resolvente binrio ordenado de C1 contra C2 Q(a) R(a). Portanto, Q(a) R(a) um
resolvente binrio ordenado de C1 contra C2.
Resoluo ordenada uma regra de inferncia que gera resolventes ordenados a partir
de um conjunto ordenado de clusulas. No difcil de se ver que a resoluo ordenada
completa. Isto , resoluo ordenada sempre gerar a clusula vazia  de um conjunto
insatisfatvel de clusulas ordenadas. A prova ficar como exerccio.
Tendo definido resoluo ordenada, vai-se considerar agora, resoluo semntica para
clusulas ordenadas. Deve-se, ainda, utilizar conceitos de interpretao e conflito. Entretanto,
deve-se usar o conceito de clusulas ordenadas ao invs de ordenao de predicados. Como
discutido no incio desta seo, isto representa uma vantagem, pois agora pode-se escolher um
nico literal em um eltron para ser resolvido.
Definio: Sendo I uma interpretao. Uma seqncia de clusulas ordenadas {E 1, E2, ... ,
Eq, N}, q 1, chamado de conflito ordenado semntico com respeito a I (ou OI-conflito,
resumidamente) se e somente se E1, E2, ... , Eq, (chamados eltrons ordenados) e N (chamado
ncleo ordenado) satisfazendo as seguintes condies:
1. E1, E2, ... , Eq, so falsos em I.
2. Sendo Rq = N, para cada i = q, q-1, ... , 1, existe um resolvente ordenado R i-1 de Ei contra
Ri.
3. O literal Ei que resolvido o "ltimo literal" em E i , i = 1, ..., q; o literal Ri que resolvido
o "maior literal" que tem uma instncia verdadeira em I.
4. R0 falso em I.
R0 chamado de OI-resolvente do OI-conflito {E1, E2, ... , Eq, N}.
Com exceo da condio (3), a definio acima semelhante a de PI-resolvente dada
na Seo 6.3. Ver-se- agora um exemplo para ilustrar como um OI-conflito poder ser
encontrado.
Exemplo 6.14: Considere as seguintes clusulas ordenadas:
(1) A1 A2
(2) A1 A3
(3) ~A3 ~A2 A1
Sendo I = {~A1,~A2, ~A3 }. Uma vez que (1) e (2) so falsos em I, eles podem ser usados
como eltrons ordenados. Uma vez que (3) tem um literal que verdadeiro em I, (3) pode ser
81

usado como um ncleo ordenado. Portanto, N = ~A3 ~A2 A1. Em N existem dois literais,
~A3 e ~A2 que so verdadeiros em I. Ento, necessita-se dois eltrons ordenados. Sendo R 2 =
N, isto , R2 = ~A3 ~A2 A1. Em R2, o maior literal que tem uma instncia (neste caso, ela
mesma) verdadeira em I ~A2. Uma vez que ~A2 e o ltimo literal de (1) podem ser
resolvidos, tem-se E2 = A1 A2. O resolvente ordenado R1 de E2 contra R2 dado como R1
= ~A3 A1. Agora, em R1, o maior literal que tem uma instncia (neste caso, ela mesma)
verdadeira em I ~A3. Uma vez que ~A3 e o ltimo literal de (2) podem ser resolvidos, temse E1 = A1 A3. O resolvente ordenado R0 de E1 contra R1 dado como R0 = A1. Uma vez
que R0 falso em I, conclui-se que {E1, E2, N}, ou {(1), (2), (3)} um OI-conflito e A1 o
OI-resolvente deste conflito.
Do exemplo acima, pode-se ver que a ordem do conjunto ordenado de eltrons
determinado pela ordem dos literais no ncleo ordenado. Portanto, para o exemplo acima {(2),
(1), (3)} poderia no ser um OI-conflito.
Exemplo 6.15: Considere o conjunto de clusulas dadas no Exemplo 6.10:
(1)
Q(a) Q(b) Q(c) Q(d)
(2)
~Q(x)
Supondo que se trata (1) e (2) como clusulas ordenadas. Sendo I uma interpretao na qual
todo literal negativo. Uma vez que (1) falso em I, (1) pode ser usado como eltron.
Resolvendo o ltimo literal de (1) contra ~Q(x), obtm-se o resolvente Q(a) Q(b) Q(c),
que falso em I. Portanto, {(1), (2)} um OI-conflito com (1) e (2) sendo o eltron ordenado
e o ncleo ordenado, respectivamente. Neste caso existe apenas um OI-resolvente deste
conflito ao invs dos quatro PI-resolventes que se teria usando ordenao de predicados.
Definio: Sendo I uma interpretao para um conjunto ordenado de clusulas S. Uma
deduo de S chamada OI-deduo se e somente se cada clusula ordenada em na deduo
uma clusula ordenada em S ou um OI-resolvente.
Exemplo 6.16: Considere o seguinte conjunto ordenado de clusulas:
(1)
Q(a) R(x)
(2)
~Q(x) R(x)
(3)
~R(x) ~S(a)
(4)
S(x)
Sendo I uma interpretao na qual todo literal negativo, ento a deduo mostrada na figura
6.6, uma OI-deduo de  a partir de S.
Q(a) v R(x)

S(x)

~R(a) v ~S(a)

Q(a)

~Q(x) v R(x)
R(a)

S(x)

82

~R(a) v ~S(a)

Figura 6.6 OI-Deduo de  a partir de S do Exemplo 6.16.


Exemplo 6.17: Considere o conjunto S consintindo das clusulas ordenadas Q(a) Q(b)
Q(c) Q(d) e ~Q(x), como dado no Exemplo 6.10. S insatisfatvel e I pode ser uma
interpretao na qual todo literal negativo. Ento a deduo mostrada na figura 6.7 uma
OI-Deduo de  a partir de S. Somente quatro OI-resolventes ordenados foram gerados.
Entretanto, se fosse utilizada a PI-resoluo, 40 PI-resolventes poderiam ser gerados pelo
mtodo de saturao, antes da clusula vazia  ser encontrada.
Q(a) v Q(b) v Q(c) v Q(d)
~Q(x)

Q(a) v Q(b) v Q(c))

~Q(x)

Q(a) v Q(b)

~Q(x)

Q(a)

~Q(x)

Figura 6.7 OI-Deduo de  a partir de S do Exemplo 6.17.


Vrios pesquisadores utilizaram OI-resoluo e indicaram que seus resultados foram
bastante eficientes. Muitos teoremas foram provados pela OI-resoluo, porm, infelizmente,
OI-resoluo no completa. Para que se possa verr isso, observe o seguinte contra-exemplo.
Exemplo 6.18: Considere o seguinte conjunto ordenado de clusulas S:
(1)
PQ
(2)
QR
(3)
RW
(4)
~R ~P
(5)
~W ~Q
(6)
~Q ~R
Sendo I uma interpretao onde todo literal negativo, as clusulas (1)-(3) podem ser
utilizadas como eltrons ordenados e as clusulas (4)-(6) podem ser usadas como ncleos
ordenados. Das clusulas (1)-(6), pode-se obter os seguintes OI-resolventes:
(7)
RP
do OI-conflito {(3),(1),(5)}
(8)
PQ
do OI-conflito {(1),(2),(6)}
A partir das clusulas (1)-(8) pode-se obter o seguinte OI-resolvente:
(9)
QR
do OI-conflito {(2),(7),(4)}
Observa-se que as clusulas (8) e (9) esto em S. Portanto, das clusulas (1)-(9) no se pode
produzir nenhum OI-resolvente novo. Isto , a clusula vazia , no poder ser produzida por
OI-resoluo, apesar de S ser insatisfatvel. Portanto OI-resoluo no completa.
6.7 IMPLEMENTAO DA RESOLUO SEMNTICA

83

Nesta seo, considera-se como implementar a PI-resoluo. Apesar da OI-resoluo


no ser completa, pode-se utilizar o conceito de clusulas ordenadas para implementar PIresoluo. Pode-se dizer que uma clusula positiva ordenada uma clusula ordenada que
no possui nenhum sinal de negao e uma clusula negativa ordenada uma clusula
ordenada na qual todos os sinais so de negao. Uma clusula no-positiva (no-negativa)
ordenada uma clusula ordenada que no-positiva (negativa). De maneira a evitar que se
estabelea uma interpretao toda a vez que se usar uma PI-resoluo, considerar-se-
somente hiperresoluo positiva. (hiperresoluo negativa poder ser tratada de maneira
semelhante). Deste modo, considera-se somente clusulas positivas ordenadas como
candidatas a eltrons e as no-positivas como candidatas a ncleo. Convenciona-se que para
quaisquer clusulas ordenadas no-positivas, os literais negativos so colocados depois dos
literais positivos. Seja S um conjunto de clusulas ordenadas e P uma ordenao dos
predicados em S.O seguinte algoritmo pode calcular hiperresolventes positivos.
Gerao de Hiperresolventes Positivos
Passo 0: Faa M e N o conjunto de todas as clusulas positivas e no-positivas em S,
respectivamente.
Passo 1: Faa j = 1.
Passo 2: Faa A0 = e B0 = N.
Passo 3: Faa i = 0.
Passo 4: Se Ai contm , pare; uma contradio foi encontrada. Caso contrrio v para o
prximo passo.
Passo 5: Se Bi vazio, v para o Passo 8. Caso contrrio, v para o prximo passo.
Passo 6: Calcule o conjunto:
Wi+1 = { resolventes ordenados de C1 contra C2, onde C1 uma clusula ordenada ou
um fator ordenado de uma clusula ordenada em M, C2 uma clusula ordenada em Bi
, o literal resolvido de C1 contm o "maior" predicado em C 1 e o literal resolvido de
C2 o "ltimo" literal de C2 }.
Faa Ai+1 e Bi+1 iguais aos conjuntos de todas as clusulas ordenadas positivas e nopositivas em Wi+1 , respectivamente.
Passo 7: Faa i = i + 1 e v para o Passo 4.
Passo 8: Faa T = A0 ... Ai e M = T M.
Passo 9: Faa j = j + 1.
Passo 10: Calcule o conjunto:
R = {resolventes ordenados de C1 contra C2, onde C1 uma clusula ordenada ou um
fator ordenado de uma clusula ordenada em T, C 2 uma clusula ordenada em N, o
literal resolvido de C1 contm o "maior" predicado em C1}.
(Observe que na definio acima de R, o literal resolvido de C 2 pode ser qualquer
literal, no necessariamente o ltimo literal de C2). Faa A0 e B0 iguais aos conjuntos
de todas as clusulas ordenadas positivas e no-positivas em R, respectivamente.
Passo 11: V para o Passo 3.
No algoritmo acima, para cada ciclo, isto , para cada j, B i poder, eventualmente, ser
vazio, uma vez que o nmero mximo de literais negativos em uma clusula ordenada de B i
decresce de uma unidade cada vez que i aumenta de uma unidade. Todas as clusulas em cada
Ai so hiperresolventes positivos. No difcil de se ver que se S insatisfatvel, ento  pode
ser gerado a partir do algoritmo acima. A estratgia de eliminao tambm pode ser
incorporada ao algoritmo acima sem perda da propriedade de completude. Isto , para T e M
84

obtidos no Passo 8 do algoritmo, qualquer clusula em T ou M englobadas por outras


clusulas em T ou M podem ser eliminadas. (Observe que no h tautologias em T ou M, uma
vez que todas as clusulas em T ou M so positivas). Entretanto, no exemplo a seguir no se
usa a estratgia de eliminao.
Exemplo 6.19: Seja S um conjunto de clusulas ordenadas definido como S = {P 6 P4 , P5
P4 , P4 P1 , ~P1 ~P2 , P3 ~P6 , ~P4 , P2 ~P5 ~P3 }. Para simplificar a notao,
representaremos P1 , P2 , ... , P6 por 1, 2, ... , 6, respectivamente. Portanto, S escrito como
S = {6 4 , 5 4 , 4 1 , ~1 ~2 , 3 ~6 , ~4 , 2 ~5 ~3 }. Seja P uma ordenao de
predicados na qual 1 < 2 < 3 < 4 < 5 < 6. A partir de S, obtm-se:
M = {6 4 , 5 4 , 4 1 }
N = { ~1 ~2 , 3 ~6 , ~4 , 2 ~5 ~3 }, e pode-se aplicar o algoritmo anterior:
1.
j = 1.
a.
A0 =
B0 = N = { ~1 ~2 , 3 ~6 , ~4 , 2 ~5 ~3 }.
b.
Uma vez que nem A0 contm  nem B0 vazio aplica-se o Passo 6 e
obtm-se:
W1 = { 4 3 , 1 }
A1 = { 4 3 , 1 }
B1 = .
c.
Uma vez que B1 vazio, vai-se para o Passo 8, e faz-se:
T = A0 A1 = { 4 3 , 1 }
M = T M = {4 3 , 1 , 6 4 , 5 4 , 4 1 }
2.
j = 2.
a.
Calculando R, obtm-se R = { 3 , ~2 }. A partir de R, obtm-se: A0 = {3}
B0 = {~2}.
b.
Uma vez que, nem A0 contm  nem B0 vazio aplica-se o Passo 6 e
obtm-se:
W1 = A1 = B1 = .
c.
Uma vez que B1 vazio, faz-se:
T = A0 A1 = {3}
M = T M = {3 , 4 3 , 1 , 6 4 , 5 4 , 4 1 }
3.
j = 3.
a.
Aplicando o Passo 10, obtm-se R = { 2 ~5 }, A0 = , B0 = { 2 ~5 }.
b.
Uma vez que, nem A0 contm  nem B0 vazio aplica-se o Passo 6 e
obtm-se:
W1 = { 4 2 }, A1 = { 4 2 }, B1 = .
c.
Uma vez que B1 vazio, faz-se:
T = A0 A1 = { 4 2 }
M = T M = {4 2 , 3 , 4 3 , 1 , 6 4 , 5 4 , 4 1 }
4.
j = 4.
a.
Aplicando o Passo 10, obtm-se R = {2}, A0 = {2}, B0 = .
b.
Uma vez que B0 faz-se:
T = A0 = {2}
M = T M = {2 , 4 2 , 3 , 4 3 , 1 , 6 4 , 5 4 , 4 1 }
5.
j = 5.
a.
Aplicando o Passo 10, obtm-se R = {~1}, A0 = , B0 = {~1}.
b.
Uma vez que, nem A0 contm  nem B0 vazio aplica-se o Passo 6 e
85

obtm-se:
W1 = {  }, A1 = {  }, B1 = .
Uma vez que A1 contm  o algoritmo termina e uma contradio foi
encontrada.

c.

Foram gerados seis hiperresolventes positivos, que so,  , 2 , 4 2 , 3 , 4 3 e 1. Para


conseguir a hiperdeduo de , inicialmente, se traa os ancestrais de , como mostrado na
figura 6.8, que pode, ento, ser facilmente transformada na hiperdeduo mostrada na figura
6.9. Nota-se que todos os hiperresolventes gerados pelo algoritmo foram usados na prova.
Neste exemplo, nenhum resolvente redundante ou irrelevante foi gerado pelo algoritmo.
6v 4

3 v ~6
6v 4

4v 3

4v 3
3
5v4

3 v ~6

~4
~4

2 v ~5 v ~3
3

2 v ~5

2 v ~5 v ~3

5v 4
4v1

~4

4v2

~4

4v2

~1 v ~2

~4

4v 1

~4

~1

~1 v ~2

Figura 6.8 Ancestrais de 

Figura 6.9 Hiperdeduo de 

6.8 RESOLUO INDEXADA


Resoluo Indexada um refinamento da resoluo que usa um conceito semelhante
ao de clusulas ordenadas. Dado um conjunto de clusulas S, a idia de resoluo indexada ,
essencialmente, usar ndices para ordenar os literais das clusulas em S. Isto , ela faz uma
indexao arbitrria de cada ocorrncia de um literal em S atravs de um inteiro; diferentes
ocorrncias de um mesmo literal podem ser indexadas diferentemente. Resoluo permitida
somente com literais de menor ndice em cada clusula. Os literais dos resolventes, herdam
seus ndices das clusulas pai. Se um literal em um resolvente tem mais de um ndice que pode
ser herdado, o menor ndice atribudo a este literal. Antes de se dar uma definio formal de
resoluo indexada, consederar-se- o seguinte exemplo:
Exemplo 6.20: Considere o seguinte conjunto de clusulas:
(1)
1P 2Q
(2)
3~P 4Q.
O inteiro abaixo do literal o ndice associado a este literal. Os literais P e Q da clusula (1)
tem ndices 1 e 2, respectivamente. Deve-se usar 1P e 2Q para se referir aos literais P e Q da
clusula (1), respectivamente. Da mesma maneira, deve usar 3~P e 4Q para se referir aos
literais ~P e Q da clusula (2), respectivamente. Uma vez que o ndice de 1P menor que o de
86

2Q, 1P

passvel de ser resolvido. Do mesmo modo, uma vez que o ndice de 3~P menor que
o de 4Q, 3~P pode ser resolvido. Assim, resolvendo as clusulas (1) e (2) com os literais 1P e
3~P, obtm-se a seguinte clusula:
(3)
2Q 4Q.
Agora 2Q e 4Q representam o mesmo literal Q. Uma vez que 2 menor que 4, Q indexado
com 2. Portanto, obtm-se:
(4)
2Q.
A clusula (4) chamada de resolvente indexado das clusulas (1) e (2). Observe que se os
literais da clusula (2) forem indexados de maneira diferente, tal como:
(2*) 4~P 3Q.
ento o literal da clusula (2*) passvel de ser resolvido 3Q. Entretanto, 1P e 3Q no podem
ser resolvidos, portanto, no existe resolvente indexado das clusulas (1) e (2 *).
Definio: Sendo C uma clusula onde cada um dos seus literais tem um ndice inteiro. Se
dois ou mais literais (com o mesmo sinal) de C tem um unificador mais geral , ento as
clusulas obtidas a partir de C pela eliminao de todo literal que idntico a um literal de
ndice mais baixo chamado de fator indexado de C.
Exemplo 6.21: Seja C = 2P(x) 8Q(a) 11P(a) 5Q(x). 2P(x) e 11P(a) tem um unificador mais
geral = {a/x}. Assim, C = 2P(a) 8Q(a) 11P(a) 5Q(a). Em C, exceto pelo ndice, 2P(a)
idntico a 11P(a). Uma vez que 11P(a) tem um ndice maior que 2P(a), 11P(a) ser eliminado.
Do mesmo modo, uma vez que 8Q(a) tem um ndice maior que 5Q(a), 8Q(a) ser eliminado.
Portanto eliminando 11P(a) e 8Q(a), obtm-se 2P(a) 5Q(a) que um fator indexado de C.
Em uma clusula, se existe mais de um literal idntico, sempre se mantm aquele que
tiver o menor ndice e elimina-se todos os outros literais idnticos. Esta operao
denominada agrupamento inferior para literais idnticos. No exemplo anterior, foi feito o
agrupamento inferior para 2P(a) e 11P(a) e, tambm, para 5Q(a) e 8Q(a).
Definio: Sendo C1 e C2 duas clusulas sem nenhuma varivel em comum e com todos seus
literais indexados e L1 e L2 os dois literais de menor ndice em C 1 e C2 , respectivamente. Se L1
e ~L2 tem o mesmo unificador mais geral e se C a clusula obtida a partir de (C 1 C2)
pela eliminao de L1 e ~L2 e fazendo o agrupamento inferior de todos os literais idnticos
na clusula restante, ento C chamado de resolvente binrio indexado de C1 e C2 . Os literais
L1 e L2 so chamados literais resolvidos.
Exemplo 6.22: Considere as clusulas: C1 = 1P(x) 2Q(x) 3R(x) e C2 = 4~P(a) 5Q(a).
Uma vez que 1P(x) e 4~P(a) tem os menores ndices em C1 e C2 , respectivamente, escolhe-se
L1 = P(x) e L2 = ~P(a). L1 e ~L2 tem o mesmo unificador mais geral = {a/x}. Portanto, (C1
C2) = 1P(a) 2Q(a) 3R(a) 4~P(a) 5Q(a). Eliminando L1 e ~L2 , isto , 1P(a) e 4~P(a),
de (C1 C2), obtm-se 2Q(a) 3R(a) 5Q(a). Agora, 2Q(a) e 5Q(a) so literais idnticos
com ndices diferentes. Agrupando inferiormente 2Q(a) e 5Q(a), obtm-se 2Q(a) 3R(a), que
um resolvente binrio indexado de C1 e C2 . 1P(a) e 4~P(a) so os literais resolvidos.
Definio: Sendo C1 e C2 duas clusulas com todos seus literais indexados. Um resolvente
indexado de C1 e C2 um dos seguintes resolventes binrios indexados:
87

1. um resolvente binrio indexado de C1 contra C2,


2. um resolvente binrio indexado de C1 contra um fator indexado de C2,
3. um resolvente binrio indexado de um fator indexado de C1 contra de C2,
4. um resolvente binrio indexado de um fator indexado de C 1 contra um fator
indexado de C2 .
Definio: Sendo S um conjunto de clusulas onde todo literal em S indexado com um
inteiro. Uma deduo a partir de S chamada de deduo indexada se e somente se toda
clusula na deduo uma clusula em S ou um resolvente indexado.
Exemplo 6.23: Considere o seguinte conjunto de clusulas S:
(1)
1P 2Q
(2)
3P 4~Q
(3)
6~P 5Q
(4)
8~P 7~Q.
A partir das clusulas (1)-(4), existe somente um resolvente indexado:
(5)
de (3) e (4)
6~P
A partir das clusulas (1)-(5), existem somente dois resolventes indexados:
(6)
de (1) e (5)
2Q
(7)
de (2) e (5)
4~Q
Finalmente, resolvendo (6) e (7), obtm-se:
(8)
.
Assim, obtm-se uma deduo indexada de  mostrada na figura 6.10. Note que, no todo,
somente trs resolventes indexados foram gerados. Entretanto, se a resoluo ordinrio (sem
refinamentos) fosse utilizada, 37 resolventes poderiam ser gerados pelo mtodo de saturao
antes de  ser gerado. (Veja Seo 5.8)
(3)

(2)

(5)

(4)

(1)
(5)

(6)

(7)

Figura 6.10 Deduo Indexada para o Exemplo 6.23


Exemplo 6.24: Considere o seguinte conjunto S de clusulas:
(1)
5P(y,a) 1P(f(y),y)
(2)
6P(y,a) 2P(y,f(y))
(3)
8~P(x,y) 3P(f(y),y)
(4)
9~P(x,y) 4P(y,f(y))
(5)
10~P(x,y) 7~P(y,a)
A partir de S, pode-se obter a seguinte resoluo indexada de :
(6)
um resolvente indexado de (1) e (5)
5P(a,a) 10~P(x,f(a))
88

(7)
(8)
(9)
(10)
(11)

10~P(y,f(a))
10~P(x,f(a)) 10~P(y,f(a))
6P(a,a)
9~P(x,a)

8~P(x,a)

um resolvente indexado de (3) e (5)


um resolvente indexado de (6) e (7)
um resolvente indexado de (8) e (2)
um resolvente indexado de (8) e (4)
um resolvente indexado de (9) e (10).

6.9 COMPLETUDE DA RESOLUO INDEXADA


Nesta seo, vai-se provar a completude do processo de resoluo indexada. De modo
usual, isto feito, primeiro provando a completude do processo de resoluo indexada para o
caso base, que ento "elevado" ao caso mais geral. Para uma clusula C que tem todos os
literais indexados, toda instncia de C obtida, inicialmente, fazendo as substituies para as
variveis e fazendo os agrupamentos inferiores para literais idnticos. Isto , se uma
substituio, primeiro obtm-se C e ento faz-se o agrupamento inferior para literais
idnticos em C para obter uma instncia de C. Por exemplo, sendo C = 1P(x) 2P(y). Se =
{a/x , a/y}, ento uma instncia de C 1P(a). Por esta conveno, o seguinte lema de
"elevao" (lifting lemma) bvio. Esta prova ficar como exerccio. (Use o Lema 5.1)
Lema 6.2: Sendo C1 e C2 duas clusulas com todos seus literais indexados. Se C 1' e C2' so
isntncias de C1 e C2 , respectivamente, e se C' um resolvente indexado de C 1' e C2' , ento
existe um resolvente indexado C de C1 e C2 tal que C' uma instncia de C.
Agora vai-se provar a completude da resoluo indexada para o caso base.
Lema 6.3: Sendo S um conjunto de clusulas base, onde todos os literais em S esto
indexados com um inteiro. Se S insatisfatvel, ento existe uma deduo indexada da clusula
vazia  a partir de S.
Prova: Seja k(S) definido como o nmero de ocorrncias de literais em S menos o nmero de
clusulas em S. k(S) chamado de parmetro de excesso de literal. Prova-se o Lema 6.3 por
induo sobre k(S). Se  est em S, o Lema 6.3 bvio. Assumindo que  no est em S. Se
k(S) = 0, ento S consiste somente de clusulas unitrias. Uma vez que S insatisfatvel, existe
um literal L tal que iL e j~L esto em S, onde i e j so os ndices de iL e j~L, respectivamente.
Certamente,  um resolvente indexado de iL e j~L. Assim, o Lema 6.3 vlido para k(S) = 0.
Assumindo que o Lema 6.3 permanece vlido quando k(S) < n. Para completar a induo,
considera-se o caso onde k(S) = n e n > 0. Uma vez que k(S) > 0, existe pelo menos uma
clusula no unitria em S. Sendo r o ndice mais alto entre todas as clusulas no unitrias de
S e C = C' rL a clusula no unitria que tem um literal rL indexada com r, onde C' uma
clusula no vazia. Seja S1 = (S - {C}) {C'} e S2 = (S - {C}) {rL}. Certamente, S1 e S2
so insatisfatveis. Entretanto, k(S 1) < n e k(S2) < n. Portanto, pela hiptese de induo,
existem resolues indexadas D1' e D2' de  a partir de S1 e S2 , respectivamente. Sendo D1 a
deduo obtida a partir de D1' colocando rL e C' juntos novamente. De modo claro, D 1 tambm
uma resoluo indexada uma vez que r o ndice mais alto em uma clusula relacionada a
qualquer n no inicial de D1. D1 uma deduo indexada de  ou rL a partir de S. Se for do
primeiro () a prova est concluda. Se for do ltimo, combinando D 1 e D2', obtm-se uma
deduo indexada de  a partir de S. Isto completa a prova do Lema 6.3.

89

Teorema 6.3 (Completude da Resoluo Indexada): Sendo S um conjunto de clusulas,


onde cada literal em S est indexado com um nmero inteiro. Se S insatisfatvel, ento existe
uma resoluo indexada da clusula vazia  a partir de S.
Prova: Uma vez que S insatisfatvel, pelo Teorema de Herbrand (verso II) existe um
conjunto finito insatisfatvel S' de instncias base das clusulas em S. Pelo Lema 6.3, existe
uma deduo indexada D' de  a partir de S'. Usando o Lema 6.2 e um processo similar ao
visto na prova do Teorema 6.1, pode-se transformar D' para produzir uma deduo indexada
de  a partir de S. Isto completa a prova.
Apesar da resoluo indexada ser completa, ela no compatvel com a maioria das
estratgias de resoluo. Por exemplo, a combinao de resoluo indexada com a estratgia
de eliminao no completa, bem como resoluo indexada no compatvel com a
estratgia de conjunto de apoio. (Observe os exerccios 20 e 21 deste captulo). Resoluo
indexada um refinamento muito restritivo de resoluo, mas ainda assim uma regra de
inferncia muito eficiente.
6.10 EXERCCIOS
Seo 6.3
1. Determine se os seguintes conjuntos de clusulas, interpretaes e ordenaes de tomos,
constituem PI-conflitos. Se sim, encontre os PI-resolventes, caso contrrio, d as razes pelas
quais no se configuram PI-coonflitos.
(a)
E1 = P, E2 = Q, E3 = R, N = ~P ~Q ~R ~W
I = {~P, ~Q, ~R, W}
P<Q<R<W
(b)
E1 = A1 A3 , E2 = A2 A3 , N = ~A1 ~A2 A3
I = {~A1, ~A2, ~A3}
A1 > A2 > A3
(c)
E1 = A1 A3 , E2 = A2 A3 , N = ~A1 ~A2 A3
I = {~A1, ~A2, ~A3}
A3 > A1 > A2
(d)
E1 = P(a), E2 = Q(a,b) S(b,c), N = ~P(x) ~Q(x,y) R(x)
I = {~P(a), P(b), ~Q(a,b), ~S(b,c), ~R(a)}
P>Q>R>S
2. Prove o seguinte teorema: Para um caso base, o ncleo N de um PI-conflito verdadeiro
em I, e para o caso geral (no base), existe pelo menos uma instncia N' de N tal que N'
verdadeiro em I.
3. Sendo S = {P, Q ~P, R ~P, ~P ~Q ~R}. Prove que S insatisfatvel por resoluo
semntica. Os seguintes casos devem ser considerados:
(a)
I = {~P, ~Q, ~R}
;
P>Q>R
(b)
I = {P, Q, R}
;
Q>P>R
(c)
I = {~P, ~Q, R}
;
R>Q>P
Seo 6.4
4. Prove o Teorema 6.1 usando a tcnica de rvore semntica, isto , a tcnica dada na prova
do Teorema 5.3. (Para maiores detalhes, e se for possvel, consulte KOWALSWKI, R. e
HAYES, P.J. Semantic trees in automatic theorem-proving, in Machine Intelligence, Vol. 4, (B.
Meltzer e D. Michie, eds.), American Elsevier, New York, pp. 87-101, 1969).
90

5. Prove que a estratgia de eliminao compatvel com a PI-resoluo, isto , que a


combinao da estratgia de eliminao com a PI-resoluo completa.
Seo 6.5
6. Sendo S = {P Q, ~P Q, P ~Q, ~P ~Q} e P > Q. Prove que S insatisfatvel atravs:
(a) de hiperresoluo positiva
(b) de hiperresoluo negativa
7. Considere o exemplo 5.16. Nesse exemplo, tem-se o seguinte conjunto de clusulas S:
S = {~T(x,y,u,v) P(x,y,u,v), ~P(x,y,u,v) E(x,y,u,v,y), T(a,b,c,d) ~T(a,b,c,d,b)}
Prove que S insatisfatvel por:
(a) de hiperresoluo positiva
(b) de hiperresoluo negativa
Traduza cada passo da prova em Portugus. Que deduo corresponde ao raciocnio forward
(ou backward)?
8. Sendo S, o seguinte conjunto de clusulas:
(1)
M(a,s(c),s(b))
(2)
P(a)
(3)
M(x,x,s(x))
(4)
~M(x,y,z) M(y,x,z)
(5)
~M(x,y,z) D(x,z)
(6)
~P(x) ~M(y,z,u) ~D(x,u) D(x,y) D(x,z)
(7)
~D(a,b)
Considerando como conjunto de apoio a clusula (7). Prove a insatisfiabilidade de S atravs da
estratgia de conjunto de apoio.
9. Reconsidere o Exemplo 5.21, onde se tinha o seguinte conjunto de clusulas:
(1)
P(a)
(2)
~D(y) L(a,y)
(3)
~P(x) ~Q(y) ~L(x,y)
(4)
D(b)
(5)
Q(b)
Considerando como conjunto de apoio as clusulas (4) e (5). Prove a insatisfiabilidade do
conjunto de clusulas acima atravs da estratgia de conjunto de apoio. Traduza a prova
completa para o Portugus.
Seo 6.6
10. Considere o seguinte conjunto de clusulas ordenadas:
S = {P Q, ~P Q, P ~Q, ~P ~Q}
Sendo I = {P, Q}. Prove a insatisfiabilidade de S atravs de OI-resoluo.
11. No Exemplo 6.18, mostrou-se um contra-exemplo para mostrar que OI-resoluo no
completa. Voc capaz de mostrar outro contra-exemplo?
Seo 6.7
12. Sendo S = {~P ~Q ~R, P, Q, R}:
(a) use o algoritmo mencionado na seo 6.7 para provar que S insatisfatvel.
(b) use, novamente, o mesmo algoritmo sem o conceito de clusulas ordenadas, isto ,
no Passo 6, o literal resolvido de C2 no est restrito a ser o ltimo literal de C2 .
(c) compare o nmero de clusulas geradas em cada caso.
13. Use o algoritmo da Seo 6.7 para provar os teoremas dados em:
(a) Exemplo 5.21
(b) Exemplo 5.22.
14. Mostre que se um conjunto ordenado de clusulas S insatisfatvel, ento  pode ser
gerado pelo algoritmo da Seo 6.7.
91

Seo 6.8
15. Sendo S = {P, Q, R, W, ~P ~Q ~R ~W}.
(a) se resoluo ordinria usada, quantos resolventes sero gerados a partir de S pelo
mtodo de saturao antes de  ser gerada?
(b) atribua ndices aos literais de S. Se resoluo indexada usada, quantos resolventes
indexados sero gerados a partir de S pelo mtodo de saturao antes de  ser gerada?
(c) compare o nmero de clusulas geradas em cada caso.
16. Considere os conjuntos de clusulas S dados no Exemplo 6.18, faa a indexao dos
literais em S como segue:
(1)
7P 1Q
(2)
8Q 2R
(3)
9R 3W
(4)
~10R ~4P
(5)
~11W ~5Q
(6)
~12Q ~6R
Deduza a clusula vazia  a partir de S por resoluo indexada.
17. Considere o seguinte conjunto de clusulas (este conjunto foi tomado do Exemplo 5.22):
(1)
1~E(x) 2V(x) 3S(x,f(x))
(2)
4~E(x) 5V(x) 6C(f(x))
(3)
7P(a)
(4)
8E(a)
(5)
~9S(a,y) 10P(y)
(6)
~11P(x) ~12V(x)
(7)
~13P(x) ~14C(x)
Deduza a clusula vazia  a partir do conjunto de clusulas acima por resoluo indexada.
Seo 6.9
18. Prove o Lema 6.2.
19. Para qualquer conjunto arbitrrio S de clusulas:
(a) encontre um mtodo para indexar todo literal em S tal que o conjunto de todos os
resolventes indexados de S seja igual ao conjunto de todos os resolventes ordinrios
(sem refinamentos) de S, isto , simule resoluo atravs de resoluo indexada.
(b) simule hiperresoluo positiva atravs de resoluo indexada.
20. Encontre um contra-exemplo para mostrar que a combinao de estratgia de eliminao e
resoluo indexada no completa.
20. Encontre um contra-exemplo para mostrar que a combinao de estratgia de conjunto de
apoio e resoluo indexada no completa.

92

CAPTULO 7 - RESOLUO LINEAR


7.1 INTRODUO
Quando se est provando uma indentidade, geralmente, se inicia pelo lado esquerdo da
identidade, aplica-se uma regra de inferncia para obter alguma outra expresso, ento aplicase alguma outra regra de inferncia sobre a expresso recm obtida e repete-se esta operao
at que o lado esquerdo da expresso idntico ao lado direito da expresso da identidade. A
idia de resoluo linear semelhante a este tipo de raciocnio em cadeia. Ele inicia com uma
clusula, resolve esta clusula contra outra para obter um resolvente, ento resolve este
resolvente contra alguma clusula at que a clusula vazia  seja encontrada.
A caracterstica principal de deduo linear sua estrutura simples. Alm disso,
resoluo linear completa e compatvel com a estratgia de conjunto de apoio. Em adio,
ser mostrado que mtodos heursticos podem ser convenientemente aplicados em conjunto
com ela. Porm, entre todas as suas vantagens, a que nos parece ser mais interessante a sua
facilidade de ser implementada em um computador.
7.2 RESOLUO LINEAR
Definio: Dado um conjunto de clusulas S e uma clusula C0 em S, uma deduo linear de
Cn a partir de S considerando como clusula de partida C0, uma deduo da forma mostrada
na figura 7.1, onde:
1. para i = 0, 1, ... , n-1, Ci+1 um resolvente de Ci (chamada clusula central) e Bi (chamada
de clusula lateral), e
2. cada Bi est em S, ou um Cj para algum j, j < i.
C0

C1

C2

C n-1

n-1

Cn

Figura 7.1 Deduo linear de Cn a partir de S considerando como clusula de partida C0


Exemplo 7.1: Sendo S = {P Q, ~P Q, P ~Q, ~P ~Q}. Ento a figura 7.2 a deduo
linear de  a partir de S, tendo como clusula de partida P Q. Existem quatro clusulas
laterais. Trs delas esto em S, enquanto que, uma delas, Q (sublinhada), um resolvente
gerado antes de  ser deduzido.

93

PvQ

~PvQ

Pv~Q

~Pv~Q

~Q

Figura 7.2 Deduo linear de  a partir de S, tendo como clusula de partida P Q.


Exemplo 7.2: Considere o conjunto de clusulas S = {M(a,s(c),s(b)), P(a), M(x,x,s(x)),
~M(x,y,z) M(y,x,z), ~M(x,y,z) D(x,z), ~P(x) ~M(y,z,u) ~D(x,u) D(x,y) D(x,z),
D(a,b)}. Ento a figura 7.3 a deduo linear de  a partir de S.
~D(a,b)

~P(w) v ~M(x,y,z) v ~D(w,z) v D(w,x) v D(w,y)

~P(a) v ~M(x,b,z) v ~D(a,z) v D(a,x)

~D(a,b)

~P(a) v ~M(b,b,z) v ~D(a,z)

M(x,x,s(x))

~P(a) v ~D(a,s(b))

P(a)

~D(a,s(b))

~M(x,y,z) v D(x,z)

~M(a,y,s(b))

M(a,s(c),s(b))

Figura 7.3 Deduo linear de  a partir de S para o Exemplo 7.2.


A deduo linear introduzida nesta seo uma forma primitiva e ser modificada
gerando a OL-deduo discutida na seo 7.4. A prova de completude da resoluo linear
dada na seo 7.5.
7.3 RESOLUO POR ENTRADA E RESOLUO UNITRIA
Quando se considera um refinamento de resoluo, se deseja que este seja completo,
isto , que garanta que a clusula vazia ser sempre encontrada a partir de um conjunto
insatisfatvel de clusulas. Entretanto, a eficincia do processo tambm importante na prova
automtica de teoremas. Algumas vezes, pode-se necessitar trocar a completude pela
eficincia. Isto , podem existir alguns refinamentos para resoluo que so eficientes, mas
incompletos. Se um refinamento da resoluo eficiente e poderoso o bastante para provar
uma grande classe de teoremas, mesmo sendo incompleto, ele ainda poder ser til. Nesta
94

seo, vai-se considerar aluns refinamentos para resoluo que apesar de incompletos se
mostraram bastante eficientes, so eles: resoluo por entrada e resoluo unitria. Elas so
muito mais fceis de implementar e, apesar de no completas, so muito mais eficientes que
resoluo linear. Vai-se mostrar que resoluo por entrada equivalente a resoluo unitria,
isto , os teoremas que podem ser provados por resoluo por entrada tambm podero ser
provados por resoluo unitria e vice-versa.
Dado um conjunto de clusulas S, uma vez que S o conjunto de entrada original,
pode-se chamar cada membro de S de clusula de entrada.
Definio: Uma resoluo por entrada uma resoluo na qual uma das duas clusulas pai
uma clusula de entrada. Uma deduo por entrada (para enfatizar o conjunto de entrada S, e
que algumas vezes pode ser chamada de deduo S-entrada) uma deduo na qual toda
resoluo uma resoluo por entrada. Uma refutao por entrada uma resoluo por
entrada de  a partir de S.
Uma deduo por entrada , na verdade, uma deduo linear onde toda clusula lateral
uma clusula de entrada e, portanto, uma subcaso da deduo linear.
Exemplo 7.3: Considere o seguinte conjunto de clusulas:
~P(x,y,u) ~P(y,z,v) ~P(x) ~P(x,v,w) P(u,z,w)
P(g(x,y),x,y)
P(x,h(x,y),y)
~P(k(x),x,k(x))
A figura 7.4 mostra uma refutao por entrada deste conjunto.
~P(x,y,u) v ~P(y,z,v) v ~P(x,v,w) v P(u,z,w)
P(g(x,y),x,y)

~P(y,z,v) v ~P(g(y,u),v,w) v P(u,z,w)

~P(v,z,v) v P(w,z,w)

P(w,h(v,v),w)

P(g(x,y),x,y)

P(x,h(x,y),y)

~P(k(x),x,k(x))

Figura 7.4 Refutao por entrada para o conjunto de clusulas do Exemplo 7.3
Definio: Uma resoluo unitria uma resoluo na qual um resolvente obtido usando-se
pelo menos uma clusula pai unitria, ou um fator unitrio de uma clusula pai. Uma deduo
unitria uma deduo na qual toda resoluo uma resoluo unitria. Uma refutao
unitria uma deduo unitria de .
Resoluo unitria , essencialmente, uma extenso da regra do literal-nico de Davis e
Putnam (veja seo 4.6) para a lgica de predicados. Esta regra especialmente importante,
pois para deduzir  a partir de um conjunto de clusulas, deve-se obter, sucessivamente,
clusulas menores, e resoluo unitria fornece um meio de progresso rpida em direo
clusulas menores. Prova-se agora a equivalncia entre resoluo por entrada e resoluo
unitria.
95

Lema 7.1: Existe uma refutao unitria a partir de um conjunto de clusulas base S se e
somente se existe uma refutao por entrada a partir de S.
Prova: O Lema 7.1 provado por induo. Sendo A o conjunto de tomos de S. Se A consiste
de um nico elemento, dito Q, ento, entre os elementos de S, existem as clusulas Q e ~Q.
Claramente, o resolvente de Q e ~Q a clusula vazia . Esta deduo , ao mesmo tempo,
uma refutao por entrada e unitria. Portanto, o Lema 7.1 vlido para este caso. Assuma
que o Lema 7.1 vlido quando A consiste de i elementos, 1 i n. Para completar a induo,
considera-se A tal que A consiste de, exatamente, n + 1 elementos.
(IDA) Se existe uma refutao unitria a partir de S, ento S deve conter no mnimo uma
clusula unitria, dita L, onde L um literal. Sendo S' o conjunto obtido a partir de S
eliminando-se as clusulas que contm o literal L e eliminando ~L das clusulas restantes.
Certamente, uma vez que existe uma refutao unitria a partir de S, deve existir uma
refutao unitria a partir de S' (a prova disto ser deixada como exerccio). Porm S' contm
n ou menos tomos. Pela hiptese da induo, existe uma refutao S'-entrada D' de S'. Sendo
D a deduo obtida a partir de D' acrescentando, novamente, o literal ~L de volta s clusulas
de onde ele foi eliminado. Sendo T a clusula associada ao n raiz de D, D uma deduo Spor entrada de T a partir de S. T deve ser  ou ~L. Se T , fica-se satisfeito. Se T ~L, podese obter  resolvendo T com L, que tambm uma clusula de entrada. Assim, a refutao
obtida a partir de D e a resoluo de T e L uma refutao por entrada a partir de S. Portanto
completou-se a prova da primeira parte do Lema 7.1.
(VOLTA) De modo inverso, se existe uma refutao por entrada a partir de S, ento S deve
conter, pelo menos, uma clusula unitria, denominada L, onde L um literal. Sendo:
S' = { S [Res(C,L) | C S]} - {todas as clusulas que contenham L ou ~L}
onde Res(C,L) representa o resolvente de uma clusula C e uma clusula L. Uma vez que
existe uma refutao S-entrada a partir de S, deve existir uma refutao S'-entrada a partir de
S'. Porm S' contm n ou menos tomos. Pela hiptese da induo, existe uma refutao
unitria a partir de S'. Entretanto, toda a clusula em S' membro de S ou um resolvente
obtido pela aplicao de resoluo unitria na clusula L e uma clusula em S. Portanto, existe
uma refutao unitria a partir de S. Isto completa a prova da segunda parte do Lema 7.1.
Teorema 7.1 (Equivalncia das Resolues por Entrada e Unitria): Existe uma refutao
unitria a partir de um conjunto de clusulas S se e somente se existe uma refutao por
entrada a partir de S.
Prova: (IDA) Se existe uma refutao unitria D1 a partir de S, ento a partir de D1 pode-se
obter uma refutao unitria base D1' substituindo-se a clusula C associada a cada n em D1
pela instncia base apropriada de C. Sendo S' o conjunto de clusulas base associado aos ns
iniciais de D1', pelo Lema 7.1, existe uma refutao por entrada D 2' a partir de S'. A partir de
D2' usando o Lema 5.1 (Lifting Lemma) pode-se obter a refutao por entrada D2 a partir de
S.
(VOLTA) A prova da segunda parte do Teorema 7.1 idntica a mostrada acima exceto que as
palavras "unitria" e "por entrada" so trocadas.
Dado um conjunto de clusulas S, se S tem uma refutao por entrada, ento, pelo
Teorema 7.1, pode-se tambm derivar  a partir de S aplicando resoluo unitria. Uma vez
que resoluo unitria mais fcil de implementar que resoluo por entrada, normalmente,
opta-se por implementar a resoluo unitria que se mostra bastante eficiente.
7.4 RESOLUO LINEAR USANDO CLUSULAS ORDENADAS E INFORMAO
DOS LITERAIS RESOLVIDOS
96

Pode-se limitar a resoluo linear introduzindo dois conceitos a ela. Um deles o


conceito de clusulas ordenadas. Como visto no Captulo 6 a incorporao deste conceito a
resoluo semntica aumenta bastante a sua eficincia, observar-se- que isto tambm
verdade para resoluo linear. Alm disso, de maneira contrria a resoluo semntica, a
incorporao do conceito de clusulas ordenadas na resoluo linear no destruir sua
completude. Outro conceito aquele que usa a informao dos literais resolvidos. Na
resoluo, quando um resolvente obtido, os literais resolvidos so eliminados. Na verdade, a
informao fornecida por estes literais bastante til e poder ser usada para melhorar a
resoluo linear.
Antes de introduzir o mecanismo de utilizao de informao sobre os literais
resolvidos, vai-se primeiro examinar um caso mais simples. Considere o conjunto de clusulas
definido como S = {P Q, P ~Q, ~P Q, ~P ~Q}, a figura 7.5 mostra uma refutao
linear a partir de S.
PvQ
Pv~Q

~PvQ

~Pv~Q

~P

Figura 7.5 Refutao linear para S = {P Q, P ~Q, ~P Q, ~P ~Q}


Note que uma das clusulas laterais (a clusula P) no uma clusula de entrada. De
fato, fcil ver que no existe uma prova unitria para este conjunto de clusulas. Assim, de
acordo com o Teorema 7.1, tambm no existe uma prova por entrada. Isto , o uso de uma
clusula central como uma clusula lateral inevitvel.
Seria interessante se fosse possvel encontrar uma condio necessria e suficiente, para
a qual uma clusula lateral deve ser uma clusula central previamente gerada. Isto , uma
clusula lateral uma clusula central previamente gerada quando e somente quando a
condio satisfeita.
Vai-se mostrar que se a informao dos literais resolvidos apropriadamente
armazenada e o conceito de clusulas ordenadas usado, est condio pode ser definida.
Ficar bvio, mais adiante, que o uso desta condio ir diminuir o nmero de resolues
possveis. Na verdade, isto ir permitir ainda mais, se for determinado que uma clusula lateral
deve ser uma clusula central previamente gerada, no ser necessrio nem determinar qual
clusula central utilizar. Portanto, no h a necessidade de se armazenar as clusulas centrais
previamente geradas. Isto simplifica enormemente a implementao computacional de
resoluo linear.
Vai-se discutir agora o mecanismo de armazenar a informao dos literais resolvidos.
Suponha que C1 e C2 so duas clusulas ordenadas como segue: C1 = P Q
C2 = ~Q R.
Existe um resolvente ordenada (ou seja, P R) de C1 contra C2, com Q e ~Q sendo os literais
resolvidos. Uma vez que Q e ~Q so complementares um em relao ao outro, necessita-se
somente armazenar um deles. Suponha que se convenciona armazenar Q, o ltimo literal de
97

C1. Ento, o resolvente ordenado pode ser representado por


, onde o literal
emoldurado o literal resolvido. Esta a maneira de como se armazena informao dos literais
resolvidos. Isto , os literais resolvidos so indicados atravs de literais emoldurados em uma
clusula ordenada. Os literais emoldurados servem apenas para armazenar aqueles literais que
foram resolvidos, ou seja, eles no participam da resoluo.
No esquema acima, se um literal emoldurado no seguido por nenhum literal no
emoldurado, deve-se eliminar este literal emoldurado. O porqu de se fazer isto ser explicado
mais adiante.
O algoritmo que aplica os conceitos de clusulas ordenadas e informao dos literais
resolvidos chamado de OL-deduo (deduo linear ordenada). Antes de apresentar o
algoritmo completo, vai-se usar um exemplo para descrev-lo.
Exemplo 7.4: Considere o conjunto ordenado de clusulas definido como: S = {P Q, P
~Q, ~P Q, ~P ~Q}. Uma refutao linear usando informao de literais resolvidos e o
conceito de clusulas ordenadas mostrado na figura 7.6, onde as clusulas centrais so
obtidas como segue:
1. Inicia-se com a clusula ordenada P Q como clusula de partida. O ltimo literal desta
clusula ordenada Q, que pode ser resolvido com P ~Q sobre ~Q. Portanto, resolver P
Q contra P ~Q e armazenando o literal Q, obtm-se o resolvente que representado
Q
por
. Uma vez que
no seguido por nenhum literal emoldurado, ele
eliminado. Portanto, obtm-se P, como mostrado na figura 7.6.
2. O ltimo literal da clusula ordenada obtida em (1) P, que pode ser resolvido contra ~P
Q sobre o literal ~P. Portanto, resolvendo P contra ~P Q e emoldurando o literal P,
obtem-se

3. O ltimo literal de
resolvendo

Q, que pode ser resolvido com ~P


contra ~P ~Q e armazenando Q, obtem-se

4. Agora obteve-se a clusula

~Q. Assim,
.

, que apresenta uma importante caracterstica.

Observe que o ltimo literal de


~P, que complementar a um dos literais
P
emoldurados, ou seja
. Esta a condio que se estava tentando encontrar antes, em
outras palavras, a clusula lateral neste passo deve ser uma clusula central, ou seja, a
P v
Q v ~P
clusla P. Resolvendo
com P sobre o literal ~P, obtem-se
.
Entretanto, nenhum destes literais emoldurados seguido por literais no emoldurados,
portanto, eles so eliminados obtendo-se a clusula vazia .
Como enfatizado antes, a clusula
especial, pois seu ltimo literal
complementar a um dos literais emoldurados da clusula. Toda vez que isto acontecer,
deve-se usar uma clusula central, anteriormente gerada, como clusula lateral. Denominase este tipo de clusula de clusula redutvel.

98

P vQ
P v~ Q

~P v Q

P vQ

~P v~ Q

P v Q v ~P

Figura 7.6 Refutao linear para S = {P Q, P ~Q, ~P Q, ~P ~Q} usando informao


dos literais resolvidos e o conceito de clusulas ordenadas.
Definio: Uma clusula ordenada C uma clusula ordenada redutvel se e somente se o
ltimo literal de C unificvel com a negao de um literal emoldurado de C.
Na verdade, sempre que uma clusula ordenada reduzida gerada, no necessrio
fazer a busca na memria das clusulas centrais deduzidas para resolv-la. Ao invs disto,
simplesmente elimina-se o ltimo literal desta clusula ordenada. Por exemplo, quando
gerada, simplesmente elimina-se ~P de
e obtem-se
P
Q
. Uma vez que
e
no so seguidos por nenhum literal no emoldurado, eles
so eliminados e obtem-se a clusula vazia . Denomina-se esta operao de reduo de uma
clusula ordenada redutvel.
Definio: Sendo C uma clusula ordenada redutvel e o ltimo literal L unificvel com algum
literal emoldurado tendo como unificador mais geral . A clusula ordenada reduzida de C a
clusula ordenada obtida de C eliminando L e todo os literais emoldurados subsequentes
que no so seguidos por nenhum literal no emoldurado.
Uma vez que a reduo de clusulas redutveis incorporada OL-deduo, no ser
mais necessrio armazenar clusulas intermedirias. Este importante aspecto da OL-deduo
torna-a bastante propcia a implementao computacional. Note que a eliminao de uma
clusula ordenada redutvel, por si s, j diminui o nmero de possibilidades de resolues. A
introduo deste mecanismo de reduo efetivamente reduz este nmero a apenas uma
resoluo.
Agora va-se definir formalmente a OL-deduo. Na seqncia, uma clusula ordenada
pode conter tanto literais emoldurados quanto no emoldurados. Para levar isto em
considerao, repete-se as definies de um fator ordenado, um resolvente binrio ordenado e
um resolvente ordenado, dados na seo 6.6.
Numa clusula ordenada, se existe mais de uma ocorrncia do mesmo literal no
emoldurado, sempre se mantm somente o literal mais esquerda na clusula, eliminando os
outros literais idnticaos no emoldurados. Esta operao chamada de agrupamento
esquerda de literais idnticos no emoldurados. Por exemplo, agrupando esquerda os literais

99

P
v
Q
v
idnticos
no
emoldurados
em
v
Q v
R
v
S
.

v
Q
obtem-se

Definio: Se dois ou mais literais no emoldurados (com o mesmo sinal) de uma clusula
ordenada C, tem um unificador mais geral , ento a clusula ordenada obtida da seqncia
C, pelo agrupamento esquerda de qualquer literal idntico em C e pela eliminao de todo
literal emoldurado que no seguido por nenhum literal no emoldurado na clusula restante e
chamada de fator ordenado de C.
Definio: Sendo C1 e C2 duas clusulas ordenadas, sem variveis em comum e L1 e L2 dois
literais no emoldurados em C1 e C2 , respectivamente. Se L1 e ~L2 tem um unificador mais
geral e se C* a clusula ordenada obtida concatenando-se as seqncias C1 e C2,
emoldurando L1, removendo L2 e agrupando esquerda todo literal idntico na seqncia
restante. Sendo C obtido a partir de C* pela remoo de todo literal emoldurado no seguido
por literais no emoldurados em C* , ento C chamado de resolvente binrio ordenado de C1
contra C2. Os literais L1 e L2 so chamados de literais resolvidos.
Definio: Um resolvente ordenado de uma clusula ordenada C1 contra uma clusula
ordenada C2 um dos seguintes resolventes binrios ordenados:
1. um resolvente binrio ordenado de C1 contra C2,
2. um resolvente binrio ordenado de C1 contra um fator ordenado de C2,
3. um resolvente binrio ordenado de um fator ordenado de C1 contra de C2,
4. um resolvente binrio ordenado de um fator ordenado de C 1 contra um fator
ordenado de C2 .
Definio: Dados um conjunto de clusulas ordenadas S e uma clusula ordenada C 0 em S,
uma OL-deduo de Cn a partir de S tendo como clusula ordenada inicial C 0 uma deduo
da forma mostrada na figura 7.7 que satisfaz as seguintes condies:
1. Para i = 0, 1, 2, ... , n-1, Ci+1 um resolvente ordenado de Ci (chamada clusula central
ordenada); o literal resolvido em Ci (ou uma fator ordenado de Ci ) o ltimo literal.
2. Cada Bi uma clusula ordenada em S ou uma instncia de algum C j, j < i. Bi uma
instncia de algum Cj, j < i, se e somente se C i uma clusula ordenada redutvel. Neste
caso, Ci+1 a clusula ordenada reduzida de Ci .
3. No existem tautologias na deduo.
C0
B
0

C1

C2

C n-1

Cn
100

n-1

Figura 7.7 OL-deduo de Cn a partir de S considerando como clusula de partida C0


A definio de clusula ordenada pode ser usada para provar o seguinte Lema, cuja
prova ser deixada como exerccio.
Lema 7.2: Em uma OL-deduo, se C uma clusula ordenada redutvel, ento existe uma
clusula ordenada central Cj, j < i, tal que a clusula ordenada reduzida Ci+1 de Ci um
resolvente ordenado de Ci contra uma instncia de Cj.
1.
2.
3.

Deste modo as condies em uma OL-deduo podem ser fixadas como:


Todo Bi est em S ou uma instncia de algum Cj, j < i.
Se Ci uma clusula ordenada redutvel, ento Ci+1 a clusula ordenada reduzida de C i.
Caso contrrio, Ci+1 um resolvente ordenado de Ci com Bi em S onde o literal resolvido
em Ci o ltimo literal.
Nenhuma tautologia est presente na deduo.

Definio: Uma OL-refutao uma OL-deduo de .


Exemplo 7.5: Considere o conjunto de clusulas ordenadas S = {P Q, ~Q R, R ~P, ~Q
~R, ~P ~R}. Ento a figura 7.8 uma OL-deduo de  a partir de S tendo como clusula
ordenada de partida P Q. Observe que C2 e C5 so clusulas ordenadas redutveis. Apesar da
resoluo no ser necessria nestes passos, as clusulas laterais se encontram representadas
atravs de linhas tracejadas. Por exemplo, B2 P Q, que a clusula de partida C0, e B5 P,
que C3 deduzido nesta refutao.
C0

C1

B0

~Q v ~R

B1

PvQ

B2

R v ~P

B3

~P v ~R

B4

B5

Pv Q vR

C2

P v Q v R v ~Q

C3

C4

P vR

C5

~Q v R
PvQ

P v R v ~P

Figura 7.8 OL-deduo de  a partir de S tendo como clusula ordenada de partida P Q


Exemplo 7.6: No exemplo 7.2, foi apresentado um exemplo de deduo linear sem o conceito
de clusulas ordenadas e informao sobre os literais resolvidos. Na figura 7.9, prova-se o
mesmo exemplo usando OL-deduo.

101

~P(w) v ~M(x,y,z) v ~D(w,z) v D(w,x) v D(w,y)


~D(a,b)
~D(a,b)
~D(a,b) v ~P(a) v ~M(x,b,z) v ~D (a,z) v D(a,x)
~M(x,y,z) v D(x,z)
~D(a,b) v ~P(a) v ~M(b,b,z) v ~D(a,z)
~M(a,s(c),s(b))
~D(a,b) v ~P(a) v ~M(b,b,z) v ~D(a,z) v M(a,y,z)
~M(x,x,,s(x))
~D(a,b) v ~P(a) v ~M(b,b,s(b))
P(a)
~D (a,b) v ~P(a)

Figura 7.9 OL-deduo das clusulas do Exemplo 7.2


7.5 COMPLETUDE DA RESOLUO LINEAR
Nesta seo vai-se provar a completude da OL-deduo, para isto prova-se,
inicialmente, o seguinte lema.
Lema 7.3: Se C uma clusula ordenada base em um conjunto insatisfatvel de clusulas
ordenadas base S e se S - {C} satisfatvel, ento existe uma OL-refutao a partir de S tendo
como clusula ordenada de partida C.
Prova: Prova-se este lema por induo sobre o nmero de elementos no conjunto de tomos
de S. Seja A o conjunto de tomos de S. Se A consiste de um nico elemento, denominado Q,
ento entre os elementos de S existem as clusulas ordenadas Q e ~Q. Certamente, o
resolvente de Q e ~Q . Uma vez que S - {C} satisfatvel, Q ou ~Q deve ser C. Portanto o
Lema 7.3 vlido para este caso.
Assuma que o Lema 7.3 vlido qaundo A consiste de i elementos, 1 i n. Para
completar a induo, considera-se A tal que A consiste de exatamente n + 1 elementos.
CASO 1: C uma clusula unitria. Seja C L, onde L um literal. Sendo S' o conjunto
obtido a partir de S pela eliminao das clusulas ordenadas contendo L e pela eliminao de
~L das clusulas ordenadas restantes, S' deve ser instatisfatvel. Seja T' um subconjunto
insatisfatvel de S' tal que todo subconjunto prprio de T' satisfatvel (esta subconjunto pode
ser obtido considerando, exaustivamente, todos os subconjuntos possveis de S'). T' deve
conter alguma clusula ordenada E' que foi obtida a partir de uma clusula em S pela
eliminao do literal ~L, pois caso contrrio T' seria um subconjunto de S - {C} que, nesta
caso, seria insatisfatvel, violando o fato de que satisfatvel. Tem-se agora uma clusula
ordenada E' no conjunto insatisfatvel de clusulas T' e T' - {E} satisfatvel. Uma vez que T'
contm n ou menos tomos, pela hiptese induzida, existe uma OL-refutao D' a partir de T'
com clusula de partida E' como mostrado na figura 7.10 (a). Adicionando novamente o literal
~L, no seu lugar correto, em todas as clusulas ordenadas das quais ele foi eliminado, com
exceo da clusula ordenada de partida E' e obtendo E' pela resoluo de L contra E, obtemse a deduo D de  ou (~L) como mostrado na figura 7.10 (b).
Na figura 7.10 (b), o smbolo ( ~L) significa a adio do literal ~L no lugar de onde
ele foi originalmente eliminado. Mostra-se agora que D tambm uma OL-deduo.

102

E'

C1
C

L v E'

B0 (v ~L)

L v C1 v (~L)

B1 (v ~L)

L v Cn-1 v (~L)

n-1

n-1

Cn

n-1

(v ~L)

(a)
(v ~L)
(b)
Figura 7.10 (a) OL-refutao D' a partir de T' com clusula de partida E'
(b) Deduo D de  ou (~L)
Note que nenhuma clusula em D uma tautologia, uma vez que D obtido a partir de
D', que no contm nem uma tautologia nem o literal L. Observe tambm que se ~L no
aparece como ltimo literal de uma clusula central, ento a resoluo em D exatamente
igual a resoluo em D'. Se ~L aparece como ltimo literal de uma clusula central, ento ~L
deve ser resolvido. Neste caso, substitui-se a parte de D mostrada na figura 7.11 (a) pela
L v C v (~L)
L vC
i
i
deduo mostrada na figura 7.11 (b). Fica bvio que
redutvel e
obtido pela operao de reduo.
L v Ci v (~ L)

L v Ci v (~L)
B i (v ~L)

L
L v Ci

L v Ci+1 v (~ L)
(a)

B i (v ~L)

L v Ci+1 (v ~ L)

(b)
Figura 7.11 (a) Parte de D onde ~L aparece como ltimo literal de uma clusula central
(b) Substituio da parte de D onde ~L aparece como ltimo literal de uma clusula central,
utilizando-se a operao de reduo
Aps fazer estas substituies sempre que requerido na figura 7.10 (b), obtem-se uma
L v ~L
OL-deduo D* de  ou
a partir de S com clusula ordenada de partida C. Se D*
103

uma deduo de , a prova est pronta. Caso contrrio, D *, juntamente com a resoluo de
L v ~L
contra L, uma OL-refutao a partir de S com clusula ordenada de partida C.
CASO 2: C no uma clusula unitria. Neste caso, sendo L o primeiro (mais a esquerda)
literal em C, isto , C L C', onde C' uma clusula ordenada no vazia e S' o conjunto
obtido a partir de S pela eliminao das clusulas ordenadas contendo ~L e eliminando L das
clusulas ordenadas restantes, ento S' insatisfatvel. Deve-se mostrar que S' - {C'}
satisfatvel. Seja I uma interpretao que satisfaz S - {C} (este I existe, pois S - {C}
satisfatvel). Uma vez que S insatisfatvel, C deve ser falso em I, portanto L falso em I.
Consequentemente, S' - {C'} verdadeiro em I. Deste modo S' - {C'} satisfatvel. Uma vez
que S' contm n ou menos tomos, pela hiptese de induo existe uma OL-deduo D' de  a
partir de S' com clusula ordenada de partida C'. Adicionando o literal L, em seu lugar correto,
nas clusulas das quais ele foi eliminado, obtem-se uma OL-deduo D1 de L a partir de S com
clusula ordenada de partida C. Agora, {L} (S - {C}) insatisfatvel e S - {C} satisfatvel.
Como provado na Caso 1, existe uma OL-deduo D 2 de  a partir de {L} (S - {C} com
clusula ordenada de partida {L}. Colocando D1 no topo de D2, obtem-se uma OL-refutao
a partir de S com clusula ordenada de partida C. Isto completa a prova.
Teorema 7.2 (Completude da OL-deduo): Se C uma clusula ordenada em um conjunto
insatisfatvel S de clsulas ordenadas e se S - {C} satisfatvel, ento existe uma OL-refutao
a partir de S com clusula ordenada de partida C.
Prova: Uma vez que S insatisfatvel e S - {C} satisfatvel, pelo Teorema de Herbrand
(verso II) existe um conjunto finito S' de instncias base das clusulas ordenadas de S e uma
instncia base C' de C tal que S' insatisfatvel, C' est em S' e S' - {C'} satisfatvel. Pelo
Lema 7.3, existe uma OL-refutao D' a partir de S' com clusula ordenada de partida C'.
Usando o Lema 5.1 (Lifting Lemma), a partir de D', pode-se obter uma OL-refutao a partir
de S com clusula ordenada de partida C. Isto completa a prova.
Pode ser provado rapida e facilmente que a resoluo por conjunto de apoio
implicada pela OL-resoluo, isto , o Teorema 7.2 implica no Teorema 6.2, dexa-se esta
prova como exerccio.
7.6 DEDUO LINEAR E BUSCA EM RVORE
Nas sees subsequentes, vai-se discutir um problema bastante importante da deduo
linear, ou seja, como implementar deduo linear eficientemente.
Escolhendo a clusula C0 como clusula de partida, pode-se encontrar todas as
clusulas laterais possveis. Aps resolver C0 com estas possveis clusulas laterais, obtem-se
os resolventes R1 , ... , Rm. Todo Ri, 1 i m, uma possvel clusula central que pode levar a
uma prova. Se algum Ri a clusula vazia, chegou-se ao objetivo. Caso contrrio, para todo i,
encontra-se todas as possveis clusulas laterais que podem ser resolvidas com Ri e continua-se
o processo at que a clusula vazia gerada. De maneira a melhor descrever o processo acima,
uma rvore de deduo linear mostrada na figura 7.7 ser representada por um caminho como
mostrado na figura 7.12, isto , a clusula lateral Bi associada a um arco no caminho e Ci
um resolvente de Ci-1 e Bi-1 . Na seqncia, vai-se implementar a OL-deduo.

104

C0
C1
C2

B
B

C n-1
B
Cn

n-1

Figura 7.12 Caminho onde a clusula lateral Bi associada a um arco no caminho e Ci um


resolvente de Ci-1 e Bi-1
Vai-se primeiro considerar um exemplo, no qual tautologias so includas com
propsitos ilustrativos. Considere o seguinte conjunto de clusulas:
(1)
PQ
(2)
~P Q
(3)
P ~Q
(4)
~P ~Q
Escolhendo a clusula (1) como sendo a clusula de partida C0. As clusulas ordenadas
que podem ser consideradas clusulas laterais de C0 so (3) e (4). Resolvendo C0 com as
clusulas (3) e (4), obtem-se a rvore mostrada na figura 7.13. Foram geradas duas clusulas
centrais. Para cada uma destas clusulas, pode-se encontrar todas as clusulas laterais a serem
resolvidas e continuar a resoluo mostrada na rvore da figura 7.13, gerando a rvore da
figura 7.14.
Pv Q

Pv~ Q

~Pv~ Q
Pv Q v ~P

Figura 7.13 rvore de Deduo considerando a clusula (1) como sendo a clusula de partida
C0 e como clusulas laterais (3) e (4)
PvQ

P v~ Q

~P v~ Q
P v Q v ~P

P
~P v Q

P v Q

PvQ

~P v~ Q

P v ~Q

Pv Q

v ~P v Q

P v~ Q

P v Q

v ~P

Figura 7.14 Continuao da rvore de Deduo da figura 7.13

105

v~Q

Quando um resolvente ordenado gerado, sempre se checa se ele redutvel. Se for,


PvQ ~PvQ

sempre se reduz a clusula ordenada reduzida correspondente. Na figura 7.14, redutvel.


Sua clusula ordenada reduzida P. Portanto a rvore da figura 7.14 pode ser simplificada
para a rvore mostrada na figura 7.15.
Pv Q

P v~ Q

~P v~ Q
P v Q v ~P

P
~P v Q

Pv Q

~P v~ Q

P vQ

Pv Q

P v ~Q

P v~ Q

v ~P v Q

Figura 7.15 rvore de Deduo da figura 7.14 aps reduo das clusulas redutveis
Agora existem quatro clusulas centrais possveis. Novamente, para cada clusula
central, encontra-se todas as clusulas possveis de se resolver. Deste modo obtem-se a rvore
mostrada na figura 7.16.
Pv Q

P v~ Q

~P v~ Q
P v Q v ~P

P
~P v Q
P vQ

P v ~Q

~P v~ Q

P v Q v ~P

P v~ Q

Pv Q

PvQ

~P v~ Q

vP

Pv Q

Pv Q

~P v Q

P v~ Q

v ~P v Q

P v~ Q

P v ~Q v P P v ~Q v ~P

P
~P v~ Q

~P v Q

P vQ
P v Q

v ~P v Q

~P v~ Q

v ~Q

v ~P

Figura 7.16 Continuao da rvore de Deduo da figura 7.15


Os resolventes ordenados
e
obtem-se a rvore mostrada na figura 7.17.

106

so redutveis. Fazendo a reduo,

PvQ

P v~ Q

~P v~ Q
P v Q v ~P

P
~P v Q

PvQ

~P v~ Q

P vQ

Pv Q

P v ~Q

~P v~ Q

P v~ Q

Pv Q

vP

PvQ

~P v Q

v ~P v Q

P v~ Q

P
~P v~ Q

P v ~Q v P

P v~ Q

~P v Q

P vQ
P v Q

v ~P v Q

~P v~ Q

v ~Q

v ~P

Figura 7.17 rvore de Deduo da figura 7.16 aps reduo das clusulas redutveis
Uma vez que a clusula vazia foi gerada, o processo encerrado. O ramo mais a
esquerda da rvore da figura 7.17 corresponde a OL-refurao mostrada na figura 7.18.
PvQ

Pv~Q
P
~PvQ
P vQ
~Pv~Q
P v Q v ~P
P

Figura 7.18 OL-refutao obtida a partir da figura 7.17


Nota-se que o problema de encontrar uma OL-refutao pode ser visto como uma
problema de busca em rvore. Vrias tcnicas desenvolvidas originalmente para busca em
rvore podem ser aplicadas OL-deduo.
No exemplo anterior o mtodo utilizado para gerar a rvore da figura 7.17 chamado
de mtodo breadth-first (busca em largura). Na terminologia de busca em rvore, C 0 o n
inicial da rvore. As clusulas laterais podem ser consideradas como operadores, que podem
ser usados para gerar os ns sucessores de um n. Sendo C uma clusula ordenada que
representa um n, encontre todas as clusulas laterais possveis de resolver com C e gere os
resolventes ordenados R1, ... ,Rm. R1 , ... , Rm so chamados de ns sucessores imediatos de C.
Quando todos os possveis sucessores imediatos de um n C so gerados, diz-se que o n C
foi expandido. Isto , expandir um n significa gerar todos os seus sucessores imediatos.
Supondo que S um conjunto de clusulas a ser provado e C0 uma clusula ordenada
em S, selecionada como clusula de partida, ento o mtodo breadth-first pode ser descrito
como segue:
107

Mtodo de Busca em Largura (Breadth-First)


Passo 1: Faa CLIST = (C0).
Passo 2: Se CLIST vazio, pare sem obter uma prova. Caso contrrio, continue.
Passo 3: Faa C ser a primeira clusula ordenada em CLIST. Elimine C de CLIST.
Passo 4: Encontre todas as clusulas ordenadas em S que podem ser clusulas laterais em C.
Se no existir nenhuma destas clusulas, v para o Passo 2. Caso contrrio, resolva C com
todas estas clusulas laterais. Faa com que R1 , ... , Rm representem estes resolventes
ordenados. Faa Ri* ser a clusula ordenada reduzida de Ri se ela for redutvel. Se Ri no for
redutvel, faa Ri*= Ri.
Passo 5: Se algum Rq* uma clusula vazia, 1 q m, pare, pois a prova foi obtida; caso
contrrio, continue.
Passo 6: Coloque R1* , ... , Rm* (em uma ordem aleatria) no final de CLIST e v para o Passo
2.
Uma prova mnima para S com clusula de partida C0 uma OL-refutao (a partir de
S com clusula de partida C0) que envolve o menor nmero de resolues. O mtodo breadthfirst ir encontrar sempre a prova mnima se esta prova existir. Entretanto, obviamente, muitas
clusulas irrelevantes e redundantes podem ser geradas pelo mtodo de busca em largura antes
da clusula vazia ser gerada. Isto fica evidente noexemplo anterior. Outra maneira de busca em
rvore o mtodo de busca em profundidade (depth first method). A idia que, de modo
inverso ao mtodo de busca em largura que expande os ns de cima para baixo, o mtodo de
busca em profundidade expande os ns da esquerda para a direita. O mtodo de busca em
profundidade quase o mesmo que o de busca em largura, exceto que no Passo 6 coloca-se
R1* , ... , Rm* no incio de CLIST, ao invs de coloc-los no final. Em adio, deve-se fornecer
ao mtodo de busca em profundidade um limitante de profundidade com o intuito de evitar
expandir ns de um caminho infrutfero (ramo), isto , um caminho que no pode levar
clusula vazia. A profundidade de uma clusula em um OL-deduo definida como segue:
Definio: Em uma OL-deduo com uma clusula de partida C0, a profundidade de C0 0.
Se a profundidade de uma certa clusula ordenada k e R um resolvente ordenado de C e
alguma clusula lateral, ento a profundidade de R (k + 1). O tamanho de uma prova
(refutao) com a clusula de partida C0 a profundidade da clusula vazia.
Sendo d* um limiar especificado anteriormente, o algoritmo de busca em profundidade
pode ser descrito como segue:
Mtodo de Busca em Profundidade (Depth-First)
Passo 1: Faa CLIST = (C0).
Passo 2: Se CLIST vazio, pare sem obter uma prova. Caso contrrio, continue.
Passo 3: Faa C ser a primeira clusula ordenada em CLIST. Elimine C de CLIST. Se a
profundidade de C maior que d*, v para o Passo 2. Caso contrrio, continue.
Passo 4: Encontre todas as clusulas ordenadas em S que podem ser clusulas laterais em C.
Se no existir nenhuma destas clusulas, v para o Passo 2. Caso contrrio, resolva C com
todas estas clusulas laterais. Faa com que R1 , ... , Rm representem estes resolventes
ordenados. Faa Ri* ser a clusula ordenada reduzida de Ri se ela for redutvel. Se Ri no for
redutvel, faa Ri*= Ri.
Passo 5: Se algum Rq* uma clusula vazia, 1 q m, pare, pois a prova foi obtida; caso
contrrio, continue.
108

Passo 6: Coloque R1* , ... , Rm* (em uma ordem aleatria) no incio de CLIST e v para o
Passo 2.
bvio que aplicando o mtodo de busca em profundidade com d * = 2 na rvore da
figura 7.17 ser gerada a rvore mostrada na figura 7.19. Fica claro que a rvore da figura 7.19
menor que a da figura 7.17.
PvQ

P v~ Q

~P v~ Q

P
~P v Q

P v Q v ~P
~P v~ Q

P vQ
~P v~ Q

P v ~Q
P v~ Q

Pv Q

vP

Figura 7.19 Aplicao o mtodo de busca em profundidade com d* = 2 na rvore da figura


7.17
Apesar de, geralmente, o mtodo de busca em profundidade explorar uma rvore
menor que o mtodo de busca em largura faria, pode-se melhor-lo ainda mais. Nota-se que no
mtodo de busca em profundidade, quando um n escolhido para expanso, ele
completamente expandido. Isto , todos os possveis sucessores so gerados. Entretanto,
pode-se modific-lo de maneira que ele gere somente um sucessor de cada vez. Considere a
figura 7.19. O n de partida da rvore P Q. Existem dois sucessores deste n de partida,
Pv Q ~

que so, P e . Suponha que somente P seja gerado. Agora, P uma clusula central. Esistem
dois sucessores do n P. Suponha que somente

gerado, novamente

tem

somente dois sucessores, que so,  e


. Se somente  for gerada, obtm-se a clusula
vazia. O processo como um todo mostrado na figura 7.20, que ainda menor que a rvore
da figura 7.19. Devido a considerao acima, mostra-se um mtodo de busca em profundidade
modificado, onde d* um limiar previamente especificado.
PvQ

Pv~Q
P
~PvQ
P vQ

~Pv~Q

Figura 7.20 Aplicao o mtodo de busca em profundidade gerando um sucessor de cada vez
Mtodo de Busca em Profundidade Modificado (Modified Depth-First)
109

Passo 1: Encontre todas as clusulas ordenadas em S que podem ser clusulas laterais de C 0.
Se no existir nenhuma destas clusulas, pare sem obter uma prova. Caso contrrio, seja
B01 , ... , B0r todas estas clusulas laterais. Construa pares (C0 , B01) , ... , (C0 , B0r) e faa
CLIST ser a lista de todos estes pares arranjados em uma ordem aleatria.
Passo 2: Se CLIST vazio, pare sem obter uma prova. Caso contrrio, continue.
Passo 3: Faa (C , B) ser o primeiro par em CLIST. Elimine (C , B) de CLIST. Se a
profundidade de C maior que d*, v para o Passo 2. Caso contrrio, continue.
Passo 4: Resolva C com B. Faa com que R1 , ... , Rm representem todos os resolventes
ordenados de C contra B. Faa R i* ser a clusula ordenada reduzida de R i se ela for redutvel.
Caso contrrio, faa Ri*= Ri.
Passo 5: Se algum Rq* uma clusula vazia, 1 q m, pare, pois a prova foi obtida; caso
contrrio, continue.
Passo 6: Para cada i = 1, 2, ... , m, encontre as clusulas ordenadas em S que podem ser
clusulas laterais de Ri*. Se no existir nenhuma destas clusulas, elimine Ri*. Caso contrrio,
faa Bi1 ,Bi2 , ... , Bisi ser o conjunto de todas estas clusulas laterais. Construa pares (R i*,
Bi1) , ... , (Ri* , Bisi). Coloque todos estes pares (em uma ordem aleatria) no incio de CLIST
e v para o Passo 2.
Na maioria das situaes, tanto o bsico quanto o mtodo modificado de busca em
profundidade so melhores que o mtodo de busca em largura. Se o conjunto de clusulas
ordenado S tem uma prova com um tamanho menor que d* , ambas as verses do mtodo de
busca em profundidade garantem encontrar esta prova. Apesar o mtodo de busca em
profundidade modificado ser mais difcil de implementar que o mtodo bsico, ele bastante
superior. Na prxima seo, assume-se que o mtodo de busca em profundidade modificado
usado.
7.7 HEURSTICAS NA BUSCA EM RVORE
Nesta seo, vai-se discutir "heursticas" que podem ser usadas em conjunto com o
mtodo de busca em profundidade modificado no sentido de acelerar o processo de busca. O
uso de uma heurstica pode no garantir encontrar a prova, at mesmo se ela existir. Apesar
disto, ela , geralmente, uma ferramenta necessria para se provar teoremas grandes e difceis,
isto , teoremas com provas longas. Existem vrias heursticas no campo de prova de teoremas
e vai-se discutir apenas algumas delas, que serviro de base para que voc, at mesmo
desenvolva suas prprias heursticas. Note que apesar destas heursticas serem introduzidas
para o uso com o mtodo de busca em profundidade modificado, elas podem ser aplicadas a
outros tipos de resoluo, no necessariamente resoluo linear.
7.7.1 Estratgia de Eliminao
Uma clusula ordenada C1 dita englobar outra clusula ordenada C2 se e somente se
a clusula consistindo somente de literais no emoldurados de C1 engloba a clusula
consistindo somente de literais no emoldurados de C2. Uma clusula ordenada dita ser uma
tautologia se e somente se contm um par complementar de literais no emoldurados. Uma
vez que tautologias e clusulas englobadas so irrelevantes e redundantes, elas devem ser
eliminadas sempre que possvel. No mtodo de busca em profundidade modificado, no fim do
Passo 4 pode-se checar se Ri* uma tautologia, i = 1, ... , m. Se R i* uma tautologia, ele deve
ser eliminado. Mais ainda, se existe um par (C , B) em CLIST, tal que R i* englobado por C,
ento, Ri* tambm deve ser eliminado.
110

7.7.2 Estratgia da Preferncia por Poucos-Literais


No mtodo de busca em profundidade modificado, os pares de CLIST so arranjados
em uma ordem arbitrria. Na verdade, poder-se-ia arranjar os pares em CLIST de maneira que
pares "potencialmente" bons apaream antes dos "ruins". Assim, no Passo 3 do mtodo,
quando se pega o primeiro par de CLIST, pode-se estar certo que se tem nas mos um dos
"bons" que pode levar ao encontro de uma clusula vazia rapidamente.
Sendo o tamanho de uma clusula ordenada E, representado como tamanho(E) e
definido como o nmero de literais no emoldurados em E. Suponha que (C , B) um par em
CLIST. Seja R representando um resolvente ordenado de C contra B. Uma vez que
tamanho(R) indica o nmero mnimo de resolues necessrias para levar R at a clusula
vazia, pode-se usar tamanho(R) como um indicardor de qualidade do par (C , B). Isto ,
quanto menor o valor de tamanho(R), melhor ser o par (C , B). Na verdade, na prtica, no
necessrio se calcular R para obter o tamanho(R). Uma estimativa de tamanho(R) ser
suficiente. De modo claro:
tamanho(R) tamanho(C) + tamanho(B) - 2
(7.1)
Mais ainda, uma vez que necessita-se somente de um nmero relativo, pode-se
simplesmente usar (tamanho(C) + tamanho(B)) como medida de qualidade. Ou seja,
f(C,B) = tamanho(C) + tamanho(B)
(7.2)
Ento f(C,B) ser utilizada para avaliar a qualidade do par (C , B). No mtodo de
busca em profundidade modificado, antes do Passo 3 pode-se arranjar os pares de CLIST
colocando os pares que tenham menores valores de f antes daqueles com maiores valores de f.
Este esquema de ordenao chamado de Estratgia de Preferncia por Poucos-Literais.
7.7.3 Uso de Funes de Avaliao Heurstica
Na discusso acima, a nica medida de qualidade de uma clusula o nmero de
literais que ela contm, o que , convenhamos, muito simples. Para um par (C , B) em CLIST
do mtodo de busca em profundidade modificado, define-se h*(C,B) como sendo o nmero
mnimo de resolues em uma prova mnima (refutao) tendo como clusula de partida C e
como primeira clusula lateral B. Se h*(C,B) conhecido, ento pode-se usar h*(C,B) para
ordenar os pares de CLIST, entretanto, geralmente, h*(C,B) no conhecido. Portanto,
h*(C,B) deve ser estimado. Sendo h(C,B) uma estimativa de h*(C,B), que geralmente obtida
a partir de um conjunto de dados conhecidos. Na seqncia, vai-se considerar como obter
h(C,B). Suponha que h(C,B) pode ser expresso como:
h(C,B) = w0 + w1f1(C,B) + ... + wnfn(C,B)
(7.3)
onde cada fi, i = 1, ... , n, uma funo avalidada corretamente de C e B, e wi um peso
associado a fi. Cada fi chamado de atributo do par (C,B). Geralmente, atributos so
selecionadas ad hoc pelo pesquisador que acredita que elas sejam relevantes para h*(C,B). Por
exemplo, pode-se usar alguns atributos sugeridos na tabela 7.1. Na verdade h(C,B) pode ser
uma funo linear ou no-linear de f1(C,B), ... , fn(C,B). Para os propsitos deste texto vai-se
considerar somente funes lineares na seqncia. A funo h(C,B) pode ser usada para
ordenar os pares de CLIST, isto , para colocar os pares com pequenos valores de h antes
daqueles com valores maiores de h. Chama-se h(C,B) de funo de avaliao heurstica, ou
funo de avaliao de maneira resumida. Na prxima seo, ver-se- um mtodo para obter
um h(C,B).

111

Tabela 7.1 Sugestes de atributos fi a serem usados na composio de h(C,B)


1. Nmero de literais no emoldurados em C
2. Nmero de literais emoldurados em C
3. Nmero de clusulas laterais de C
4. Nmero de constantes no ltimo literal de C
5. Nmero de funes no ltimo literal de C
6. Nmero de literais emoldurados de C, que englobam o ltimo literal de C
7. Nmero de variveis diferentes em C e B
8. tamanho(C) + tamanho(B) - 2
9. Nmero de constantes em C / (1 + nmero de variveis em C)
10. Nmero de constantes em C / (1 + nmero de variveis distintas em C)
11. Profundidade de C
12. Nmero de literais no emoldurados que esto tanto em C quanto em B
13. Nmero de literais em B, que tem um complemento emoldurado em C
14. Nmero de predicados distintos em C e B

7.8 ESTIMATIVAS DE FUNES DE AVALIAO


Como discutido na seo 7.7.3, assume-se que:
h(C,B) = w0 + w1f1(C,B) + ... + wnfn(C,B).
Nesta seo, discute-se duas importantes questes:
1. Dado um conjunto de atributos, como pode-se determinar os valores apropriados para w0,
w1, ... , wn ?
2. Como pode-se saber se um conjunto de atributos bom (relevantes com relao a h*(C,B))
ou no ?
Vai-se agora responder a primeira questo. Assuma que se conhece os valores de
*
h (C1,B1), ... , h*(Cq,Bq). Ento o problema determinar w0, w1, ... , wn tal que:
q

[ h*(Ci,Bi) - (w0 + w1f1(Ci,Bi) + ... + wnfn(Ci,Bi))]2

(7.4)

i 1

seja mnimo. Esta estimativa chamada de estimativa de quadrado-mnimo. Seja as matrizes F,


H e W definidas como segue:

h* (C1 , B1 )

F=

1f1(C1 , B1 ) fn (C1, B1 )

1 f1(C2 , B2 ) f n (C2 , B2 )

1f1(Cq , Bq ) fn (Cq , Bq )

h * (C2 , B2 )

w0
w
1

,W =


*
h (Cq , Bq )
wn

H=

Portanto o valor de W que minimiza a expresso (7.4) dado por:


W = (F' F)-1 F' H
(7.5)
onde F' a transposta de F e (F' F) -1 a inversa de (F' F). Substituindo W em (7.3), uma
funo de avaliao pode ser obtida.

112

Exemplo 7.7: Considere a rvore mostrada na figura 7.17. Vai-se redesenhar a rvore na
figura 7.21, onde cada clusula ordenada numerada. Para este exemplo, suponha que se usou
os atributos definidos como segue:
f1(C,B) = tamanho(C) + tamanho(B) - 2
f2(C,B) = nmero de literais emoldurados em C
f3(C,B) = nmero de literais no emoldurados que esto tanto em C quanto em B
f4(C,B) = nmero de literais em B, que tem um complemento emoldurado em C
f5(C,B) = nmero de literais emoldurados em C, que englobam o ltimo literal de C
1

4
6
10

5 P v Q v ~P
7

15 P v~ Q

Pv Q

vP

~P v~ Q

11

14 ~P v~ Q

P v~ Q

~P v Q

P vQ

PvQ

8
~P v~ Q
12 P v Q

P v ~Q
16P v Q

17 ~P v Q

PvQ

v ~P v Q
18P v~ Q

13 P
19~P v~ Q

20
~P v Q

P v ~Q v P

P v~ Q

P vQ
P v Q

v ~P v Q

21
~P v~ Q

v ~Q

v ~P

Figura 7.21 rvore da figura 7.17 com as clusulas numeradas


Calculando os valores dos atributos de cada par na rvore da figura 7.21, obtem-se a
tabela 7.2.
Tabela 7.2 Valores para os atributos de cada para da rvore da figura 7.21
i
1
2
3
4
5
6
7
8
9
10
11
12
13
14

par(Ci,Bi)
(1,2)
(1,3)
(4,6)
(4,7)
(5,8)
(5,9)
(10,14)
(10,15)
(11,16)
(11,17)
(12,18)
(12,19)
(13,20)
(13,21)

f1(Ci,Bi)
2
2
1
1
2
2
1
1
1
1
2
2
1
1

f2(Ci,Bi)
0
0
0
0
1
1
1
1
1
1
2
2
0
0

f3(Ci,Bi)
1
0
0
0
1
1
0
0
0
0
1
0
0
0

f4(Ci,Bi)
0
0
0
0
0
1
1
0
0
1
2
1
0
0

Calculando a frmula (7.5) em um computador, obtem-se:


w0 = 0,30
w1 = 1,68
w2 = 0,76
w3 = -0,24
Deste modo tem-se:
113

f5(Ci,Bi)
0
0
0
0
0
0
0
0
0
0
1
1
0
0

w4 = -1,44

h*(Ci,Bi)
3
4
2
2
4
3
1
3
3
1
3
4
2
2
w5 = 0,60

(7.6)

h(C,B) = 0,30 + 1,68f1(C,B) + 0,76f2(C,B) - 0,24f3(C,B) - 1,44f4(C,B) + 0,60f5(C,B) (7.7)


No mtodo de busca em profundidade modificado, logo antes do Passo 3, se for usada a
funo h(C,B) para ordenar os pares de CLIST, ento a rvore de busca do mtodo de busca
em profundidade modificado ser aquela mostrada pela figura 7.22 (a) ou (b).
PvQ

PvQ

P v~ Q

P v~ Q

~P v Q

~P v~ Q

P vQ
~P v~ Q

~P v Q

(a)

(b)

Figura 7.22 rvores de busca usando as funes de avaliao da tabela 7.2


No exemplo acima, mostrou-se como obter uma funo de avaliao. A funo de
avaliao obtida no exemplo 7.7 somente para conjuntos de clusulas base. Elas esto
baseadas apenas em um exemplo, claro que, quanto mais exemplos se usar para estimar uma
funo de avaliao, melhor ela ser. Apesar disso, aplica-se a funo de avaliao obtida no
exemplo 7.7 a um novo exemplo para ver o quo boa esta estimativa .
Exemplo 7.8: Considere o seguinte conjunto de clusulas ordenadas:
(1)
~P1 ~P2 P3
(2)
P1
(3)
P2
(4)
~P1 ~P3
(5)
~P3 P4
(6)
~P3 P5
(7)
~P4 P5.
Sendo a clusula (1) a clusula de partida, existem trs clusulas ordenadas que podem ser
clusulas laterais de (1), so elas: (4), (5) e (6). Usa-se agora h(C,B) definido pela equao 7.7
para calcular o seguinte:
h(1,4) = 0,30 + 1,68(3+2-2) + 0,76(0) - 0,24(1) - 1,44(0) + 0,60(0) = 3,42
h(1,5) = 0,30 + 1,68(3+2-2) + 0,76(0) - 0,24(0) - 1,44(0) + 0,60(0) = 3,66
h(1,6) = 0,30 + 1,68(3+2-2) + 0,76(0) - 0,24(0) - 1,44(0) + 0,60(0) = 3,66
Uma vez que h(1,4) o menor valor, escolhe-se a clusula (4) como clusula lateral da
clusula (1) e obtem-se a seguinte clusula:
(8)
~P1 ~P2
a partir de (1) e (4).
O restante da prova trivial. Voc pode facilmente ver que os seguintes passos completam a
prova:
(9)
~P1
a partir de (8) e (3).
(10) 
a partir de (9) e (2).
114

Para este exemplo, nenhuma cusula irrelevante foi gerada. Nota-se que se uma funo de
avaliao fizesse com que fosse escolhida a clusula (6) ou (5) como clusula lateral da
clusula (1), clusulas irrelevantes poderiam ser geradas. Assim, mostrou-se que a funo de
avaliao tambm til para este exemplo.
Pode-se agora responder a segunda questo: Como pode-se saber se um conjunto de
atributos bom (relevantes com relao a h*(C,B)) ou no? Evidentemente, se um conjunto de
atributos bom, ento aps us-los em um grande nmero de exemplos para estimar o valor
da funo de avaliao, a funo deve se generalizar para novos exemplos. Isto , a funo de
avaliao deve apresentar bom desempenho sobre novos exemplos. Se ela no se generalizar
para novos problemas, ento o pesquisador deve analisar os dados e considerar novos
atributos.
7.9 EXERCCIOS
Seo 7.2
1. Use resoluo linear para provar que os seguintes conjuntos de clusulas so insatisfatveis:
(a) S = {~P Q, P R, ~Q, ~R}
(b) S = {P Q R, ~P, ~Q, ~R W, ~W}
(c) S = {P Q, Q R, R W, ~R ~P, ~W ~Q, ~Q ~R}
2. Use resoluo linear para provar a insatisfiabilidade do seguinte conjunto de clusulas:
(a) ~E(x) V(x) S(x,f(x))
(b) ~E(x) V(x) C(f(x))
(c) P(a)
(d) E(a)
(e) ~S(a,y) P(y)
(f) ~P(x) ~V(x)
(g) ~P(x) ~C(x).
Use a clusula (g) como clusula de partida.
3. Prove a insatisfiabilidade do seguinte conjunto de clusulas por resoluo linear. Use a
ltima clusula como clusula de partida.
(a) P(x,I(x),e)
(b) ~S(x) ~S(y) ~P(x,I(y),z) S(z)
(c) S(a)
(d) S(e).
Seo 7.3
4. Prove a insatisfiabilidade do seguinte conjunto de clusulas por resoluo por entrada.
(a) S = {
P(I(x),x,e),
P(e,x,x),
~P(x,y,u) ~P(y,z,v) ~P(u,z,w) P(x,v,w),
~P(x,y,u) ~P(y,z,v) ~P(x,v,w) P(u,z,w),
~P(a,x,e)
}
(b) S = {
D(x,x),
~D(x,y) ~D(y,z) D(x,z),
P(x) D(g(x),x),
P(x) L(b,g(x)),
P(x) L(g(x),x),
L(b,a),
115

~P(x) ~D(x,a),
~L(b,x) ~L(x,a) P(f(x)),
~L(b,x) ~L(x,a) D(f(x),x)
}
5. Refaa o exerccio 4 usando resoluo unitria.
6. Sendo S um conjunto insatisfatvel de clusulas base, L uma clusula untria em S e S' o
conjunto obtido a partir de S pela eliminao das clusulas contendo L e pela eliminao de ~L
das clusulas restantes. Prove que se existe uma refutao unitria a partir de S, tambm deve
existir uma refutao unitria a partir de S'.
Seo 7.4
7. Prove a insatisfiabilidade do seguinte conjunto ordenado de clusulas por OL-deduo.
P(e,x,x)
P(x,e,x)
P(x,I(x),e)
P(I(x),x,e)
S(b)
~S(x) ~S(y) ~P(x,I(y),z) S(z)
~P(x,y,u) ~P(y,z,v) ~P(x,v,w) P(u,z,w)
~P(x,y,u) ~P(y,z,v) ~P(u,z,w) P(x,v,w),
~S(I(b)).
8. Prove a insatisfiabilidade do seguinte conjunto de clusulas por OL-deduo:
P(x,I(x),e)
P(e,x,x)
~P(x,y,u) ~P(y,z,v) ~P(u,z,w) P(x,v,w),
~P(x,y,u) ~P(y,z,v) ~P(x,v,w) P(u,z,w)
~P(a,e,a).
9. Prove o Lema 7.2.
10. Prove que o Teorema 7.2 implica no Teorema 6.2.
Seo 7.6
11. Considere o seguinte conjunto de clusulas ordenadas:
S = {P Q, P ~Q R, P ~Q ~R, ~P R, ~P ~R}.
Sendo P Q a clusula ordenada de partida e d* = 6. Prove que S insatisfatvel atravs do:
(a) mtodo de busca em largura;
(b) mtodo de busca em profundidade;
(c) mtodo de busca em profundidade modificado.
Seo 7.8
12. Seja S o conjunto de clusulas ordenadas abaixo:
PQR
P Q ~R
P ~Q R
P ~Q ~R
~P Q R
~P Q ~R
~P ~Q R
~P ~Q ~R
116

Sendo P Q R a clusula ordenada de partida e usando a funo de avaliao definida pela


equao 7.7 para ordenar os pares em CLIST, encontre a rvore de busca do mtodo de busca
em profundidade modificado.
P vQ
P v~ Q

P vQ

~P v Q

~P v~ Q

P v Q v ~P

Figura 7.6 Refutao linear para S = {P Q, P ~Q, ~P Q, ~P ~Q} usando informao


dos literais resolvidos e o conceito de clusulas ordenadas.

117

Você também pode gostar