Escolar Documentos
Profissional Documentos
Cultura Documentos
Logic A Muito Bom
Logic A Muito Bom
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.....................................................................................
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
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.
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
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;
(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)
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)
(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)
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
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
V
F
V
F
~P
~Q
~P Q
P ~Q
~(P ~Q)
17
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
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
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
f(2)
1
Q(1,1)
V
Q(1,2)
V
Q(2,1)
F
Q(2,2)
V
= 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:
26
(2.9),
(2.10a),
(2.10b),
(3.2a),
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
P(2,1)
F
P(2,2)
F
(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
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
~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
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
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.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)))
}.
II.
(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
.
.
.
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.
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
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:
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.
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
(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)
~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
~A
~A
~A
(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).
(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
(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
R1
R2
68
(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
(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)
N' = ~A
E'' = ~A
1
1
E''' = ~A
1
1
N'' =A
E''' = A
2
2
v ~A
vA
N''' = A
v ~A
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
~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
~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
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)
~Q(x)
Q(a) v Q(b)
~Q(x)
Q(a)
~Q(x)
83
obtm-se:
W1 = { }, A1 = { }, B1 = .
Uma vez que A1 contm o algoritmo termina e uma contradio foi
encontrada.
c.
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
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
(2)
(5)
(4)
(1)
(5)
(6)
(7)
(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)
89
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
C1
C2
C n-1
n-1
Cn
93
PvQ
~PvQ
Pv~Q
~Pv~Q
~Q
~D(a,b)
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))
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(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
~PvQ
~Pv~Q
~P
3. O ltimo literal de
resolvendo
~Q. Assim,
.
98
P vQ
P v~ Q
~P v Q
P vQ
~P v~ Q
P v Q v ~P
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
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
101
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
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
105
v~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
106
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
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
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
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
111
(7.4)
i 1
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=
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
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
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)
PvQ
P v~ Q
P v~ Q
~P v Q
~P v~ Q
P vQ
~P v~ Q
~P v Q
(a)
(b)
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
P vQ
~P v Q
~P v~ Q
P v Q v ~P
117