You are on page 1of 121

LGICA DE PREDICADOS

SUMRIO CAPTULO 1 - INTRODUO ......................................................................................... 1 1.1. INTELIGNCIA ARTIFICIAL, LGICA SIMBLICA E PROVA DE TEOREMAS .......................................................................................................................... 1 1.2. BASE MATEMTICA ................................ ................................................................... 3 CAPTULO 2 - A LGICA PROPOSICIONAL ............................................................... 5 2.1. INTRODUO................................................................................................ ............... 5 2.2 INTERPRETAES DE FRMULAS NA LGICA PROPOSICIONAL ................................................................................................................ 6 2.3. VALIDADE E INCONSISTNCIA NA LGICA PROPOSICIONAL........................... 7 2.4 FORMAS NORMAIS NA LGICA PROPOSICIONAL ................................................. 9 2.5. IMPLICAO LGICA............................................................................................... 11 2.6 APLICAES DA LGICA PROPOSICIONAL .......................................................... 15 2.7 EXERCCIOS ................................................................................................................ 17 CAPTULO 3 - LGICA DE PREDICADOS ................................................................ ..20 3.1 INTRODUO.............................................................................................................. 20 3.2 INTERPRETAO DE FRMULAS NA LGICA DE PREDICADOS ...................... 22 3.3 FORMAS NORMAIS PRENEX NA LGICA DE PREDICADOS ............................... 25 3.4 APLICAES DA LGICA DE PREDICADOS .......................................................... 28 3.5 EXERCCIOS ................................................................................................................ 30 CAPTULO 4 - TEOREMA DE HERBRAND................................................................ ..33 4.1 INTRODUO.............................................................................................................. 33 4.2 FORMAS PADRO DE SKOLEM ............................................................................... 33 4.3 O UNIVERSO DE HERBRAND DE UM CONJUNTO DE CLUSULAS ................................ ...................................................................................... 37 4.4 RVORES SEMNTICAS ........................................................................................... 41 4.5 TEOREMA DE HERBRAND ........................................................................................ 44 4.6 IMPLEMENTAO DO TEOREMA HERBRAND ..................................................... 46 4.7 EXERCCIOS ................................................................................................................ 48 CAPTULO 5 - PRINCPIO DA RESOLUO ..............................................................51 5.1. INTRODUO................................................................................................ ............. 51 5.2 O PRINCPIO DE RESOLUO PARA A LGICA PROPOSICIONAL..................... 51 5.3 SUBSTITUIO E UNIFICAO ............................................................................... 54 5.4 ALGORITMO DE UNIFICAO ................................................................................. 56 5.5 O PRINCPIO DE RESOLUO DA LGICA DE PREDICADOS ............................. 58 5.6 COMPLETUDE DO PRINCPIO DE RESOLUO .................................................... 60 5.7 EXEMPLOS USANDO O PRINCPIO DE RESOLUO ............................................ 63 5.8 ESTRATGIA DE ELIMINAO ................................................................................ 66 5.9 EXERCCIOS ................................................................................................................ 70 CAPTULO 6 - RESOLUO SEMNTICA E RESOLUO INDEXADA ..............72 6.1 INTRODUO.............................................................................................................. 72 6.2 INTRODUO INFORMAL RESOLUO SEMNTICA ..................................... 72 6.5 HIPERRESOLUO E ESTRATGIA DO CONJUNTO DE APOIO: CASOS ESPECIAIS DA RESOLUO SEMNTICA ...................................................... 77 6.5.1 Hiperresoluo ................................ ............................................................................ 77 6.5.2 Estratgia do Conjunto de Apoio ................................................................................. 78 6.6 RESOLUO SEMNTICA USANDO CLUSULAS ORDENADAS ....................... 80

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

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 p para representar Implica Em. Ento os trs fatos acima podem ser representados como: 1
Comment [MAGF1]:

F1: P Q p R F2: Q p 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) p 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. 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 2

3.

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

Uma funo uma relao na qual no existem dois elementos distintos que possuam a mesma primeira coordenada. Se f uma funo e x um elemento do seu domnio, ento f(x) representa a segunda coordenada do nico elemento em f cuja primeira coordenada x. f(x) chamado valor de f em x e dizemos que f atribui o valor f(x) para x. Ao longo deste texto, usa-se muitos smbolos convencionais. Por exemplo, > significa maior que, , maior ou igual a; <, menor que, , menor ou igual a ; = , igual a; {, diferente de; ( , definido como e assim por diante. O smbolo de igualdade = ser usado para vrios fins. Ele poder ser usado para representar definido por, idntico a, equivalente a ou igual a. Isto no trar nenhuma confuso, pois o significado exato ser sempre descrito no texto.

CAPTULO 2 - a lgica proposicional

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

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

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

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

Q V V V V F F F F V V V V F F F F

R V V F F V V F F V V F F V V F F

S V F V F V F V F V F V F V F V F

~S F V F V F V F V F V F V F V F V

(P  Q) V V V V F F F F F F F F F F F F

(R  (~ S)) F V V F F V V F F T T F F V V F
T h e i

(PQ) (R (~S)) F V V F V V V V V V V V V V V V

Tabela 2.2 - 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 22 = 4 interpretaes. Os valores verdade de G sob todas as suas 4 in terpretaes so dados na tabela 2.3. Note que
i T h e

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 ((P Q)  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).
i T h e

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 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 sim plificar, 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  = ; (a) F ~F = ; ~(~F) = F (a) ~(F  G) = ~F  ~G;

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

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

Similarmente, pode-se escrever F1F2... Fn , a qual verdadeira se todas as frmulas F1 , ... , Fn so verdadeiras, caso contrrio, falsa. F 1F2...Fn chamada de conjuno de F1,...,Fn . Note que a ordem que Fi aparece na disjuno ou conjuno no importa. Por exemplo, F1F2F3 = F1F3F2 = F2F1F3 = F3F 1F2 = F2F3F1 = F3F1F2 Define-se forma normal como segue: Definio: Um literal um tomo ou a negao de um tomo. Definio: A frmula F dita estar na forma normal conjuntiva se e somente se F tem a forma: F ( F1 F2...Fn, n  1, onde cada F1,...,Fn uma disjuno de literais.
T h e i

Exemplo 2.6: Sejam P, Q e R tomos. Ento F ( (P  ~ Q  R)  (~P  Q) uma frmula na forma normal conjuntiva. Para essa frmula, F1 = (P  ~ Q  R) e F2 = (~P  Q) . Claramente, F1 uma disjuno dos literais P, ~Q, e R e F2 uma disjuno dos literais ~P e Q.
i

T h e

Definio: A frmula F dita estar na forma normal disjuntiva se e somente se tem a forma: F ( F1 F2... Fn , n  1, onde cada F1,...,Fn uma conjuno de literais.
T h e i

Exemplo 2.7: Sejam P, Q e R tomos. Ento F ( (~P  Q)  (P  ~Q  ~R) uma frmula na forma normal disjuntiva. Para esta frmula,F1 = (~P  Q) e F 2 = (P  ~Q  ~R). Claramente ve-se que F1 uma conjuno dos literais ~P e Q , e F2 uma conjuno dos literais P, ~Q e ~R. Qualquer frmula pode ser transformada em uma forma normal. Isto obtido facilmente usando-se as leis dadas na tabela 2.6. A seguir mostramos um resumo do procedimento de transformao. Passo 1 : Use as leis (2.1) FG = (F G)  (GF) (2.2) FG = ~F  G para eliminar os conetivos lgicos m e p . Passo 2 : Repetidamente use a lei (2.9) ~(~F) = F e as leis de De Morgan (2.10a) ~(F  G) = ~F  ~G (2.10b) ~(F  G) = ~F  ~G para deslocar o sinal de negao para imediatamente antes dos tomos. Passo 3 : Repetidamente use as leis distributivas (2.5a) F  (G  H) = (F  G)  (F  H) (2.5b) F  (G  H) = (F  G)  (F  H) e as outras leis para obter a forma normal.
i

T h e

Exemplo 2.8: Obtenha a forma normal disjuntiva para a frmula (P  ~Q)  R. Sendo (P  ~Q)  R= ~(P  ~Q)  R por (2.2) = (~P  ~(~Q))  R por (2.10a) = (~P  Q)  R por (2.9). a forma normal disjuntiva de (P  ~Q)  R (~P  Q)  R.

10

Exemplo 2.9: Obtenha a forma normal conjuntiva para a frmula (P  (Q  R))  S. Sendo (P  (Q  R))  S= = (P  ( ~Q  R))  S por (2.2) = ~(P  ( ~Q  R))  S por (2.2) = (~P  ~(~Q  R))  S por (2.10b) = (~P  (~(~Q)  ~R))  S por (2.10a) = (~P  (Q  ~R))  S por (2.9) = ((~P  Q)  (~P  ~R))  S por (2.5a) = S  ((~P  Q)  (~P  ~R)) por (2.3a) = (S  (~P  Q))  (S  (~P  ~R)) por (2.5a) = (S  ~P  Q)  (S  ~P  ~R) por (2.4a). A forma normal conjuntiva de (P  (Q  R))  S (S  ~P  Q)  (S  ~P  ~R).

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

11

PSU Por 2.6a (Lei da identidade) Portanto, se ((P p S) (S p 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 p S), (S p U) e P so verdadeiros, em lgica, U chamado de implicao lgica de (P p S), (S p U) e P. Mais formalmente, pode-se definir implicao lgica como segue. Definio: Dadas as frmulas F1, F2, F3, ..., Fn e a frmula G, diz que F1,F2,...,Fn -se implica logicamente ou apenas implica na frmula G, se G verdadeiro todas as vezes que F1 F2 F3... Fn for verdadeiro. Indica-se da seguinte forma: F1 F2 F3 ... Fn p G
Exemplo 2.11: As tabelas verdade das frmulas P Q, P V V F F Q V F V F PQ V F F F PQ V V V F

PQ

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

P Q V F F V

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

Logo, subsiste a implicao lgica P ~P pQ. 12

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

Mtodo 1: Pode-se usar a tcnica da tabela verdade para mostrar que G verdade em cada modelo (interpretao) de (P p Q) ~Q. Portanto,

P V V F F

Q V F V F

PpQ V F V V

~Q F V F V

(P p Q) ~Q F F F V

~P F F V V

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

Da tabela acima, pode-se notar que h somente uma interpretao (4) onde (P p Q) ~Q verdadeiro. Como se v nessa interpretao (4) ~P tambm verdadeiro. Assim, pela definio de implicao lgica, concluimos que (P p Q) ~Q implicam logicamente em ~P. 13

Mtodo 2: Aqui usa-se o teorema 2.1. Este pode ser provado extendendo a tabela verdade anterior ou desenvolvendo-se a frmula ((P p Q) ~Q) p ~P. a) A tabela a seguir mostra que ((P p Q) ~Q) p ~P verdade (V) em todas as interpretaes. Portanto ((P p Q) ~Q) p ~P vlida (tautologia) e, conforme o teorema 2.1, ~P uma implicao lgica de (P p Q) e ~Q. P Q PpQ ~Q (P p Q) ~Q ~P

V V F F

V F V F

V F V V

F V F V

F F F V

F F V V

((PpQ~Q)p~P V V V V

b) Pode-se, tambm, provar a validade de ((P p Q) ~Q) p ~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 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) Q Por 2.8a (Lei do inverso) Por 2.7a (Lei do elemento nulo) Deste modo, ((P p Q) ~Q) p ~P vlida.
Mtodo 3: Aqui vai-se usar o teorema 2.2. Neste caso, quer-se provar que ~(((P p Q) ~Q) p ~P) = ((P p Q) ~Q) (~(~P)) = (P p Q) ~Q P inconsistente.

a) Novamente, como no mtodo 2, pode-se usar a tcnica da tabela verdade para mostrar que ((P p Q) ~Q) p ~P falso em cada interpretao.
P V V F F Q V F V F PpQ V F V V ~Q F V F V (P p Q) ~Q P F F F F

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

Da tabela acima conclu-se que (P p Q) ~Q P inconsistente e, de acordo com o teorema 2.2, ~P implicao lgica de (P p Q) e ~Q . b) Pode-se, tambm, provar a inconsistncia de (P p Q) ~Q P atravs de sua transformao em uma forma normal conjuntiva. (P 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) 14

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

Por 2.3b (Lei comutativa) Por 2.4b (Lei associativa) Por 2.8b (Lei do inverso) Por 2.7b (Lei do elemento nulo) Dessa forma, (P p Q) ~Q P inconsistente e portanto fica mostrada a implicao lgica.

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

P V V V V V V V V F F

Q V V V V F F F F V V

R V V F F V V F F V V

S V F V F V F V F V F

F1 V F F F V V V V V V

F2 V V V V V V V V F F

F3 F V F V F V F V F V

~Q F F F F V V V V F F

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

15

F F F F F F

V V F F F F

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

V V V V V V ~Q

Exemplo 2.15: (Problema da Sntese Qumica) Suponha que se tenha as seguintes reaes qumicas. MgO + H2 p Mg + H2 O C + O2 p CO2 CO2 + H2O p H2 CO3 Suponha, tambm, que se tenha alguma quantidade de MgO, H2, O2 e C. Mostre que se pode fazer H2 CO3. Para este problema, deve-se considerar MgO, H2 , O2 e C, como frmulas atmicas. Ento as reaes qumicas acima podem ser representadas pelas seguintes frmulas: A1: (MgO H2) p (Mg H2 O) A2: (C O2) p CO2 A3: (CO2 H2 O) p H2CO3 Uma vez que temos MgO, H2, O2 e C, estes fatos podem ser representados pelas seguintes frmulas: A4: MgO A5: H2 A6: O2 A7: C Agora, o problema pode ser tratado como a prova de que H2 CO3 conseqncia lgica de A1, ... , A7, que, pelo teorema 2.2, verdadeiro, se (A1 ... A7) ~H2CO3 inconsistente. Prova-se isto, transformando a frmula A1 ... A7 ~H2 CO3 em sua forma normal disjuntiva. A1 ... A7 ~H2 CO3 = ((MgO H2) p (Mg H2 O)) ((C O2) p CO2)  ((CO2 H2 O) p H2 CO3) MgO H2 O2 C ~H2 CO3 = (~MgO ~H2 Mg) (~MgO ~H2 H2 O) (~C ~O2 CO2) (~CO2 ~H2 O H2 CO3)  MgO H2 O2 C ~H2CO3 = (~MgO ~H2 Mg) (~MgO ~H2 H2 O) MgO H2  (~C ~O2 CO2) C O2 (~CO2 ~H2 O H2 CO3)  ~H2 CO3 = Mg H2 O MgO H2 CO2 C O2  (~CO2 ~H2O) ~H2 CO3 = (~CO2 ~H2O) H2 O CO2 Mg MgO H2 C O2  ~H2 CO3 = Mg MgO H2 C O2 ~H2 CO3 = Uma vez que sempre falso, a frmula (A1 ... A7 ~H2 CO3) inconsistente. Portanto, H2 CO3 conseqncia lgica de A1 ... A7. Isto , pode-se obter H2 CO3 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. 16

O exemplo 2.15 apenas um simples exemplo de sntese qumica. Na realidade exist m e centenas de reaes qumicas. De maneira a provar de forma eficiente estes teoremas, necessita-se de mtodos eficientes, que sero discutidos nos captulos seguintes. Nos exemplos anteriores, mostrou-se que lgica proposicional pode ser aplicada na soluo de vrios problemas. O mtodo , inicialmente, simbolizar os problemas atravs de frmulas e, ento, provar que estas frmulas so vlidas ou inconsistentes. Usou-se o mtodo da tabela da verdade e o mtodo multiplicativo para provar que uma frmula vlida (inconsistente). Nos captulos seguintes, mtodos mais eficientes sero vistos para provar a validade e inconsistncia de frmulas. 2.7 EXERCCIOS SEO 2.1 1. Simbolize as seguintes proposies por frmulas. (a) Uma relao uma relao de equivalncia se e somente se ela reflexiva, simtrica e transitiva. (b) Se a umidade est elevada, chover esta tarde ou esta noite. (c) O cncer no ser curado a no ser que sua causa seja determinada e uma nova droga para o cncer seja encontrada. (d) necessrio coragem e habilidade para escalar uma montanha. (e) Se ele um homem que trabalha arduamente em sua campanha, ele provavelmente ser eleito. 2. Seja, P ( Ele precisa de um doutor. R ( Ele teve um acidente. U ( Ele est ferido. Q ( Ele precisa de um advogado. S ( Ele est doente.

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

SEO 2.3 4. Para cada uma das seguintes frmulas, determine se vlida, invlida, inconsistente, consistente ou alguma combinao dessas dessas. (a) ~(~P)  P (b) P  (P  Q) (c) ~(P  Q)  ~Q (d) (P  Q)  P (e) (P  Q)  (~Q  ~P) (f) (P  Q)  (Q  P) 17

(g) P  (P  Q) (i) P  (Q  ~P) (k) ~P  (~(P  Q)) (m) ~P  P

(h) (P  (Q  P))  P (j) (P  ~Q)  (~P  Q) (l) 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: 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. 18

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

19

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

Uma funo um mapeamento de uma lista de constantes para uma constante. Por exemplo, pai(Joo) uma funo que mapeia a pessoa chamada Joo para uma pessoa que o 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)).

21

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 no prprio quantificador. A ocorrncia de uma varivel em uma frmula livre se e somente se a ocorrncia no dependente. Definio: Uma varivel livre na frmula se, no mnimo, uma ocorrncia dela livre na frmula. Uma varivel dependente se, no mnimo, uma ocorrncia dela dependente.

Na frmula (x) P(x,y), uma vez que ambas as ocorrncias de x so dependentes, a varivel x dependente. Entretanto, a varivel y livre, uma vez que sua nica ocorrncia livre. Observe que uma varivel pode ser livre e dependente em uma mesma frmula. Por exemplo, y livre e dependente na frmula (x) P(x,y)  ( y) Q(y). Pode-se agora definir, formalmente, uma frmula, usando tomos, conectivos lgicos e quantificadores.
Definio: Frmulas bem formadas (fbf) ou, resumidamente, frmulas, na lgica de predicados so definidas, recursivamente como segue: i. Um tomo uma frmula (observe que tomo uma abreviatura para frmula atmica). ii. Se F e G so frmulas, ento ~(F), (F G), (FG), (F G), (FG) so frmulas. iii. Se F uma frmula e x uma varivel livre em F, ento ( x) F e ( x) F so frmulas. iv. Frmulas so geradas somente pela aplicao, um nmero finito de vezes de i, ii e iii.

Como no Captulo 2, os parnteses podero ser omitidos quando no cause confuso. As regras vistas anteriormente podem ser ampliadas considerando que os quantificado res tenham as reas de abrangncia restritas. Por exemplo, ( x) A  B, representa ((( x) A)  B).
Exemplo 3.3: Transforme a sentena "Todo homem mortal. Confcio um homem. Portanto Confcio mortal" em uma frmula. Representando "x um homem " por HOMEM(x) e "x mortal" por MORTAL(x). Ento: "Todo homem mortal " pode ser representado por: (x) (HOMEM(x) MORTAL(x)), "Confcio um homem" pode ser representado por: HOMEM(Confcio) e "Confcio mortal" pode ser representado por: MORTAL(Confcio), portanto a sentena completa pode ser representada por: ( x) (HOMEM(x) MORTAL(x))  HOMEM(Confcio)  MORTAL(Confcio) Exemplo 3.4: Os axiomas bsicos dos nmeros naturais so os seguintes: A1: Para todo nmero, existe um e somente um sucessor imediato. A2: No existe nenhum nmero para o qual 0 seja o seu sucessor imediato. A3: Para todo nmero diferente de 0, existe um e somente um predecessor imediato.

Fazendo f(x) e g(x) representar o sucessor imediato de x e o predecessor imediato de x, respectivamente e I(x,y) representar "x igual a y". Ento os axiomas podem ser representados pelas seguintes frmulas: A1': ( x)( y) ( I(y,f(x))  ( z) ( I(z,f(x))  I(y,z))) A2': ~((x) I(0,f(x))) A3': ( x) (~I(x,0)  (( y) ( I(y,g(x))  ( z) ( I(z,g(x))  I(y,z))))) 3.2 INTERPRETAO DE FRMULAS NA LGICA DE PREDICADOS 22

N lgica proposicional, uma interpretao uma atribuio de valores verdade aos tomos. Na lgica de predicados, uma vez que existem variveis envolvidas, tem-se algo mais. 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), (G H) 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) P(1,2) 23 P(2,1) P(2,2)

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

Domnio: D = { 1 , 2 } Atribuio para a: a 1 Atribuio para f: f(1) 2 Atribuio para P e Q: P(1) P(2) F V Se x = 1, ento: P(x)  Q(f(x),a) 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. Na lgica de predicados, uma vez que h um nmero infinito de domnios, em geral, existe um nmero infinito de interpretaes de uma frmula. Portanto, de maneira diferente da lgica proposicional, no possvel verificar a validade ou inconsistncia de uma frmula avaliando-a sobre todas as suas possveis interpretaes. Nos prximos captulos, vai se ver procedimentos para verificar inconsistncias na lgica de predicados. 3.3 FORMAS NORMAIS PRENEX NA LGICA DE PREDICADOS 25

Exemplo 3.10: Considere as frmulas:

Na lgica proposicional viu-se duas formas normais - a forma normal conjuntiva e a forma norma disjuntiva. Na lgica de predicados existe tambm uma forma normal chamada de forma normal prenex. A razo para utilizar uma forma normal prenex de uma frmula para simplificar os mtodos de prova, que sero vistos mais adiante.
Definio: Uma frmula F na lgica de predicados dita estar em uma forma normal prenex se e somente se a frmula F est na forma de: (Q1 x1) ... (Qnxn)(M), onde todo (Qi xi), i = 1, ..., n, ( xi ) ou (  xi ) , e M uma frmula que no possui quantificadores. (Q1 x1) ... (Qnxn) chamada de prefixo e M chamada de matriz da frmula F.

Abaixo so mostradas algumas frmulas na forma normal prenex: i. (  x) (  y) (P(x,y) Q(y)) ii. (  x) (  y) (~P(x,y) p Q(y)) iii. (  x) (  y) (  z) (Q(x,y) p R(z)) Dada uma frmula, ser visto agora um mtodo para transform-la na forma normal prenex. Isto obtido considerando alguns pares de frmulas equivalentes na lgica de predicados. Lembrando que duas frmulas F e G so equivalentes, representados por F = G, se e somente se os valores de F e G so os mesmos sob todas as interpretaes. Os pares bsicos de frmulas equivalentes dados na tabela 2.6 no Captulo 2 ainda so vlidos para a lgica de predicados. Existem ainda outros pares de frmulas equivalentes que contm quantificadores. Sero vistos agora esses pares adicionais de frmulas equivalentes. Seja F uma frmula contendo uma varivel x. Para salientar que a varivel x est em F, representa-se F por F[x]. Seja G uma frmula que no contm a varivel x. Ento tem-se os seguintes pares de frmulas equivalentes, onde Q  ou  . Para simplificar, chama-se cada par abaixo de lei.

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

(3.1a) (3.1b) (3.2a) (3.2b)

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

26

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

(2.1)

(2.2) para eliminar os conetivos lgicos  e . (2.9), (2.10a), (2.10b), (3.2a), (3.2b),

Passo 2: Repetidamente usar a lei ~ (~F) = F as leis de De Morgan ~ (F  G) = ~F  ~G ~ (F  G) = ~F  ~G e as leis ~ ((x) F[x]) = ( x) ( ~F[x]) ~ ((x) F[x]) = ( x) ( ~F[x])

27

para trazer o sinal de negao para a imediatamente antes dos termos.


Passo 3: Renomear as variveis dependentes se necessrio.

G = (Qx) (F[x] G) (3.1a), (Qx) F[x] G = (Qx) (F[x] G) (3.1b), ( x) F[x]  ( x) H[x] = (x) (F[x]  H[x]) (3.3a), ( x) F[x]  ( x ) H[x] = (x) (F[x]  H[x]) (3.3b), (Q1x) F[x]  (Q2x) H[x] = (Q1x)(Q2z) (F[x]  H[z]) (3.4a), (Q3x) F[x]  (Q4x) H[x] = (Q3x)(Q4z) (F[x]  H[z]) (3.4b) para mover os quantificadores para a esquerda de toda frmula para obter uma forma normal prenex.
Passo 4: Usar as leis (Qx) F[x]

Exemplo 3.11: Transformar a frmula (x) P(x)  (x) Q(x) na forma normal prenex.

(x) P(x)  ( x) Q(x) = ~ ((x) P(x))  (x) Q(x) por (2.2) = ( x) (~P(x))  (x) Q(x) por (3.2a) = ( x) (~P(x)  Q(x)) por (3.3b). Portanto, a forma normal prenex de ( x) P(x)  (x) Q(x) (x) (~P(x)  Q(x)).
Exemplo 3.12: Obter a forma normal prenex para a frmula: (x)( y) (( z) (P(x,z)  P (y,z))  (u) Q(x,y,u)). = (x)( y) (~(( z) (P(x,z)  P(y,z)))  ( u) Q(x,y,u)) por (2.2) = (x)( y)((z) (~P(x,z)  ~P(y,z))  ( u) Q(x,y,u)) por (3.2b) e (2.10b) = (x)( y)( z)( u) (~P(x,z)  ~P(y,z)  Q(x,y,u)), usando (3.1a), move-se os quantificadores para a esquerda, obtendo por fim a forma normal prenex da primeira frmula.

3.4 APLICAES DA LGICA DE PREDICADOS Nesta seo sero vistos alguns exemplos para ilustrar algumas aplicaes da lgica de predicados na soluo de problemas. Assim como na lgica proposicional, a abordagem mais comum primeiro simbolizar problemas por frmulas e ento provar que as frmulas so vlidas ou inconsistentes.
Exemplo 3.13: Considerando o exemplo 3.3. Existem dois axiomas: A1 : (x) (HOMEM(x)  MORTAL(x)). A2 : HOMEM(Confcio).

De A1 e A2, mostra-se que Confcio mortal. Isto , mostra-se que MORTAL(Confcio) uma consequncia lgica de A1 e A2. Tem-se: A1  A2 : (x) (HOMEM(x)  MORTAL(x))  HOMEM(Confcio). Se (A1  A2) verdadeiro em uma interpretao I , ento ambos A e A2 so 1 verdadeiros em I . Desde que (HOMEM(x)  MORTAL(x)) verdadeiro para todo x, quando x substitudo por "Confcio", (HOMEM(Confcio)  MORTAL(Confcio)) verdadeiro em I. Isto , ~HOMEM(Confcio)  MORTAL(Confcio) verdadeiro em I. No entanto, ~HOMEM(Confcio) falso em I desde que HOMEM(Confcio) for verdadeiro em I. Portanto, MORTAL(Confcio) deve ser verdadeiro em I. Tem-se portanto mostrado que 28

MORTAL(Confcio) verdadeiro em I quando (A1  A2 ) verdadeiro em I. Por definio, MORTAL(Confcio) uma consequncia lgica de A1 e A2 .
Exemplo 3.14: Nenhum vendedor de carros usados compra uma carro usado para a sua famlia. Algumas pessoas que compram carros usados para sua famlia so totalmente desonestas. Conclui-se que algumas pessoas totalmente desonestas no so vendedores de carros usados. Fazendo U(x), B(x), e D(x) representar "x um vendedor de carros usados ", "x compra um carro usado para sua famlia", e "x totalmente desonesto", respectivamente. Ento tem-se: A1: (x) (U(x)  ~B(x)) A2: (x) (B(x)  D(x)) E precisa-se mostrar que: A3 : (x) (D(x)  ~U(x)) uma consequncia lgica de A1 e A2. Assume-se que A1 e A2 so verdadeiros em uma interpretao I sob o domnio D. Desde que A2 verdadeiro em I, existe um x em D, chamado de a, tal que B(a)  D(a) verdadeiro em I. Portanto B(a) verdadeiro em I, isto , ~B(a) falso em I. A pode ser 1 escrito da seguinte forma: A1: (x) (~U(x)  ~B(x)). Desde que A1 verdadeiro em I e ~B(a) falso em I, ~U(a) deve ser verdadeiro em I. Porm, desde que B(a)  D(a) verdadeiro em I, D(a) verdadeiro em I. Portanto, D(a)  ~U(a) verdadeiro em I. Ento, A3 , isto , (x) (D(x)  ~U(x)), verdadeiro em I. Por consequncia, A3 uma consequncia lgica de A1 e A2 . Exemplo 3.15: Alguns pacientes gostam de todos os mdicos. Nenhum paciente gosta de charlates. Portanto, nenhum mdico um charlato. Representa-se:P(x): x um paciente, D(x): x um mdico, Q(x): x um charlato, L(x,y): x gosta de y. Ento os fatos e as conculuses podem ser representados por:

F1: ( x) (P(x)  ( y)(D(y)  L(x,y))) F2: ( x) (P(x)  ( y)(Q(y)  ~L(x,y))) G : ( x) (D(x)  ~(Q(x)). Agora ser mostrado que G uma consequencia lgica de F1e F2. Seja I uma interpretao arbitrria sobre o domnio D .Suponha que F1e F2 so verdadeiros em I. Desde que F1, isto , (x) (P(x)  ( y)(D(y)  L(x,y))) verdadeiro em I, existe algum elemento, chamado de e, em D talque (P( e)  ( y) (D(y)  L(e,y))) verdadeiro em I. Isto , ambos P(e) e ( y) (D(y)  L(e,y)) so verdadeiros em I. Por outro lado, desde que (P(x)  ( y)(Q(y)  ~L(x,y))) verdadeiro em I para todos os elementos de x em D, certamente (P(e)  ( y)(Q(y)  ~L(e,y))) verdadeiro em I. Desde que P(e) verdadeiro em I, ( y)(Q(y)  ~L(e,y)) deve ser ser verdadeiro em I. Por isso sabe-se que para todo elemento y em D, tanto (D(y)  L(e,y)) e (Q(y)  ~L(e,y)) so verdadeiros em I. Se D(y) falso em I, ento (D(y)  ~(Q(y)) verdadeiro em I. Se D(y) verdadeiro em I, ento L(e,y) deve ser verdadeiro em I, desde que (D(y)  L(e,y)) verdadeiro em I. 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 29

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

determinar a tabela verdade das seguintes frmulas: (a) (x) ( y) P(x,y) (b) (x) ( y) P(x,y) (c) (x) ( y) P(x,y) (d) ( y) ~ P(a,y) 30

(e) (x) ( y) (P(x,y)  P(y,x))

(f) (x) P(x,x)

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

P(2,1) F

P(2,2) F

Avaliar o valor lgico das seguintes frmulas na interpretao acima: (1) P(a, f(a))  P(b, f(b)) (2) (x) (y) P(y,x) (3) (x) (y) (P(x,y)  P( f(x), F(y))). 8. Sejam F1 e F2 as seguintes frmulas: F1 : (x) (P(x)  Q(x)) F2: ~ Q(a). Provar que ~ P(a) uma conseqncia lgica de F 1 e F2 .
Seo 3.3 9. Transformar as seguintes frmulas na forma normal prenex: (1) (x) (P(x)  ( y) Q(x,y)) (2) (x) (~ (( y) P(x,y))  ((z) Q(z)  R(x))) (3) (x) (y) (( z) P (x,y,z)  ((u) Q(x,u)  ( v) Q(y,v))). Seo 3.4 10. Considerar as seguintes sentenas: F1 : Todo estudante honesto. F2 : Joo no honesto. Para as sentenas acima, provar que Joo no um estudante.

11. Considerar as seguintes premissas: (1) Todo atleta forte. (2) Todo aquele que for inteligente e forte ter sucesso em sua carreira. (3) Peter um atleta. (4) Peter inteligente. Tente concluir que Peter ter sucesso em sua carreira. 31

12. Assumir que So Francisco amado por todos aqueles que amam algum. Assumir tambm que no h ningum que no ame ningum. Deduza que So Francisco amado por todos.

32

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

nenhuma perda de generalidade em usar-se procedimentos de refutao. Entretanto, esses 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 (Q1x1) ... (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 Qr, 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 (Qrxr) 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 34

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 . 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 (Q r+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 = Fm. 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

35

1 Valores para P: P(1) F P(2) V

Ento, claramente, F verdadeiro em I, mas S falso em I. Portanto F { S. Nota-se que uma frmula pode ter mais de uma forma padro. Para maior simplicidade, quando se transforma uma frmula F em uma forma padro S, poder -se-ia substituir os quantificadores existenciais por funes Skolem as quais devem ser as mais simples possveis. Isto , poder-se-ia usar funes Skolem com o menor nmero de argumentos possvel. Isso significa que deve-se mover os quantificadores existenciais o mais esquerda possvel. Alm disso, se tem-se F = F1 ... Fn, pode-se obter separadamente um conjunto Si de clusulas, onde cada Si representa uma forma padro de Fi, i = 1, ..., n. Ento, seja S = S1 ... Sn. Por argumentos semelhantes aos dados na prova do Teorema 4.1, no difcil ver que F inconsistente se e somente se S inconsistente.
Exemplo 4.3: Neste exemplo, mostra-se como expressar o seguinte teorema em uma forma padro: Se x x = e para todo x no grupo G, onde um operador binrio e e a sua identidade em G, ento G comutativo. Primeiro simboliza-se o teorema acima junto com alguns axiomas bsicos na teoria dos grupos e ento representa-se a negao do teorema por um conjunto de clsulas. A1: x, y G implica que x y G (propriedade de fechamento); A2: x, y, z G implica que x (y z) = (x y) z ( propriedade da associatividade); A3: x e = e x = x para todo x G (propriedade da identidade); A4: para todo x G existe um elemento x -1 G tal que x x -1 = x -1 x = e

(propriedade do inverso). Seja x y = z representado por P(x, y, z) e x -1 representado por i(x). Ento os axiomas acima podem ser representados por: A1': (x)( y)( z) P(x, y, z) A2': (x)( y)( z)( u)( v)( w) ( P(x, y, u) P(y, z, v) P(u, z, w) p P(x, v, w)) (x)( y)( z)( u)( v)( w) ( P(x, y, u) P(y, z, v) P(x, v, w) p P(u, z, w)) A3': (x) P(x, e, x) (x) P(e, x, x) A4': (x) P(x, i(x), e) (x) P(i(x), x, e). A concluso do teorema : B: Se x x = e para todo x G, ento G comutativo, ou seja, u v = v u ( u, v) G. B pode ser representado por: B': (x) P(x, x, e) p ((u)( v)( w) P(u, v, w) p P(v, u, w))). Agora, o teorema completo representado pela frmula F = A1' ... A4' p B'. Ento, ~ F = A1' A2' A3' A4' ~ B'. Para obter-se um conjunto S de clusulas para ~ F, obtm-se um consjuto Si de clusulas para cada axioma Ai', i = 1, 2, 3, 4 , como consta abaixo: S1: { P(x, y, f(x, y))} S2: {~P(x, y, u) ~P(y, z, v) P(u, z w), ~P(x, v, w) ~P(x, y ,u) ~P(y, z, v) ~P(x, v, w) P(u, z, w)} S3: {P(x, e, x), P(e, x, x)}. 36

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

para todas as funes n-arg fn que aparecem em S, onde tj, j = 1, ..., n, so membros do conjunto Hi . Ento cada Hi chamado de conjunto de constantes i-nvel de S, e H chamado de Universo de Herbrand de S.
Exemplo 4.4: Seja S = {P(a), ~P(x) P(f(x))}. Ento: Ho = {a}

37

H1 = {a, f(a)} H2 = {a, f(a), f(f(a))} . . . H = {a, f(a), f(f(a)), f(f(f(a))), ...}.
Exemplo 4.5: Seja S = { P(x) q(x), R(z), T(y) ~W(y) }. Uma vez que no existe nenhuma constante em S, Ho = { a }. No existe nenhum smbolo de funo em S , portanto H = Ho = H1= ... = H = { a }. Exemplo 4.6: Seja S = { P( f(x), a, g(y), b) }. Ento Ho = { a, b} H1 = { a, b, f(a), f(b), g(a), g(b) } H2 = {a,b,f(a),f(b),g(a), g(b),f(f(a)),f(f(b)),f(g(a)),f(g(b)),g(f(a)),g(f(b)), g(g(a)), g(g(b))} . . .

Na sequncia, entende-se por expresso um termo, um conjunto de termos, um tomo, um conjunto de tomos, um literal, uma clusula, ou um conjunto de clusulas. Quando nenhuma varivel aparecer na expresso, d-se o nome de expresso base para enfatizar esse fato. Ento possvel usar um termo base, um tomo base, um literal base, e um clusula base significando que no aparece nenhuma varivel na respectiva expresso. Portanto, uma subexpresso de uma expresso E uma expresso que aparece em E.
Definio: Seja um conjunto de clusulas. O conjunto de tomos base da forma Pn( t 1, ... ,t n ) para todos os predicados n-arg Pn existentes em S, onde t1, ... ,tn so elementos de um

universo Herbrand de S, chamado de conjunto de tomos ou base Herbrand de S.


Definio: Uma instncia base de uma clusula C de um conjunto S de clusulas uma clusula obtida pela substituio das variveis em C por membros do universo Herbrand de S. Exemplo 4.7: Seja S = { P(x), Q(f(y)) R(y)}. C = P(x) uma clusula em S e H = {a, f(a), f(f(a)), ...} o universo Herbrand de S. Ento P(a) e P(f(f(a))) so ambas instncias base de C.

Sero consideradas agora interpretaes sobre o universo Herbrand. Seja S um conjunto de clusulas. Como foi visto no Captulo 3, uma interpretao sobre o univer so Herbrand de S uma atribuio de valores s constantes, funes e predicados que aparecem em S. Na sequncia, define-se uma interpretao especial sobre o universo Herbrand de S, chamada de H-interpretao de S.
Definio: Seja S um conjunto de clusulas; H, o universo Herbrand de S; e I, uma interpretao de S sobre H. I chamado de uma H-interpretao de S se satisfaz as seguintes condies: 1. I mapeia todas as constantes em S para elas mesmas.

38

2.

Seja f uma funo n-arg e h1, ..., hn elementos de H. Em I, f uma funo que mapeia (h1, ..., hn) (um elemento em Hn) para f(h1, ..., hn) (um elemento em H).

No existem restries para atribuies a qualquer predicado n-arg em S. Seja A = {A1,A2, ..., An, ... } um conjunto de tomos de S. Uma H-interpretao I pode ser convenientemente representada por um conjunto: I = { m1, m2, ..., mn, ... } onde mj Aj ou ~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 P(2) F

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

f(1,2) 2

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)), ... }.

39

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 P(1) V 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

Ento as duas H-iterpretaes correspondentes a I so: * = { P(a), ~Q(a,a), P(f(a,a), ~Q(a, f(a,a)), ~Q(f(a,a), a), ~Q(f(a, a), f(a,a)), ...}, se a= 1. I I* = { ~P(a), Q(a,a), P(f(a,a), ~Q(a, f(a,a)), Q(f(a,a), a), ~Q(f(a, a), f(a,a)), ... }, se a = 2. Pode-se formalizar os conceitos vistos acima da seguinte forma:
Definio: Dada uma interpretao I sobre um domnio D, uma H-interpretao I* correspondente a I uma H-interpretao que satisfaz a seguinte condio: Seja h1, ..., hn elementos de H (o universo Herbrand de S). Sendo cada hi mapeado para algum di em D. Se atribudo a P(d1, ... , dn) V(F) por I, ento para P(h1, ... , hn) tambm atribudo V(F) em I*.

A prova do seguinte lema no difcil e fica como exerccio.


Lema 4.1: Se uma interpretao I sobre algum domnio D satisfaz um conjunto de clusulas S, ento qualquer uma das H-interpretaes I* correspondentes a I tambm satisfaz S. Teorema 4.2: Um conjunto S de clusulas insatisfatvel se e somente se S falso sob todas as H-interpretaes de S. Prova: (IDA) A primeira metade do teorema acima bvia uma vez que, por definio, S insatisfatvel se e somente se S falso sob todas as interpretaes sobre qualquer domnio. (VOLTA) Para provar a segunda metade do teorema acima, assume-se que S falso sob todas as H-interpretaes de S. Suponha-se que S no insastisfatvel. Ento existe uma interpretao I sobre algum domnio D tal que S verdadeira sob I. Seja I* uma Hinterpretao correspondente a I. De acordo com o Lema 4.1, S verdadeira sob I*. Isso contradiz a afirmao de que S falsa sob todas as H-interpretaes de S. Portanto, S deve ser insatisfatvel.

Ento chega-se ao objetivo do incio desta seo. Isto , precisa-se considerar somente interpretaes sobre o universo Herbrand, ou mais estritamente, H-interpretaes, para verificar que um conjunto de clusulas ou no insatisfatvel. Devido Teorema 4.2, daqui para diante sempre que for mencionada uma interpretao estar-se- falando de uma Hinterpretao. Sendo representando o conjunto vazio. Cada uma das seguintes observaes bvia. As provas sero deixadas como exerccio. 40

1. 2. 3. 4.

Uma instncia base C' de uma clusula C satisfeita por uma interpretao I se e somente se existe um literal base L' que tambm est em I, isto C' I { . Uma clusula C satisfeita por uma interpretao I se e somente se toda instncia base de C satisfeita por I. Uma clusula C falsificada por uma interpretao I se e somente se existe no mnimo uma instncia base C' de C tal que C' no satisfeita por I. Um conjunto de clusulas S insatisfatvel se e somente se para toda interpretaoI, existe no mnimo uma instncia ground C' de alguma clusula C em S tal que C' no satisfeita por I.

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 L1, ..., 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

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

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


Exemplo 4.11: Considere S = {P(x), P(a)}. O conjunto de tomos de S {P(a)}. Uma rvore semntica completa para S mostrada na Fig. 4.2.
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

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


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

42

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

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

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

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


Exemplo 4.14: Considere S = {P(x), ~P(x) Q(f(x)), ~Q(f(a))}. O conjunto de tomos de S igual a: A = {P(a), Q(a), P(f(a)), Q(f(a)), ...}. A figura 4.5 mostra uma rvore semntica fechada para S.
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

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 44

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

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

4.6 IMPLEMENTAO DO TEOREMA HERBRAND A segunda verso do teorema de Herbrand sugere um procedimento de refutao. Isto , dado um conjunto insatisfatvel S de clusulas para provar, se h um procedimento mecnico que pode sucessivamente gerar os conjuntos S1', ..., S n', ... de instncias base de clusulas em S e sucessivamente testar se eles so insatisfatveis, ento como garantido pelo Teorema de Herbrand, este procedimento pode detectar um nmero finito N tal que SN' insatisfatvel. Gilmore em 1960 desenvolveu um programa de computador que gerava, sucessivamente, os conjuntos S0', S1', ..., onde Si' o conjunto de todos as instncias base obtidas pela troca das variveis em S por constantes no conjunto de constantes i-nvel Hi de S. Uma vez que cada Si' uma conjuno de clusulas base, pode-se usar qualquer mtodo disponvel na lgica proposicional para checar sua insatisfabilidade. Gilmore usou o mtodo multiplicativo. Isto , quando cada Si' produzido, Si' transformado em uma forma normal disjuntiva. Qualquer conjuno na forma normal disjuntiva que contm um par complementar removida. Se algum conjunto Si' for vazio, ento Si' insatisfatvel e a prova encontrada.
Examplo 4.18: Considere S = {P(x), ~P(a)}. H0 = {a} S0 ' = P(a) ~P(a) = Dessa forma S provado ser insatisfatvel. Exemplo 4.19: Considere S = {P(a), ~P(x) Q(f(x)), ~Q(f(a))}. H0 = {a}. S0 ' = P(a) (~P(a) Q(f(a))) ~Q(f(a)) = (P(a) ~P(a) ~Q(f(a))) (P(a) Q(f(a)) ~Q(f(a))) = = Dessa forma est provado que S insatisfatvel.

O mtodo multiplicativo usado por Gilmore ineficiente como facilmente visto. Por exemplo, para um pequeno conjunto de 10 clusulas base com dois literais, h 210 conjunes. Para evitar essa ineficincia, Davis e Putnam introduziram um mtodo mais eficiente para testar se um conjunto de clusulas baixas insatisfatvel.
Mtodo de Davis e Putnam: Seja S um conjunto de clusulas base. Essencialmente, o mtodo consiste das quatro regras a seguir: I. Regra Tautolgica: Retirar todas as clusulas base de S que so tautolgicas. O restante do conjunto S' insatisfatvel se e somente se S o for.

46

Regra do Literal-nico: Se h uma clusula unitria base L em S, obter S' de S retirando todas aquelas clusulas base em S contendo L. Se S' vazia, ento S satisfatvel. Caso contrrio, obter um conjunto S'' de S' pela retirada de ~L de S'. S'' insatisfatvel se e somente se S o . Note que se ~L uma clusula unitria base, ento a clusula torna -se quando ~L retirado da clusula. III. Regra do Literal-Puro: Um literal L em uma clusula base S dito ser puro em S se e somente se o literal ~L no aparecer em nenhuma clusula base em S. Se um literal L puro em S, retirar todas as clusulas base contendo L. O restante do conjunto S' insatisfatvel se e somente se S o . IV. Regra da Separao: Se um conjunto S pode ser colocado na forma (A1 L) ... (Am L) (B1 ~L) ... (Bn ~L) R, onde Ai, Bi, e R so livres de L e ~L, ento obter os conjuntos S1 = A1  Am R e S2 = B1 ... Bn R. S insatisfatvel se e somente se (S1 S2) insatisfatvel, isto , ambos S1 e S2 so insatisfatveis.

II.

Se um conjunto S original insatisfatvel, ento o conjunto restante depois de aplicada uma das regras continua ainda insatisfatvel, e vice-versa. Regra I: Desde que uma tautologia satisfatvel para toda interpretao, S' insatisfatria se e somente S o . Regra II: Se S' vazio, ento todas as instncias base em S contm L. Conseqentemente qualquer interpretao contendo L pode satisfazer S. Portanto S satisfatvel. Ainda tem que se mostrar que S'' insatisfatvel se e somente se S insatisfatvel. Supondo que S" insatisfatvel. Se S satisfatvel, ento h um modelo M de S contendo L. Para S", M precisa satisfazer todas as clusulas que no contm L. Alm disso, uma vez que M falsifica ~L, M precisa satisfazer todas as clusulas que originalmente contm ~L. Portanto, M deve satisfazer S". Isto contradiz a hiptese de que S" insatisfatvel. Conseqentemente S deve ser insatisfatvel. De modo inverso, supondo S ser insatisfatvel. Se S" satisfatvel, ento h um modelo M" de S". Desse modo, qualquer interpretao de S contendo M" e L deve ser um modelo de S. Isso contradiz a hiptese que S no tem modelo. Conseqentemente S" deve ser insatisfatvel. Portanto, S" insatisfatvel se e somente se S o . Regra III: Supondo S' ser insatisfatvel. Ento S deve ser insatisfatvel uma vez que S' um subconjunto de S. De modo inverso, supondo que S insatisfatvel. Se S' satisfatvel, ento h um modelo M de S'. Uma vez que nem L, nem ~L est em S', nem L, nem ~L est em M. Assim qualquer interpretao de S que contm M e L um modelo de S. Isto contradiz a hiptese de que S no tem mode lo. Conseqentemente S' deve ser insatisfatvel. Portanto, S' insatisfatvel se e somente se S insatisfatvel. Regra IV: Supondo que S insatisfatvel. Se (S1 S2) satisfatvel, ento S1 ou S2 tem um modelo. Se S 1(S2) tem um modelo M, ento qualquer interpretao de S contendo ~L(L) um modelo de S. Isto contradiz a hiptese de que S no tem modelo. Conseqentemente (S1 S2) insatisfatvel. De modo inverso, supondo que (S1 S2) insatisfatvel. Se S satisfatvel, S precisa ter um modelo M. Se M contm ~L(L), M pode satisfazer S1(S2). Isto contradiz a hiptese de que (S1 S2) insatisfatvel. Conseqentemente S precisa ser insatisfatvel. Portanto, S insatisfatvel se e somente se (S1 S2) o . As regras acima so muito importantes. Nos captulos seguintes ser visto que as essas regras tem muitas extenses. 47

Exemplo 4.20: Mostre que S = (P Q ~R) (P ~Q) ~P R U insatisfatvel. (1) (P Q ~R) (P ~Q) ~P R U (2) (Q ~R) (~Q) R U Regra II em ~P (3) ~R R U Regra II em ~Q (4) U Regra II em ~R. Uma vez que a ltima frmula contm a clusula vazia, S insatisfatvel. Exemplo 4.21: Mostre que S = (P Q) ~Q (~P Q ~R) satisfatvel. (1) (P Q) ~Q (~P Q ~R) (2) P (~P ~R) Regra II em ~Q (3) ~R Regra II em P (4) Regra II em ~R. Sendo ltimo conjunto vazio, ento S satisfatvel. Exemplo 4.22: Mostre que S = (P ~Q) (~P Q) (Q ~R) (~Q ~R) satisfatvel. (1) (P ~Q) (~P Q) (Q ~R) (~Q ~R) (2) (~Q (Q ~R) (~Q ~R)) (Q (Q ~R) (~Q ~R)) Regra IV em P (3) ~R ~R Regra II em ~Q e Q (4)  Regra II em ~R. Uma vez que ambos os conjuntos que foram separados so satisfatveis, ento S satisfatvel. Exemplo 4.23: Mostre que S = (P Q) (P ~Q) (R Q) (R ~Q) satisfatvel. (1) (P Q) (P ~Q) (R Q) (R ~Q) (2) (R Q) (R ~Q) Regra III em P (3) Regra III em R. Logo, S satisfatvel.

O mtodo acima para testar a insatisfabilidade (inconsistncia) mais eficiente que o mtodo multiplicativo. Esse mtodo pode ser aplicado para qualquer frmula na lgica proposicional. Para tanto necessrio primeiro transformar a frmula proposicional dada na forma normal conjuntiva, e ento aplicar as quatro regras acima. Para praticar a aplicao deste mtodo utilize-o para resolver o Exemplo 2.13 do Captulo 2. 4.7 EXERCCIOS
Seo 4.2 1. Encontre a forma padro para cada uma das seguintes frmulas: (a) ~((x) P(x) p ( y)( z) Q(y,z)) (b) (x)((~E(x,0) p (( y)(E(y, g(x)) (z)(E(z, g(x)) p (E(y,z))))) (c) ~(( x)P(x) p ( y)P(y)). 2. Suponha que ( x)( y) M[x,y] uma forma normal prenex de uma frmula F, onde M[x,y] a matriz que contm somente variveis x e y. Seja f uma funo que no ocorre em M[x,y]. Prove que F vlida se e somente se (x)M[x,f(x)] vlida. 3. Sendo S1 e S2 formas padro das frmulas F1 e F2, respectivamente. Se S1 = S2, verdadeiro que F1 = F2? Explique.

48

4. Considere as seguintes proposies: F1: Todo aquele que guarda dinheiro, ganha juros. F2: Se no h juros, ento ningum guarda dinheiro. Seja S(x,y), M(x), I(x) e E(x,y) representando, respectivamente, "x guarda y", "x dinheiro", "x juros" e "x ganha y". (1) Simbolize F1 e F2. (2) Encontre as formas normais de F1 e ~F2.
Seo 4.3 5. Seja S = {P(f(x), a, g(f(x), b))}. (1) Encontre H0 e H1. (2) Encontre todas as instncias base de S sobre H0. (3) Encontre todas as instncias base de S sobre H1. 6. Prove o Lema 4.1 desse captulo. 7. Seja F uma frmula. Seja S uma forma padro de ~F. Encontre a condio necessria e suficiente para F de modo que o universo Herbrand de S seja finito.

8. Considere a seguinte clusula C e a interpretao I: C: P(x) Q(x,f(x)) I: {~P(a), ~P(f(a)), ~P(f(f(a))), ..., ~Q(a, a), Q(a, f(a)), ~Q(a, f(f(a))), ..., ~Q(f(a), a), Q( f(a), f(a)), ~Q( f(a), f(f(a))), ...}. A interpretao I satisfaz C? 9. Considere o seguinte conjunto S de clusulas: S = {P(x), Q(f(y))}. Seja uma interpretao I definida como abaixo: I = {P(a), P(f(a)), P(f(f(a))), ..., Q(a), ~Q(f(a)), Q( f(f(a))), ...}. A interpretao I satisfaz S? 10. Considere S = {P(x), ~P(f(y))}. 1. Encontre H0, H1, H2 e H3 de S. 2. possvel encontrar uma interpretao que satisfaa S? Se possvel, d uma. Se no, por qu?
Seo 4.4 11. Seja S = {P, ~P Q, ~Q}. D uma rvore semntica fechada de S. 12. Considere S = {P(x), ~P(x) Q(x,a), ~Q(y,a)}. (a) Encontre o conjunto de tomos de S. (b) Encontre uma rvore semntica completa de S. (c) Encontre uma rvore semntica fechada de S. Seo 4.5 13. Considere S = {P(x, a, g(x, b)), ~P(f(y), z, g(f(a), b))}. Encontre um conjunto insatisfatvel S' de instncias base de clusulas em S. 14. Seja S = {P(x), Q(x, f(x)) ~P(x), ~Q(g(y), z)}. Encontre um conjunto insatisfatvel S' de instncias base de clusulas em S. Seo 4.6 15. Use as regras sugeridas por Davis e Putnam para provar que as seguintes frmulas so insatisfatveis.

49

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

50

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

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

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

C3: Q. O que a regra do um-literal requer que primeiro se examine se h um par complementar de um literal (por exemplo, P) em C1 e um literal (por exemplo, ~P) em C2, 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, o btmse 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 C2, 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 C1 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 C1 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.

52

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 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 ~Pv Q Pv ~Q ~Pv ~Q

~Q

53

Figura 5.1 rvore de Deduo para S = {P Q, ~P Q, P ~Q, ~P ~Q} O princpio de resoluo uma regra de inferncia bastante poderosa. Na seqncia ser definido este princpio no contexto da lgica de predicados. Ser mostrado tambm que o princpio de resoluo completo para provar se um conjunto de clusulas insatisfatvel. Isto , dado um conjunto S de clusulas, S insatisfatvel se e somente se h uma resoluo que produz uma clusula vazia a partir de S. Na seo 5.7, ser aplicado o princpio de resoluo para vrios exemplos no qual pode se ver a utilidade desta regra de inferncia.

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

54

Exemplo 5.6: Os dois conjuntos a seguir so substituies:{f(z)/x, y/z}, {a/x, g(y)/y, f(g(b))/ z}. Definio: Seja U = {t 1/v1, ..., tn/vn} uma substituio e E uma expresso. Ento EU uma expresso obtida a partir de E pela substituio simultnea de cada ocorrncia da varivel vi, 1  i  n, em E pelo termo ti. EU 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 U = {a/x, f(b)/y, c/z} e E = P(x,y,z). Ento EU = P(a, f(b), c). Definio: Sejam U = {t 1/x1,..., tn/xn} e P = {u1/y1,..., um/ym} duas substituies. Ento a composio de U e P a substituio, denotada por U P, que obtida a partir do conjunto: {t1P/x1, ..., tnP/xn, u1/y1, ..., um/ym} pela retirada de todo elemento tjP/xj para o qual t jP = xj e todo elemento ui/yi tal que yi est entre {x1, x2, ..., xn}. Exemplo 5.8: Sejam:    
U = {t 1/x 1, t2/x2} = {f(y)/ x,z/y} P = {u1/y1, u2/y 2, u3/y 3} = {a/x, b/y, y/z}, ento:

{t1P/x1, t2P/x2, u1/y1, u2/y2, u3/y3} = {f(b)/x, y/y, a/x, b/y, y/z}. Visto que t 2P = x2,t2P/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: U r P = {f(b)/x, y/z}. Deve notar-se que a composio de substituies associativa, e que a substituio vazia (I) uma identidade tanto a esquerda como a direita. Isto , (U P)Q = U (P Q) e I U = U I para todo U, P e Q. 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 U chamada de unificador para um conjunto de expresses {E1, ..., Ek} se e somente se E1U = E2U = ... = EkU O conjunto {E1, ..., Ek} dito ser unificvel se h um unificador para o mesmo. Definio: Um unificador W para um conjunto de expresses {E1, ..., Ek} o unificador mais geral se e somente se para cada unificador U para o conjunto h uma substituioP tal que U =W P. Exemplo 5.9: O conjunto {P(a,y), P(x, f(b))} unificvel desde que a substituio U = {a/x, f(b)/y} seja um unificador para o conjunto.

5.4 ALGORITMO DE UNIFICAO 55

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

56

7. W2 no composto por elementos idnticos, conseqentemente encontra-se o conjunto diferena D2 de W2: D2 = {g(y), u}. 8. A partir de D2 acha-se que v2 = u e t2 = g(y). 9. Sejam: W3 = W 2 {t 2/v2} = {a/z, f(a)/x} {g(y)/u} = {a/z, f(a)/x, g(y)/u} W3 = W2 {t 2/v2} = {P(a, f(a), f(g(y))), P(a, f(a), f(u))} {g(y)/u} = {P(a, f(a), f(g(y))), P(a, f(a), f(g(y)))} = {P(a, f(a), f(g(y)))}. 10. Como W3 composto por elementos idnticos, W 3 = {a/z, f(a)/x, g(y)/u} o unificador mais geral para W. Exemplo 5.12: Determinar se o conjunto W = {Q(f(a), g(x)), Q(y, y)) ou no unificvel. 1. Sejam W 0 = I e W0 = W. 2. W0 no composto por elementos idnticos, conseqentemente encontra-se o conjunto diferena D0 de W0: D0 = {f(a), y}. 3. A partir de D0 sabe-se que v0 = y e t0 = f(a). 4. Sejam: W1 = W 0 {t 0/v0} = I {f(a)/y} = {f(a)/y}. W1 = W0 {t 0/v0} = {Q(f(a), g(x)), Q(y, y)} {f(a)/y} = {Q(f(a), g(x)), Q(f(a), f(a))}. 5. W1 no um composto por elementos idnticos, conseqentemente encontra o conjunto -se diferena D1 de W1: D1 = {g(x), f(a)}. 6. Entretanto, nenhum elemento de D1 uma varivel. Conseqentemente o algoritmo de unificao terminado e conclui-se que W no unificvel.

Deve ser notado que o algoritmo de unificao acima sempre terminar para qualquer conjunto finito no vazio de expresses, caso contrrio deveria ser gerada uma seqncia infinita WW 0, WW 1, WW 2, ... de conjuntos finitos no vazios de expresses com a propriedade de que cada conjunto sucessivo contm uma varivel a menos que o seu predecessor (a saber, WW k contm vk mas WW k+1 j no o contm). Isso se torna impossvel, pois W contm um nmero finito de variveis distintas. Foi indicado anteriormente que se W unificvel, o algoritmo de unificao sempre encontrar o unificador mais geral para W. Isso provado no teorema seguinte.
Teorema 5.2 (Teorema de Unificao): Se W um conjunto unificvel finito no vazio de expresses, ento o algoritmo de unificao sempre terminar no passo 2 e o ltimo W k o unificador mais geral para W. Prova: Uma vez que W unificvel, sendo  um unificador para W. Para k = 0, 1, ..., mostrase que existe uma substituio k tal que:  =  k  k , por induo em k. Para k = 0, faz-se 0 = . Ento,  =  0  0 , uma vez que  0 = . Suponha que  = k  k ainda vlido para 0  k  n. Se W n composto somente por elementos idnticos, ento o algoritmo de unificao termina no Passo 2. Uma vez que  = n  n , n o unificador mais geral para W. Se W n no composto somente por elementos idnticos, o algoritmo de unificao ir encontrar um conjunto diferena Dn de Wn . Sendo  =  n   n um unificador de W,  n deve unificar Dn . Entretanto, uma vez que Dn um conjunto diferena, deve existir uma varivel em Dn . Sendo t n qualquer outro elemento diferente de vn . Ento, uma vez que  n

57

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

58

2. um resolvente binrio de C1 e um fator de C2, 3. um resolvente binrio de um fator de C1 e de C2, 4. um resolvente binrio de um fator de C1 e um fator de C2 .
Exemplo 5.15: Seja C1 = P(x)  P(f(y))  R(g(y)) e C2 = ~P(f(g(a)))  Q(b). Um fator de C1 e C1 = P(f(y))  R(g(y)). Um resolvente binrio de C1 e C2 R(g(g(a)))  Q(b). Portanto, R(g(g(a)))  Q(b) um resolvente binrio de C1 e C2.

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

Figura 5.2 Trapezide

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 59

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

60

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

~Q

~Q

~Q

~P

( ) P ~P ( ) P (c) ~P

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. Na seqncia, usa-se os conceitos desenvolvidos anteriormente para provar a completude do princpio da resoluo. Isto , aps construir uma rvore semntica fechada para um conjunto insatisfatvel de clusulas, pode-se gradualmente forar o desaparecimento da rvore e, ao mesmo tempo, obter uma prova por resoluo. Antes de se provar o teorema da completude, prova-se um lema chamado de lifting lemma.
Lema 5.1: (Lifiting Lemma) Se C1 e C2 so instncias de C1 e C2 , respectivamente, e se C um resolvente de C1 e C2 , ento existe um resolvente C de C1 e C2 tal que C uma instncia de C. Prova: Renomeia-se, se necessrio, as variveis em C1 e C2 ,tal que as variveis em C1 sejam todas diferentes das em C2 . Sendo L1 e L2 , os literais a serem resolvidos, e sendo: C'' = (C1 - L1)  (C2 - L2), onde  o unificador mais geral de L1 e ~L2 . Uma vez que C1 e C2 so instncias de C1 e C2 , respectivamente, existe uma substituio  tal que C1 = C1 e C2 = C2. Sendo Li1, ..., Liri os literais em Ci correspondentes a Li' , (isto , Li1 = ... = Liri = Li' ), i = 1,2. Se r i > 1, obtm-se um unificador mais geral i para {Li1, ..., Liri } e faa Li = Li1i , i = 1,2. (Observe que Li1 i , ... , Lirii so os mesmos, uma vez que  i um unificador mais geral). Ento Li um literal no fator Ci i de Ci . Se ri = 1, sendo i =  e Li = Li1 i . Faa  = 1   2 . Desse modo, Li' uma instncia de Li. Uma vez que Li' e L2' so unificveis, L1 e ~L2 tambm o so. Sendo  o unificador mais geral de L1 e ~L2 . Considerando: C = ((C1 ) - L1)  ((C2) - L2) = ((C1 ) - ({L11, ..., L1r1} ))  ((C2) - ({L21, ..., L2r2})) = ((C1( ) - {L11, ..., L1r1}())  ((C2() - {L21, ..., L2r2}( )) C um resolvente de C1 e C2 . De modo claro, C' uma instncia de C, uma vez que C' = (C1' - L1')  (C2' - L2') = ((C1 ) - ({L11, ..., L1r1} ))  ((C2) - ({L21, ..., L2r2})) = ((C1( ) - {L11, ..., L1r1}(  ))  ((C2( ) - {L21, ..., L2r2}( )) e  mais geral que   . Assim completa-se a prova deste lema. Teorema 5.3: (O Princpio de Resoluo) Um conjunto de clusulas no satisfatrio se e somente se existir uma deduo de uma clusula vazia de S.

( )

( )

(d)

61

(a)

( ) ~P

(b)

Prova: (IDA) Supondo que S insatisfatvel. Seja A = {A1, A2, A3, ... } o conjunto de tomos de S e T a rvore semntica completa como mostrado na figura 5.5. Pelo Teorema de Herbrand (verso I), T tem uma rvore semntica fechada finita T'. Se T' consiste somente de um n (raiz), ento deve estar em S, pois nenhuma outra clusula pode ser falsificada na raiz de uma rvore semntica. Neste caso, o teorema obviamente verdadeiro. Assumindo que T' consiste de mais de um n, ento T' tem pelo menos um n de inferncia, pois, se no existir, ento todo n poderia ter pelo menos um sucessor no falha. Poder-se-ia, ento, encontrar um ramo infinito em T', contradizendo o fato de que T' uma rvore semntica fechada finita. Sendo N um n de inferncia em T' e N1 e N2 os ns falha imediatamente abaixo de N. Seja, I(N) = {m1, m2, ... , mn} I(N1) = {m1, m2, ... , mn, mn+1} I(N2) = {m1, m2, ... , mn, ~mn+1} Uma vez que N1 e N2 so ns falha, mas N no um n falha, devem existir duas instncias base C1 e C2 de clusulas C1 e C2 , tais que C1 e C2 so falsas em I(N1) e I(N2), respectivamente, mas tanto C1 quanto C2 no so falsificadas por I(N). Portanto C1 deve conter ~mn+1 e C2 deve conter mn+1 . Sendo L1 = ~mn+1 e L2 = mn+1 . Resolvendo com os literais L1 e L2 , pode-se obter um resolvente C' de C1 e C2 , dito, C' = (C1 - L1)  (C2 - L2). C' deve ser falsa em I(N) uma vez que (C1 - L1) e (C2 - L2) so falsos em I(N). Pelo lema 5.1, existe um resolvente C de C1 e C2 tal que C' uma instncia base de C. Sendo T'' a rvore semntica fechada de (S  {C}) obtida, a partir de T', pela eliminao de todo n ou ramo que estiver abaixo do primeiro n onde o resolvente C' falsificado. De maneira clara, o nmero de ns em T'' menor que em T'. Aplicando o processo acima, novamente, em T'', pode-se obter outro resolvente das clusulas em (S  {C}). Colocando este resolvente em (S  {C}), pode-se obter outra rvore semntica ainda menor. Este processo aplicado repetidamente at que a rvore semntica seja composta de um nico n, ou seja, o n raiz gerado. Isto possvel somente quando derivado. Portanto, uma deduo de a partir de S. (VOLTA) De modo inverso, suponha que existe uma deduo de a partir de S. Seja R1, R2, ... , Rk os resolventes na deduo. Assuma que S satisfatvel. Ento existe um modelo M de S. Entretanto, se um modelo satisfaz as clusulas C1 e C2 , ele deve satisfazer, tambm, qualquer resolvente de C1 e C2 (Teorema 5.1). Portanto, M satisfaz R1, R2, ... , Rk . Entretanto, isto impossvel, pois um destes resolventes . Portanto, S deve ser insatisfatvel. A
1

~A

~A

~A

Figura 5.5 rvore Semntica Completa 62

5.7 EXEMPLOS USANDO O PRINCPIO DE RESOLUO Nos captulos anteriores, foram usados muitos mtodos para provar a inconsistncia de frmulas. Nesta seo sero mostrados exemplos da eficincia do princpio de resoluo na prova de teoremas.
Exemplo 5.18: Usando-se novamente o Exemplo 2.10. Tem-se 4 declaraes: (1) P  S (2) S  U (3) P (4) U. Para mostrar que (4) vem de (1), (2) e (3), primeiro transforma-se todas essa declaraes em formas padres. Ento, tem-se: (1) ~P  S (2) ~S  U (3) P (4) U. Prova-se que U conseqncia lgica de (1), (2) e (3) por refutao. Nega-se (4) e obtm-se a seguinte prova: (1) ~P  S (2) ~S  U (3) P (4) ~U negao da concluso (5) S um resolvente de (3) e (1) (6) U um resolvente de (5) e (2) (7) um resolvente de (6) e (4). Exemplo 5.19: Reconsiderando o exemplo 2.12 no captulo 2. Tem-se trs frmulas F1 , F2 e F3. Deseja-se provar que ~Q uma consequncia lgica de F1  F2  F3. Nega-se ~Q e transforma-se F1  F2  F3 em uma forma padro. Isso gera o seguinte conjunto de clusulas: (1) ~P  ~Q  R de F1 (2) ~P  ~Q  S de F1 (3) P de F2 (4) ~S de F3 (5) Q negao da concluso. Usando resoluo, obtm-se a seguinte prova: (6) ~Q  S um resolvente de (3) e (2) (7) S um resolvente de (6) e (5) (8) um resolvente de (7) e (4). Exemplo 5.20: Considerar o seguinte conjunto de frmulas: F1: ( x) (C(x)  (W(x)  R(x))) F2: ( x) (C(x)  O(x)) G: ( x) (O(x)  R(x)). O problema mostrar que G uma consequncia lgica de F1 e F2. Transforma-se F1 e F2 e ~G em formas padres e obtm-se as cinco clusulas seguintes: (1) ~C(x)  W(x) de F1 (2) ~C(x)  R(x) de F1 (3) C(a) de F2 (4) O(a) de F2 (5) ~O(x)  ~R(x) de ~G. 63

O conjunto de clusulas acima insatisfatvel. Isto pode ser provado por resoluo como segue: (6) R(a) um resolvente de (3) e (2) (7) ~R(a) um resolvente de (5) e (4) (8) um resolvente de (7) e (6). Portanto, G uma consequncia lgica de F1 e F2 .
Exemplo 5.21: Reconsiderando o Exemplo 3.15. Tem-se: F1: ( x) (P(x)  ( y) (D(y)  L(x,y))) F2: ( x) (P(x)  ( y) (Q(y)  ~L(x,y))) G: ( x) (D(x)  ~Q(x)). De modo usual, F1 , F2 e ~G so transformados nas seguintes clusulas: (1) P(a) de F1 (2) ~D(y)  L(a, y) de F1 (3) ~P(x)  ~Q(y)  ~L(x,y) de F2 (4) D(b) de ~G (5) Q(b) de ~G. Usando resoluo, obtm-se a seguinte prova: (6) L(a,b) um resolvente de (4) e (2) (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)

64

(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) (9) V(a)  C(f(a)) (10) C(f(a)) (11) V(a)  S(a, f(a)) (12) S(a, f(a)) (13) P(f(a)) (14) ~C(f(a)) (15) Ento, consegue-se chegar a concluso.

de (3) e (6) de (2) e (4) de (8) e (9) de (1) e (4) de (8) e (11) de (12) e (5) de (13) e (7) de (10) e (14).

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

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

65

O procedimento de prova o seguinte: (5) C(b) de (1) e (2) (6) ~V(a, b) de (5) e (4) (7) de (6) e (3). Pode-se traduzir a prova acima para o portugus, como segue: Assume-se que b um estudante, a o seu voto, e a no um voto de qualquer cidado. Desde que b um estudante, b deve ser um cidado. Portanto, a no deve ser um voto de b por que b um cidado. Isto impossvel. Ento a prova est concluda. 5.8 ESTRATGIA DE ELIMINAO Nas sees anteriores, mostrou-se que a resoluo completa. Resoluo tambm mais eficiente que os mtodos anteriores tal como o procedimento de Herbrand usado por Gilmore. No entanto, aplicaes repetitivas da resoluo podem gerar muitas clusulas irrelevantes e redundantes. Para observar isso, considera-se um exemplo simples: Suponha que se quer mostrar, por resoluo, que o conjunto de clusulas S = {P  Q, ~P  Q, P  ~Q, ~P  ~Q} contraditrio. Um caminho simples para a resoluo do conjunto S calcular todos os resolventes dos pares de clusulas de S, adicionar esses resolventes ao conjunto S, calcular todos os resolventes , e repetir este processo at que se chegue clusula . Isto , 0 1 2 0 gera-se as sequncias , S , S , S , ..., onde: S = S, Sn = {solues de C1 e C2 | C1  (S0  ...  Sn-1) e C2  Sn-1 }, n = 1, 2, 3, ... Este procedimento chamado mtodo (resoluo) de saturao. Para programar este mtodo em computadores, pode-se primeiro listar clusulas de (S0  ...  Sn-1) em ordem, e ento calcular os resolventes comparando todas as clusulas C1  (S0  ...  Sn-1) com uma clusula C2  Sn-1 a qual listada depois de C1. Quando um resolvente calculado, ele anexado ao fim da lista que foi gerada. Isso o que foi feito no conjunto de clusulas geradas mostrado abaixo: S0: (1) PQ (2) ~P  Q (3) P  ~Q (4) ~P  ~Q S1: (5) Q de (1) e (2) (6) P de (1) e (3) (7) Q  ~Q de (1) e (4) (8) P  ~P de (1) e (4) (9) Q  ~Q de (2) e (3) (10) P  ~P de (2) e (3) (11) ~P de (2) e (4) (12) ~Q de (3) e (4) S2: (13) P  Q de (1) e (7) (14) P  Q de (1) e (8) (15) P  Q de (1) e (9) (16) P  Q de (1) e (10) (17) Q de (1) e (11) (18) P de (1) e (12) (19) Q de (2) e (6) (20) ~P  Q de (2) e (7) 66

(21) ~P  Q de (2) e (8) (22) ~P  Q de (2) e (9) (23) ~P  Q de (2) e (10) (24) ~P de (2) e (12) (25) P de (3) e (5) (26) P  ~Q de (3) e (7) (27) P  ~Q de (3) e (8) (28) P  ~Q de (3) e (9) (29) P  ~Q de (3) e (10) (30) ~Q de (3) e (11) (31) ~P de (4) e (5) (32) ~Q de (4) e (6) (33) ~P  ~Q de (4) e (7) (34) ~P  ~Q de (4) e (8) (35) ~P  ~Q de (4) e (9) (36) ~P  ~Q de (4) e (10) (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 0 n-1 ordem: Primeiro, listar as clusulas (S  ...  S ) em ordem; ento calcular resolventes 0 n-1 n-1 comparando todas as clusulas C1  (S  ...  S ) com uma clusula C2  S a qual listada aps C1 . 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 67

(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, ..., a n so novas constantes distintas que no aparecem nem em C nem em D. Supondo que D = L1  L2  ...  Lm. Ento, D = L1  L2  ...  Lm. Nota-se que D uma clusula base. ~ D = ~L1  ...  ~Lm. O algoritmo seguinte testa se C engloba ou no D.
Algoritmo de Englobamento Passo 1: Passo 2: Passo 3: Passo 4:

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

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

68

B
2

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


Exemplo 5.26: Sendo C = ~P(x)  Q(f(x), a) e D = ~P(h(y))  Q(f(h(y)), a)  ~P(z). Verificar se C engloba D. 1. y e z so variveis em D. Seja  = {b/y, c/z }. Nota-se que b e c no se encontram em C ou D. Ento D = ~P(h(b))  Q( f(h(b)), a)  ~P(c). Portanto, D = ~P(h(b))  ~Q( f(h(b)), a)  P(c). Deste modo: W = { P(h(b)) , ~Q(f(h(b)), a), P(c) } U0 = { ~P(x)  Q(f(x), a)}. 0 2. Uma vez que U no contm , obtm-se: 1 U = { Q(f(h(b)), a) , ~P(h(b)), Q(f(c), a) }. 1 2 3. J que U no vazio e no contm , obtm-se U = { }. 2 4. Uma vez que U contm , o algoritmo termina e conclui-se que C engloba D. Exemplo 5.27: Seja C = P(x,x) e D = P(f(x), y)  P(y, f(x)) . Determine se C engloba ou no D. 1. x e y so variveis em D. Escolher novas constantes a e b diferentes de qualquer constante em C ou D. Seja  = { a/x, b/y }. Ento, D = P( f(a), b)  P(b, f(a)). ~D = ~P(f(a), b)  ~P(b, f(a)). Assim, W = { ~P(f(a), b), ~P(b, f(a)) } 0 U = {P(x,x)}. 0 1 2. Uma vez que U no contm , obtm-se: U =  . 1 3. Uma vez que U vazio, o algoritmo termina e conclui-se que C no engloba D.

5.9 EXERCCIOS
Seo 5.2 1. Provar que o seguinte conjunto de clusulas insatisfatvel usando resoluo: P  Q  R , ~P  R, ~Q  ~R. 2. A partir do conjunto S = { P  Q, ~Q  R , ~P  Q, ~R} derivar em uma clusula vazia de por resoluo.

69

Seo 5.3 3. Sendo  = {a/b, b/y, g(x, y)/z} uma substituio e E = P(h(x), z). Encontrar E. 4. Sendo 1 = {a/x, f(z)/y, y/z} e  2 = {b/x, z/y, g(x)/z}. Achar a composio de  1 e 2 . 5. Provar o seguinte teorema: Sejam , , e  substituies. Ento      =   (   ) (associatividade). Seo 5.4 6. Determinar se cada um dos seguintes conjuntos de clusulas unificvel. Se for, obter um unificador mais geral. (1) W = {Q(a), Q(b) } (2) W = {Q(a, x), Q(a, a) } (3) W = {Q(a, x, f(x)), Q(a, y, y) } (4) W = {Q(x, y, z), Q(u,h(v,v), u)} (5) W = {P(x1, g(x1), x2, h(x1, x2), x3 , k(x1, x2, x3)), P(y1, y2, e(y2), y3, f(y2, y3), y4 )}. Seo 5.5 7. Determinar se as seguintes clusulas tm fatores e quando houver, determin-los. (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 H2CO3 pode ser provado atravs de resoluo. 10. No exerccio 14 do Captulo 2, pediu-se para mostrar que Q uma consequncia lgica de P e (P  Q). Pode-se provar isso usando o princpio de resoluo? 11. Reconsiderar o exerccio 12 do Captulo 3. Resolva-o usando o princpio de resoluo. 12. Considerar o exemplo 4.16. Provar que o conjunto de clusulas nesse exemplo insatisfatvel atravs do princpio de resoluo. 13. Usar o princpio de resoluo para provar que o conjunto de clusulas no exerccio 14 do Captulo 4 insatisfatvel. 14. Provar que (~Q  ~P) uma consequncia lgica de (P  Q) atravs da resoluo. Seo 5.8 15. Seja C = P(x, y)  Q(z) e D = Q(a)  P(b,b)  R(u). Determinar se C engloba D. 16. Seja C = P(x,y)  R(y,x) e D = P(a, y)  R(z, b). Provar que C no engloba D. 17. Seja C = ~P(x)  P(f(x)) e D = ~P(x)  P(f(f(x))). Mostrar que C implica em D, mas C no engloba D.

70

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

71

(1) e (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, usase 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 satisfeita por I. Portanto, esta interpretao s pode ser usada para dividir S em S1 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 S1 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) Q R (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 S2 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 S1 e resolve-se ela com as clusulas em S2. 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

(2)

( )

( )

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

( )

( ) (2)

73

(1)

(1)

de R3 que falso em I. Deste modo {E1 , E2 , N} satisfaz todas as quatro condies para ser um PI-conflito e tem como PI-resolvente S(c). Em um PI-conflito {E1 , ... , Eq , N} E1 considerado o primeiro eltron, E2 o segundo e Eq o ltimo. De fato, a ordem destes eltrons irrelevante. Pode-se reordenar os eltrons obedecendo qualquer ordem e obter o mesmo PI-resolvente deste conflito. Portanto, pode-se evitar a gerao de muitas dedues do mesmo resolvente, como mostrou o Exemplo 6.2. Esta a razo para o uso do conceito de conflito.
Definio: Sendo I uma interpretao de um conjunto de clusulas S e P uma ordenao de predicados em S. Uma deduo de S chamada de PI deduo se e somente se cada clusula da deduo uma clusula em S ou um PI-resolvente. Exemplo 6.6: Sendo S = {A1 A2 , A1 ~A2 , ~A1 A2 , ~A1 ~A2}, I = {A1, ~A2} e P uma ordenao na qual A1 < A2. A deduo mostrada na figura 6.2 uma PI-deduo de a partir de S. Na figura 6.2, existem trs PI-resolventes, ditos, ~A1 , A2 , .
E' = ~A v A 1 1 2 N' = ~A 1 v ~A 2

E'' = ~A 1 1

N'' =A

vA

E''' = ~A 1 1

E''' = A 2 2

N''' = A

v ~A

Figura 6.2 PI-deduo de

a partir de S, para o Exemplo 6.6

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

74

E' = A v A 1 1 2

N' = ~A

vA

E'' = A 1 2

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 PI resoluo 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' , ... , E'q , N'} pelo 1 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 PI-deduo 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 D1 a deduo obtida de D', colocando-se o literal L de volta quelas clusulas das quais ele foi eliminado, D1 ainda uma PI-deduo, uma vez que L contm o menor predicado e L falso em I. D1 uma PI-deduo de ou L. Se D1 for uma PI-deduo de , chegou-se ao objetivo. Se D1 for L, considere o 75

conjunto (S  {L}) que contm a clusula unitria L que falsa em I, pela prova do Caso 1, vista anteriormente, existe uma PI-deduo D2 de a partir de (S  {L}). Combinando D1 e D2 , pode-se obter PI-deduo de a partir de S. Isto completa a prova do Lema 6.1.
Teorema 6.1 (Completude da PI-resoluo): Se P uma ordenao dos predicados num conjunto finito e insatisfatvel de clusulas S, e se I uma interpretao de S, ento existe uma PI-deduo de a partir de S. Prova: Uma vez que S insatisfatvel, pelo Teorema de Herbrand (verso II) existe um conjunto finito insatisfatvel S' de instncias base de clusulas em S. Pelo Lema 6.1, existe uma PI-deduo D' de a partir de S'. Partindo PI-resoluo D', pode-se mostrar agora que possvel produzir uma PI-deduo de a partir de S. Para se ver isto, apenas associa-se a cada n de D' uma clusula, acima ou abaixo da clusula base j existente no local, da seguinte maneira: Para cada n inicial, associe uma clusula em S para a qual a clusula base no local sua instncia. Ento, para cada n no inicial, se as clusulas forma associadas deste modo para cada um de seus ns predecessores imediatos e constituem um PI-conflito, associe o PI-resolvente para o qual a clusula base no local sua instncia (Isto possvel devido ao Lema 5.1). Deste modo, uma clusula associada a cada n onde uma clusula base sua instncia. A clusula associada ao n terminal deve ser , uma vez que a clusula j existente no local a prpria . Fica fcil de se ver que a rvore de deduo, junto com as clusulas associadas, nada mais do que uma PI-deduo de a partir de S. Isto completa a prova.

Nota-se que, sem perda da propriedade de completude, a estratgia de eliminao vista na seo 5.8, pode ser usada em conjunto com a PI-resoluo. 6.5 HIPERRESOLUO E ESTRATGIA DO CONJUNTO DE APOIO: CASOS ESPECIAIS DA RESOLUO SEMNTICA Nesta seo vai-se introduzir dois casos especiais de interpretaes que sero usados na resoluo semntica. Uma destas interpretaes d origem a hiperresoluo e outra a estratgia do conjunto de apoio.
6.5.1 Hiperresoluo

Vai-se considerar uma interpretao I na qual todo literal a negao de um tomo. Se esta interpretao usada, todo eltron e todo PI-resolvente devem conter somente tomos. Do mesmo modo, se todo literal em I um tomo, ento todo eltron e todo PI -resolvente devem conter somente negaes de tomos. Hiperresoluo est baseada nestas consideraes.
Definio: Uma clusula chamada de positiva se todos os seus literais no contm nenhum sinal de negao. Uma clusula chamada de negativa se todos os seus literais contm o sinal de negao. Uma clusula chamada de mista se no positiva nem negativa. Definio: Uma hiperresoluo positiva um caso especial de PI-resoluo na qual todo literal da interpretao I contm o sinal de negao. Ela chamada de hiperresoluo positiva, pois todos os eltrons e PI-resolventes para este caso so positivos.

76

Definio: Uma hiperresoluo negativa um caso especial de PI-resoluo na qual a interpretao I no contm nenhum sinal de negao. Ela chamada de hiperresoluo negativa, pois todos os eltrons e PI-resolventes para este caso so negativos.

Do Teorema 6.1, pode-se ver que as hiperresolues, tanto negativa quanto positiva, so completas.
Exemplo 6.7: Para o seguinte conjunto de clusulas: S = {Q(a) R(x), Q(x) R(x), ~R(a) ~S(a), S(x)} seja P uma ordenao definida como R < Q < S. Ento obtm-se as hiperresolues positiva e negativa mostradas nas figuras 6.4(a) e 6.4(b), respectivamente.
Q( ) v R(x) ~Q(x) v R(x) ~R( ) v ~S( )

R(x) v R( )

S(x)

~R( ) v ~S( )

~R( ) ~Q( )

~R( )

Q( ) v R(x)

( )

( )

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 R ~Q v ~R v S ~S ~Q v ~R v S

~Q v ~R S ~S ~R

( )

( )

Figura 6.4 Hiperresolues positiva (a) e negativa (b) para as clusulas do Exemplo 6.8
6.5.2 Estratgia do Conjunto de Apoio

77

S(x)

~Q(x) v R(x)

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.
Definio: Um subconjunto T de um conjunto S de clusulas chamado de conjunto de apoio de S se S - T satisfatvel. Uma resoluo por conjunto de apoio a resoluo de duas clusulas onde ambas no esto em S - T. Uma deduo por conjunto de apoio uma deduo na qual toda resoluo uma resoluo por conjunto de apoio.

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

78

O terceiro resolvente gerado (7) obtido pela resoluo entre (6) e (1), aplicando-se o algoritmo de unificao entre os seguintes literais: ~P(x3,y3,k(h(y3,v3))) ~P(g(x1,y1),y3,k(h(y3,v3))) P(g(x1,y1),x1,y1) P(g(x1,y1),x1,y1) 0 = {g(x1,y1)/x3}  1 = 0 {y3/x1}  1 = {g(y3,y1)/x3,y3/x1} ~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 = A1 A3 , E2 = A2 1 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). 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 . 79
Exemplo 6.10: Considere:

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. Dar-se- agora as definies formais.
Definio: Uma clusula ordenada uma seqncia de literais distintos.

Da mesma maneira que uma clusula, uma clusula ordenada tambm interpretada como uma disjuno de todos os literais que compem a clusula ordenada. A nica diferena que a ordem dos literais em uma clusula irrelevante, enquanto que a ordem dos literais na clusula ordenada especificada. Uma clusula ordenada tambm ser escrita como uma disjuno de literais. Isto no causar confuso, pois sempre se usar a palavra ordenada para fazer referncia a clusulas ordenadas.
Definio: Um literal L2 dito ser maior que um literal L1 em uma clusula ordenada (ou L1 menor que L2) se e somente se L2 segue L1, na seqncia especificada pela clusula ordenada.

Pode-se considerar resoluo semntica usando clusulas ordenadas. Entretanto, define-se primeiro a resoluo ordenada para clusulas ordenadas.
Definio: Se dois ou mais literais (com o mesmo sinal) de uma clusula C, tem um unificador mais geral , ento a clusula ordenada obtida da seqncia C, pela eliminao de todo literal que idntico a um literal menor na seqncia, chamada de fator ordenado de C. Exemplo 6.11: Considere a clusula ordenada C = P(x) Q(x) P(a), o primeiro e o ltimo literal, sublinhados, de C tem um unificador mais geral  = {a/x}. Portanto, C = P(a) Q(a) P(a). Na seqncia C, existem dois literais idnticos. Uma vez que o segundo P(a) idntico a um literal menor, ou seja, ao primeiro P(a), elimina-se o segundo P(a) de C e obtm-se a seqncia P(a) Q(x), que um fator ordenado de C. Observa-se que Q(a) P(a) no um fator ordenado de C, pois foi obtido de C pela eliminao do primeiro P(a). Definio: Sendo C1 e C2 clusulas ordenadas, sem variveis em comum e L1 e L2 dois literais em C1 e C2 , respectivamente. Se L1 e ~L2 tem um unificador mais geral  e se C a clusula ordenada obtida concatenando-se as seqncias C1 e C2, removendo L1 e L2 e eliminando todo literal que idntico a um literal menor na seqncia restante, ento C chamado de resolvente binrio ordenado de C1 contra C2. Os literais L1 e L2 so chamados de literais resolvidos.

A definio acima, idntica a definio do resolvente binrio dada na Seo 5.5 do Captulo 5, com exceo de que a ordem dos literais em um resolvente binrio ordenado est, deliberadamente, especificada. Note que usou-se a palavra contra para enfatizar que um resolvente binrio ordenado de C1 contra C2 no o mesmo que C2 contra C1.
Exemplo 6.12: Considere as seguintes clusulas ordenadas:

80

C1 = P(x) Q(x) R(x) e C2 = ~P(a) Q(a). Escolha L1 = P(x) e L2 = ~P(a). Uma vez que ~L2 = P(a), L1 e ~L2 tem o mesmo unificador mais geral W = {a/x}. Inicialmente, concatenando as seqncias C1W e C2W, obtm-se a seqncia P(a) Q(a) R(a) ~P(a) Q(a). Num segundo momento, remove-se L1W e L2W , da seqncia anterior, obtendo Q(a) R(a) Q(a). Finalmente, uma vez que em Q(a) R(a) Q(a), o segundo Q(a) idntico ao menor literal, ou seja, o primeiro Q(a), elimina-se o 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 C1 contra um fator ordenado de C2 . Exemplo 6.13: Considere o seguinte conjunto de clusulas ordenado: C = P(x) Q(x) 1 R(x) P(a) e C2 = ~P(a) Q(a). Um fator ordenado de C 1 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 {E1, E2, ... , Eq, N}, q u 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, ... , E q, so falsos em I. 2. Sendo Rq = N, para cada i = q, q-1, ... , 1, existe um resolvente ordenado Ri-1 de Ei contra Ri. 3. O literal Ei que resolvido o "ltimo literal" em Ei , 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. 81

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 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 R2 = 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.

82

Q( ) v R(x)

S(x)

~R( ) v ~S( )

Q( )

~Q(x) v R(x)

R( )

S(x)

~R( ) v ~S( )

Figura 6.6 OI-Deduo de

a partir de S do Exemplo 6.16.

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

Q ) vQ ) vQ ( ( (c))

~Q(x)

Q ) vQ ) ( (

~Q(x)

Q ) (

~Q(x)

Figura 6.7 OI-Deduo de

a partir de S do Exemplo 6.17.

Vrios pesquisadores utilizaram OI-resoluo e indicaram que seus resultados foram bastante eficientes. Muitos teoremas foram provados pela OI-resoluo, porm, infelizmente, OI-resoluo no completa. Para que se possa verr isso, observe o seguinte contra-exemplo.
Exemplo 6.18: Considere o seguinte conjunto ordenado de clusulas S: (1) PQ (2) Q R (3) R W (4) ~R ~P (5) ~W ~Q (6) ~Q ~R Sendo I uma interpretao onde todo literal negativo, as clusulas (1)-(3) podem ser utilizadas como eltrons ordenados e as clusulas (4)-(6) podem ser usadas como ncleos ordenados. Das clusulas (1)-(6), pode-se obter os seguintes OI-resolventes:

83

 

 

 

(7) RP do OI-conflito {(3),(1),(5)} (8) PQ do OI-conflito {(1),(2),(6)} A partir das clusulas (1)-(8) pode-se obter o seguinte OI-resolvente: (9) Q R do OI-conflito {(2),(7),(4)} Observa-se que as clusulas (8) e (9) esto em S. Portanto, das clusulas (1)-(9) no se pode produzir nenhum OI-resolvente novo. Isto , a clusula vazia , no poder ser produzida por OI-resoluo, apesar de S ser insatisfatvel. Portanto OI-resoluo no completa. 6.7 IMPLEMENTAO DA RESOLUO SEMNTICA Nesta seo, considera-se como implementar a PI-resoluo. Apesar da OI-resoluo no ser completa, pode-se utilizar o conceito de clusulas ordenadas para implementar PI resoluo. Pode-se dizer que uma clusula positiva ordenada uma clusula ordenada que no possui nenhum sinal de negao e uma clusula negativa ordenada uma clusula ordenada na qual todos os sinais so de negao. Uma clusula no-positiva (no-negativa) ordenada uma clusula ordenada que no-positiva (negativa). De maneira a evitar que se estabelea uma interpretao toda a vez que se usar uma PI-resoluo, considerar-se- somente hiperresoluo positiva. (hiperresoluo negativa poder ser tratada de maneira semelhante). Deste modo, considera-se somente clusulas positivas ordenadas como candidatas a eltrons e as no-positivas como candidatas a ncleo. Convenciona-se que para quaisquer clusulas ordenadas no-positivas, os literais negativos so colocados depois dos literais positivos. Seja S um conjunto de clusulas ordenadas e P uma ordenao dos predicados em S.O seguinte algoritmo pode calcular hiperresolventes positivos.
Gerao de Hiperresolventes Positivos Passo 0: Faa M e N o conjunto de todas as clusulas positivas e no-positivas em S, respectivamente. Passo 1: Faa j = 1. Passo 2: Faa A0 = e B0 = N. Passo 3: Faa i = 0. Passo 4: Se Ai contm , pare; uma contradio foi encontrada. Caso contrrio v para o prximo passo. Passo 5: Se Bi vazio, v para o Passo 8. Caso contrrio, v para o prximo passo. Passo 6: Calcule o conjunto: Wi+1 = { resolventes ordenados de C1 contra C2, onde C1 uma clusula ordenada ou um fator ordenado de uma clusula ordenada em M, C2 uma clusula ordenada em Bi , o literal resolvido de C1 contm o "maior" predicado em C1 e o literal resolvido de C2 o "ltimo" literal de C2 }. Faa Ai+1 e Bi+1 iguais aos conjuntos de todas as clusulas ordenadas positivas e no-positivas em Wi+1 , respectivamente. Passo 7: Faa i = i + 1 e v para o Passo 4. Passo 8: Faa T = A0 ... Ai e M = T M. Passo 9: Faa j = j + 1. Passo 10: Calcule o conjunto: R = {resolventes ordenados de C1 contra C2, onde C1 uma clusula ordenada ou um fator ordenado de uma clusula ordenada em T, C2 uma clusula ordenada em N, o literal resolvido de C1 contm o "maior" predicado em C1}.

84

(Observe que na definio acima de R, o literal resolvido de C2 pode ser qualquer literal, no necessariamente o ltimo literal de C2). Faa A0 e B0 iguais aos conjuntos de todas as clusulas ordenadas positivas e no-positivas em R, respectivamente. Passo 11: V para o Passo 3. No algoritmo acima, para cada ciclo, isto , para cada j, Bi poder, eventualmente, ser vazio, uma vez que o nmero mximo de literais negativos em uma clusula ordenada de Bi decresce de uma unidade cada vez que i aumenta de uma unidade. Todas as clusulas em cada Ai so hiperresolventes positivos. No difcil de se ver que se S insatisfatvel, ento pode ser gerado a partir do algoritmo acima. A estratgia de eliminao tambm pode ser incorporada ao algoritmo acima sem perda da propriedade de completude. Isto , para T e M obtidos no Passo 8 do algoritmo, qualquer clusula em T ou M englobadas por outras clusulas em T ou M podem ser eliminadas. (Observe que no h tautologias em T ou M, uma vez que todas as clusulas em T ou M so positivas). Entretanto, no exemplo a seguir no se usa a estratgia de eliminao.
Exemplo 6.19: Seja S um conjunto de clusulas ordenadas definido como S = {P6 P4 , P5 P4 , P4 P1 , ~P1 ~P2 , P3 ~P6 , ~P4 , P2 ~P5 ~P3 }. Para simplificar a notao, representaremos P1 , P2 , ... , P6 por 1, 2, ... , 6, respectivamente. Portanto, S escrito como S = {6 4 , 5 4 , 4 1 , ~1 ~2 , 3 ~6 , ~4 , 2 ~5 ~3 }. Seja P uma ordenao de predicados na qual 1 < 2 < 3 < 4 < 5 < 6. A partir de S, obtm-se: M = {6 4 , 5 4 , 4 1 } N = { ~1 ~2 , 3 ~6 , ~4 , 2 ~5 ~3 }, e pode-se aplicar o algoritmo anterior: 1. j = 1. a. A0 = B0 = N = { ~1 ~2 , 3 ~6 , ~4 , 2 ~5 ~3 }. b. Uma vez que nem A0 contm nem B0 vazio aplica-se o Passo 6 e obtm-se: W1 = { 4 3 , 1 } A1 = { 4 3 , 1 } B1 = . c. Uma vez que B1 vazio, vai-se para o Passo 8, e faz-se: T = A0 A1 = { 4 3 , 1 } M = T M = {4 3 , 1 , 6 4 , 5 4 , 4 1 } 2. j = 2. a. Calculando R, obtm-se R = { 3 , ~2 }. A partir de R, obtm-se: A0 = {3} B0 = {~2}. b. Uma vez que, nem A0 contm nem B0 vazio aplica-se o Passo 6 e obtm-se: W1 = A1 = B1 = . c. Uma vez que B1 vazio, faz-se: T = A0 A1 = {3} M = T M = {3 , 4 3 , 1 , 6 4 , 5 4 , 4 1 } 3. j = 3. a. Aplicando o Passo 10, obtm-se R = { 2 ~5 }, A0 = , B0 = { 2 ~5 }. b. Uma vez que, nem A0 contm nem B0 vazio aplica-se o Passo 6 e obtm-se: W1 = { 4 2 }, A1 = { 4 2 }, B1 = . c. Uma vez que B1 vazio, faz-se:

85

T = A0 A1 = { 4 2 } M = T M = {4 2 , 3 , 4 3 , 1 , 6 4 , 5 4 , 4 1 } 4. j = 4. a. Aplicando o Passo 10, obtm-se R = {2}, A0 = {2}, B0 = . b. Uma vez que B0 faz-se: T = A0 = {2} M = T M = {2 , 4 2 , 3 , 4 3 , 1 , 6 4 , 5 4 , 4 1 } j = 5. a. Aplicando o Passo 10, obtm-se R = {~1}, A0 = , B0 = {~1}. b. Uma vez que, nem A0 contm nem B0 vazio aplica-se o Passo 6 e obtm-se: W1 = { }, A1 = { }, B1 = . c. Uma vez que A1 contm o algoritmo termina e uma contradio foi encontrada.

5.

Foram gerados seis hiperresolventes positivos, que so, , 2 , 4 2 , 3 , 4 3 e 1. Para conseguir a hiperdeduo de , inicialmente, se traa os ancestrais de , como mostrado na figura 6.8, que pode, ento, ser facilmente transformada na hiperdeduo mostrada na figura 6.9. Nota-se que todos os hiperresolventes gerados pelo algoritmo foram usados na prova. Neste exemplo, nenhum resolvente redundante ou irrelevante foi gerado pelo algoritmo.
6v4 3 v ~6 6v4 4v3 ~4 4v3 3 5v4 2 v ~5 5v4 4v1 ~4 4v2 ~4 ~4 2 v ~5 v ~3 3 2 v ~5 v ~3 ~4 3 v ~6

4v2 2 4v1 ~4

2 1 ~1

~1 v ~2

~1 v ~2

Figura 6.8 Ancestrais de 6.8 RESOLUO INDEXADA

Figura 6.9 Hiperdeduo de

Resoluo Indexada um refinamento da resoluo que usa um conceito semelhante ao de clusulas ordenadas. Dado um conjunto de clusulas S, a idia de resoluo indexada , essencialmente, usar ndices para ordenar os literais das clusulas em S. Isto , ela faz uma indexao arbitrria de cada ocorrncia de um literal em S atravs de um inteiro; diferentes ocorrncias de um mesmo literal podem ser indexadas diferentemente. Resoluo permitida somente com literais de menor ndice em cada clusula. Os literais dos resolventes, herdam

86

seus ndices das clusulas pai. Se um literal em um resolvente tem mais de um ndice que pode ser herdado, o menor ndice atribudo a este literal. Antes de se dar uma definio formal de resoluo indexada, consederar-se- o seguinte exemplo:
Exemplo 6.20: Considere o seguinte conjunto de clusulas: (1) 1P 2Q (2) 3~P 4Q. O inteiro abaixo do literal o ndice associado a este literal. Os literais P e Q da clusula (1) tem ndices 1 e 2, respectivamente. Deve-se usar 1P e 2Q para se referir aos literais P e Q da clusula (1), respectivamente. Da mesma maneira, deve usar 3~P e 4Q para se referir aos literais ~P e Q da clusula (2), respectivamente. Uma vez que o ndice de 1P menor que o de 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 W, ento as clusulas obtidas a partir de CW 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 W = {a/x}. Assim, CW = 2P(a) 8Q(a) 11P(a) 5Q(a). Em CW, 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 C1 e C2 , respectivamente. Se L1 e ~L2 tem o mesmo unificador mais geral W e se C a clusula obtida a partir de (C 1W C2W) pela eliminao de L1W e ~L2W 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.

87

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

88

(3)

(4)

(2)

(5)

(1) (5)

()

(6)

Figura 6.10 Deduo Indexada para o Exemplo 6.23


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

6.9 COMPLETUDE DA RESOLUO INDEXADA Nesta seo, vai-se provar a completude do processo de resoluo indexada. De modo usual, isto feito, primeiro provando a completude do processo de resoluo indexada para o caso base, que ento "elevado" ao caso mais geral. Para uma clusula C que tem todos os literais indexados, toda instncia de C obtida, inicialmente, fazendo as substituies para as variveis e fazendo os agrupamentos inferiores para literais idnticos. Isto , se W uma substituio, primeiro obtm-se CW e ento faz-se o agrupamento inferior para literais idnticos em CW para obter uma instncia de C. Por exemplo, sendo C = 1P(x) 2P(y). Se W = {a/x , a/y}, ento uma instncia de C 1P(a). Por esta conveno, o seguinte lema de "elevao" (lifting lemma) bvio. Esta prova ficar como exerccio. (Use o Lema 5.1)
Lema 6.2: Sendo C1 e C2 duas clusulas com todos seus literais indexados. Se C1' e C2' so isntncias de C1 e C2 , respectivamente, e se C' um resolvente indexado de C1' e C2' , ento existe um resolvente indexado C de C1 e C2 tal que C' uma instncia de C.

Agora vai-se provar a completude da resoluo indexada para o caso base.


Lema 6.3: Sendo S um conjunto de clusulas base, onde todos os literais em S esto indexados com um inteiro. Se S insatisfatvel, ento existe uma deduo indexada da clusula vazia a partir de S.

89

Prova: Seja k(S) definido como o nmero de ocorrncias de literais em S menos o nmero de clusulas em S. k(S) chamado de parmetro de excesso de literal. Prova-se o Lema 6.3 por induo sobre k(S). Se est em S, o Lema 6.3 bvio. Assumindo que no est em S. Se k(S) = 0, ento S consiste somente de clusulas unitrias. Uma vez que S insatisfatvel, existe um literal L tal que iL e j~L esto em S, onde i e j so os ndices de iL e j~L, respectivamente. Certamente, um resolvente indexado de iL e j~L. Assim, o Lema 6.3 vlido para k(S) = 0. Assumindo que o Lema 6.3 permanece vlido quando k(S) < n. Para completar a induo, considera-se o caso onde k(S) = n e n > 0. Uma vez que k(S) > 0, existe pelo menos uma clusula no unitria em S. Sendo r o ndice mais alto entre todas as clusulas no unitrias de S e C = C' r L a clusula no unitria que tem um literal rL indexada com r, onde C' uma clusula no vazia. Seja S1 = (S - {C}) {C'} e S2 = (S - {C}) {rL}. Certamente, S1 e S2 so insatisfatveis. Entretanto, k(S1) < n e k(S2) < n. Portanto, pela hiptese de induo, existem resolues indexadas D1' e D2' de a partir de S1 e S2 , respectivamente. Sendo D1 a deduo obtida a partir de D1' colocando r L e C' juntos novamente. De modo claro, D1 tambm uma resoluo indexada uma vez que r o ndice mais alto em uma clusula relacionada a qualquer n no inicial de D1. D1 uma deduo indexada de ou rL a partir de S. Se for do primeiro ( ) a prova est concluda. Se for do ltimo, combinando D1 e D2', obtm-se uma deduo indexada de a partir de S. Isto completa a prova do Lema 6.3. Teorema 6.3 (Completude da Resoluo Indexada): Sendo S um conjunto de clusulas, onde cada literal em S est indexado com um nmero inteiro. Se S insatisfatvel, ento existe uma resoluo indexada da clusula vazia a partir de S. Prova: Uma vez que S insatisfatvel, pelo Teorema de Herbrand (verso II) existe um conjunto finito insatisfatvel S' de instncias base das clusulas em S. Pelo Lema 6.3, existe uma deduo indexada D' de a partir de S'. Usando o Lema 6.2 e um processo similar ao visto na prova do Teorema 6.1, pode-se transformar D' para produzir uma deduo indexada de a partir de S. Isto completa a prova.

Apesar da resoluo indexada ser completa, ela no compatvel com a maioria das estratgias de resoluo. Por exemplo, a combinao de resoluo indexada com a estratgia de eliminao no completa, bem como resoluo indexada no compatvel com a estratgia de conjunto de apoio. (Observe os exerccios 20 e 21 deste captulo). Resoluo indexada um refinamento muito restritivo de resoluo, mas ainda assim uma regr de a inferncia muito eficiente. 6.10 EXERCCIOS
Seo 6.3 1. Determine se os seguintes conjuntos de clusulas, interpretaes e ordenaes de tomos, constituem PI-conflitos. Se sim, encontre os PI-resolventes, caso contrrio, d as razes pelas quais no se configuram PI-coonflitos. (a) E1 = P, E 2 = Q, E 3 = R, N = ~P ~Q ~R ~W I = {~P, ~Q, ~R, W} P<Q<R<W (b) E1 = A1 A3 , E2 = A2 A3 , N = ~A1 ~A2 A3 I = {~A1, ~A2, ~A3} A1 > A2 > A3

90

E1 = A1 A3 , E2 = A2 A3 , N = ~A1 ~A2 A3 I = {~A1, ~A2, ~A3} A3 > A1 > A2 (d) E1 = P(a), E 2 = Q(a,b) S(b,c), N = ~P(x) ~Q(x,y) R(x) I = {~P(a), P(b), ~Q(a,b), ~S(b,c), ~R(a)} P>Q>R>S 2. Prove o seguinte teorema: Para um caso base, o ncleo N de um PI-conflito verdadeiro em I, e para o caso geral (no base), existe pelo menos uma instncia N' de N tal que N' verdadeiro em I. 3. Sendo S = {P, Q ~P, R ~P, ~P ~Q ~R}. Prove que S insatisfatvel por resoluo semntica. Os seguintes casos devem ser considerados: (a) I = {~P, ~Q, ~R} ; P>Q>R (b) I = {P, Q, R} ; Q>P>R (c) I = {~P, ~Q, R} ; R>Q>P
Seo 6.4 4. Prove o Teorema 6.1 usando a tcnica de rvore semntica, isto , a tcnica dada na prova do Teorema 5.3. (Para maiores detalhes, e se for possvel, consulte KOWALSWKI, R. e HAYES, P.J. Semantic trees in automatic theorem-proving, in Machine Intelligence, Vol. 4, (B. Meltzer e D. Michie, eds.), American Elsevier, New York, pp. 87-101, 1969). 5. Prove que a estratgia de eliminao compatvel com a PI-resoluo, isto , que a combinao da estratgia de eliminao com a PI-resoluo completa. Seo 6.5 6. Sendo S = {P Q, ~P Q, P ~Q, ~P ~Q} e P > Q. Prove que S insatisfatvel atravs: (a) de hiperresoluo positiva (b) de hiperresoluo negativa 7. Considere o exemplo 5.16. Nesse exemplo, tem-se o seguinte conjunto de clusulas S: S = {~T(x,y,u,v) P(x,y,u,v), ~P(x,y,u,v) E(x,y,u,v,y), T(a,b,c,d) ~T(a,b,c,d,b)} Prove que S insatisfatvel por: (a) de hiperresoluo positiva (b) de hiperresoluo negativa Traduza cada passo da prova em Portugus. Que deduo corresponde ao raciocnio forward (ou backward)? 8. Sendo S, o seguinte conjunto de clusulas: (1) M(a,s(c),s(b)) (2) P(a) (3) M(x,x,s(x)) (4) ~M(x,y,z) M(y,x,z) (5) ~M(x,y,z) D(x,z) (6) ~P(x) ~M(y,z,u) ~D(x,u) D(x,y) D(x,z) (7) ~D(a,b) Considerando como conjunto de apoio a clusula (7). Prove a insatisfiabilidade de S atravs da estratgia de conjunto de apoio. 9. Reconsidere o Exemplo 5.21, onde se tinha o seguinte conjunto de clusulas: (1) P(a) (2) ~D(y) L(a,y) (3) ~P(x) ~Q(y) ~L(x,y) (4) D(b) (5) Q(b)

(c)

91

Considerando como conjunto de apoio as clusulas (4) e (5). Prove a insatisfiabilidade do conjunto de clusulas acima atravs da estratgia de conjunto de apoio. Traduza a prova completa para o Portugus.
Seo 6.6 10. Considere o seguinte conjunto de clusulas ordenadas: S = {P Q, ~P Q, P ~Q, ~P ~Q} Sendo I = {P, Q}. Prove a insatisfiabilidade de S atravs de OI-resoluo. 11. No Exemplo 6.18, mostrou-se um contra-exemplo para mostrar que OI-resoluo no completa. Voc capaz de mostrar outro contra-exemplo? Seo 6.7 12. Sendo S = {~P ~Q ~R, P, Q, R}: (a) use o algoritmo mencionado na seo 6.7 para provar que S insatisfatvel. (b) use, novamente, o mesmo algoritmo sem o conceito de clusulas ordenadas, isto , no Passo 6, o literal resolvido de C2 no est restrito a ser o ltimo literal de C2 . (c) compare o nmero de clusulas geradas em cada caso. 13. Use o algoritmo da Seo 6.7 para provar os teoremas dados em: (a) Exemplo 5.21 (b) Exemplo 5.22. 14. Mostre que se um conjunto ordenado de clusulas S insatisfatvel, ento pode ser gerado pelo algoritmo da Seo 6.7. 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.

92

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.

93

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

B B

C C

C
n -1

n -1

C
n

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


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

94

PvQ

~PvQ

Pv Q ~

~Pv Q ~

~Q

Figura 7.2 Deduo linear de

a partir de S, tendo como clusula de partida P Q.

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

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

~D(a,b)

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

M( , ,s( ))

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

P(a)

~D(a,s(b))

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

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

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

Figura 7.3 Deduo linear de

a partir de S para o Exemplo 7.2.

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

  

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( ,y,u) v ~P(y,z,v) v ~P( ,v,w) v P(u,z,w) P(g( ,y), ,y)

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

P(g( ,y), ,y)

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

P( ,h( ,y),y)

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

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

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 usandose 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 96

clusulas menores. Prova-se agora a equivalncia entre resoluo por entrada e resoluo unitria.
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, pode-se 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 ve que z 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 D 1 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 D2' 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. 97

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

~ vQ P

~v Q P~

~ P

Figura 7.5 Refutao linear para S = {P Q, P ~Q, ~P Q, ~P ~Q} Note que uma das clusulas laterais (a clusula P) no uma clusula de entrada. De fato, fcil ver que no existe uma prova unitria para este conjunto de clusulas. Assim, de acordo com o Teorema 7.1, tambm no existe uma prova por entrada. Isto , o uso de uma clusula central como uma clusula lateral inevitvel. Seria interessante se fosse possvel encontrar uma condio necessria e suficiente, para a qual uma clusula lateral deve ser uma clusula central previamente gerada. Isto , uma clusula lateral uma clusula central previamente gerada quando e somente quando a condio satisfeita. Vai-se mostrar que se a informao dos literais resolvidos apropriadamente armazenada e o conceito de clusulas ordenadas usado, est condio pode ser definida. Ficar bvio, mais adiante, que o uso desta condio ir diminuir o nmero de resolues possveis. Na verdade, isto ir permitir ainda mais, se for determinado que uma clusula lateral deve ser uma clusula central previamente gerada, no ser necess nem determinar rio qual clusula central utilizar. Portanto, no h a necessidade de se armazenar as clusulas centrais previamente geradas. Isto simplifica enormemente a implementao computacional de resoluo linear. Vai-se discutir agora o mecanismo de armazenar a informao dos literais resolvidos. Suponha que C 1 e C2 so duas clusulas ordenadas como segue: C1 = P Q C2 = ~Q R. 98

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

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

99

P vQ P v~ Q

~P v Q

P vQ

~P v~ Q

P v Q v ~P

Figura 7.6 Refutao linear para S = {P Q, P ~Q, ~P Q, ~P ~Q} usando informao dos literais resolvidos e o conceito de clusulas ordenadas.
Definio: Uma clusula ordenada C uma clusula ordenada redutvel se e somente se o ltimo literal de C unificvel com a negao de um literal emoldurado de C.

Definio: Sendo C uma clusula ordenada redutvel e o ltimo literal L unificvel com algum literal emoldurado tendo como unificador mais geral W. A clusula ordenada reduzida de C a clusula ordenada obtida de CW eliminando LW e todo os literais emoldurados subsequentes que no so seguidos por nenhum literal no emoldurado.

Uma vez que a reduo de clusulas redutveis incorporada OL-deduo, no ser mais necessrio armazenar clusulas intermedirias. Este importante aspecto da OL-deduo torna-a bastante propcia a implementao computacional. Note que a eliminao de uma clusula ordenada redutvel, por si s, j diminui o nmero de possibilidades de resolues. A introduo deste mecanismo de reduo efetivamente reduz este nmero a apenas uma resoluo. Agora va-se definir formalmente a OL-deduo. Na seqncia, uma clusula ordenada pode conter tanto literais emoldurados quanto no emoldurados. Para levar isto em considerao, repete-se as definies de um fator ordenado, um resolvente binrio ordenado e um resolvente ordenado, dados na seo 6.6. Numa clusula ordenada, se existe mais de uma ocorrncia do mesmo literal no emoldurado, sempre se mantm somente o literal mais esquerda na clusula, eliminando os outros literais idnticaos no emoldurados. Esta operao chamada de agrupamento esquerda de literais idnticos no emoldurados. Por exemplo, agrupando esquerda os literais

100

"

"

Na verdade, sempre que uma clusula ordenada reduzida gerada, no necessrio fazer a busca na memria das clusulas centrais deduzidas para resolv -la. Ao invs disto, simplesmente elimina-se o ltimo literal desta clusula ordenada. Por exemplo, quando v P P v v P gerada, simplesmente elimina-se P de e obtem-se P v P . Uma vez que e no so seguidos por nenhum literal no emoldurado, eles so eliminados e obtem-se a clusula vazia . Denomina-se esta operao de reduo de uma clusula ordenada redutvel.

P P v

v idnticos Q v

Q v no emoldurados em R v S .

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 W, ento a clusula ordenada obtida da seqncia CW, pelo agrupamento esquerda de qualquer literal idntico em C e pela eliminao de W 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 W e se C* a clusula ordenada obtida concatenando-se as seqncias C1W e C2W , emoldurando L1W , removendo L2W 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 C1 contra um fator ordenado de C2 . Definio: Dados um conjunto de clusulas ordenadas S e uma clusula ordenada C em S, 0 uma OL-deduo de Cn a partir de S tendo como clusula ordenada inicial C0 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 < i. Bi uma j instncia de algum Cj, j < i, se e somente se Ci uma clusula ordenada redutvel. Neste caso, Ci+1 a clusula ordenada reduzida de Ci . 3. No existem tautologias na deduo.

101

C
0

B B

C
1

n -1

B
n -1

Cn

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

1. 2. 3.

Deste modo as condies em uma OL-deduo podem ser fixadas como: Todo Bi est em S ou uma instncia de algum Cj, j < i. Se Ci uma clusula ordenada redutvel, ento Ci+1 a clusula ordenada reduzida de Ci. Caso contrrio, Ci+1 um resolvente ordenado de Ci com Bi em S onde o literal resolvido em Ci o ltimo literal. Nenhuma tautologia est presente na deduo. .

Definio: Uma OL-refutao uma OL-deduo de

Exemplo 7.5: Considere o conjunto de clusulas ordenadas S = {P Q, ~Q R, R ~P, ~Q ~R, ~P ~R}. Ento a figura 7.8 uma OL-deduo de a partir de S tendo como clusula ordenada de partida P Q. Observe que C2 e C5 so clusulas ordenadas redutveis.

Apesar da resoluo no ser necessria nestes passos, as clusulas laterais se encontram representadas atravs de linhas tracejadas. Por exemplo, B2 P Q, que a clusula de partida C0, e B5 P, que C3 deduzido nesta refutao.

102

~Q v R C0 PvQ ~Q v ~R C1 Pv Q vR PvQ C2 P v Q v R v ~Q R v ~P C3 P ~P v ~R C4 P vR P C5 P v R v ~P

B0

B1

B2

B3

B4

B5

Figura 7.8 OL-deduo de

a partir de S tendo como clusula ordenada de partida P Q

Exemplo 7.6: No exemplo 7.2, foi apresentado um exemplo de deduo linear sem o conceito de clusulas ordenadas e informao sobre os literais resolvidos. Na figura 7.9, prova o -se mesmo exemplo usando OL-deduo.
~P(w ) v ~M( ,y,z) v ~D(w ,z) v D (w , ) v D (w,y) ~D (a,b) ~D (a,b) ~D (a,b) v ~P(a) v ~M( ,b,z) v ~D (a,z) v D (a, ) ~M( ,y,z) v D ( ,z) ~D (a,b) v ~P(a) v ~M(b,b,z) v ~D (a,z)

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

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

Figura 7.9 OL-deduo das clusulas do Exemplo 7.2 7.5 COMPLETUDE DA RESOLUO LINEAR Nesta seo vai-se provar a completude da OL-deduo, para isto prova-se, inicialmente, o seguinte lema.
Lema 7.3: Se C uma clusula ordenada base em um conjunto insatisfatvel de clusulas ordenadas base S e se S - {C} satisfatvel, ento existe uma OL-refutao a partir de S tendo como clusula ordenada de partida C. Prova: Prova-se este lema por induo sobre o nmero de elementos no conjunto de tomos de S. Seja A o conjunto de tomos de S. Se A consiste de um nico elemento, denominado Q, ento entre os elementos de S existem as clusulas ordenadas Q e ~Q. Certamente, o

103

% %%

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

L
0

E B (v ~L)
0

L v E' L v C v (~L)
1

B (v ~L)
1

C
n-1

n-1

C
n

L v Cn-1 v (~L) ( )

n-1

(v ~L)

( ) 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 um clusula central, ento ~L a 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 redutvel e deduo mostrada na figura 7.11 (b). Fica bvio que obtido pela operao de reduo. 104

'

&

(v ~L)

L v C v (~ L) i B
i

L v C v (~ L)
i

(v ~ L)

L vC
i

(v ~ L)

L v C v (~ L) i+1 ( )

( ) 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 a partir de S com clusula ordenada de partida C. Se D* OL-deduo D* de ou 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 D2 de a partir de {L} (S {C} com clusula ordenada de partida {L}. Colocando D no topo de D2, obtem-se uma OL1 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 OLrefutao 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 o rdenadas 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.

105

L vC (v ~ L) i+1

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 e i e 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 R e i continua-se o processo at que a clusula vazia gerada. De maneira a melhor descreve o r 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 OLdeduo.
C
0

B C C
2 1

C
n -1

B C
n

n -1

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

Pv Q

Pv~ Q

~Pv~ Q Pv Q v ~P

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

P v~ Q

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

P ~P v Q ~P v~ Q

P v Q

P v ~Q

Pv Q

v ~P v Q

P v Q

v ~P

v~Q

Figura 7.14 Continuao da rvore de Deduo da figura 7.13 Quando um resolvente ordenado gerado, sempre se checa se ele redutvel. Se for, sempre se reduz a clusula ordenada reduzida correspondente. Na figura 7.14, redutvel. Sua clusula ordenada reduzida P. Portanto a rvore da figura 7.14 pode ser simplificada para a rvore mostrada na figura 7.15.
PvQ ~ Q v P

P v~ Q

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

P ~P v Q ~P v~ Q

P vQ

P v ~Q

Pv 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 a rvore -se mostrada na figura 7.16.

107

Pv Q

P v~ Q

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

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

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

~P v Q

P v~ Q

P v Q v ~P

Pv Q

vP

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

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

v ~Q

Figura 7.16 Continuao da rvore de Deduo da figura 7.15 e Os resolventes ordenados obtem-se a rvore mostrada na figura 7.17.
P v P Q v ~ vQ ~

so redutveis. Fazendo a reduo,

v P

PvQ

P v~ Q

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

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

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

~P v Q

P v~ Q

Pv Q

vP

P v ~Q v P

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

v ~Q

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.

108

PvQ

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

Figura 7.18 OL-refutao obtida a partir da figura 7.17 Nota-se que o problema de encontrar uma OL-refutao pode ser visto como uma problema de busca em rvore. Vrias tcnicas desenvolvidas originalmente para busca em rvore podem ser aplicadas OL-deduo. No exemplo anterior o mtodo utilizado para gerar a rvore da figura 7.17 chamado de mtodo breadth-first (busca em largura). Na terminologia de busca em rvore, C0 o n inicial da rvore. As clusulas laterais podem ser consideradas como operadores, que podem ser usados para gerar os ns sucessores de um n. Sendo C uma clusula ordenada que representa um n, encontre todas as clusulas laterais possveis de resolver com C e gere os resolventes ordenados R1, ... ,Rm. R1 , ... , Rm so chamados de ns sucessores imediatos de C. Quando todos os possveis sucessores imediatos de um n C so gerados, diz-se que o n C foi expandido. Isto , expandir um n significa gerar todos os seus sucessores imediatos. Supondo que S um conjunto de clusulas a ser provado e C0 uma clusula ordenada em S, selecionada como clusula de partida, ento o mtodo breadth -first pode ser descrito como segue:
Mtodo de Busca em Largura (Breadth-First) Passo 1: Faa CLIST = (C0). Passo 2: Se CLIST vazio, pare sem obter uma prova. Caso contrrio, continue. Passo 3: Faa C ser a primeira clusula ordenada em CLIST. Elimine C de CLIST. Passo 4: Encontre todas as clusulas ordenadas em S que podem ser clusulas laterais em C. Se no existir nenhuma destas clusulas, v para o Passo 2. Ca contrrio, resolva C com so todas estas clusulas laterais. Faa com que R1 , ... , Rm representem estes resolventes ordenados. Faa Ri* ser a clusula ordenada reduzida de Ri se ela for redutvel. Se Ri no for redutvel, faa Ri*= Ri. Passo 5: Se algum Rq* uma clusula vazia, 1 e q e m, pare, pois a prova foi obtida; caso contrrio, continue. Passo 6: Coloque R1* , ... , Rm* (em uma ordem aleatria) no final de CLIST e v para o Passo 2.

Uma prova mnima para S com clusula de partida C0 uma OL-refutao (a partir de S com clusula de partida C0) que envolve o menor nmero de resolues. O mtodo breadthfirst ir encontrar sempre a prova mnima se esta prova existir. Entretanto, obviamente, muitas clusulas irrelevantes e redundantes podem ser geradas pelo mtodo de busca em largura 109

antes da clusula vazia ser gerada. Isto fica evidente noexemplo anterior. Outra maneira de busca em rvore o mtodo de busca em profundidade (depth first method). A idia que, de modo inverso ao mtodo de busca em largura que expande os ns de cima para baixo, o mtodo de busca em profundidade expande os ns da esquerda para a direita. O mtodo de busca em profundidade quase o mesmo que o de busca em largura, exceto que no Passo 6 coloca-se R1* , ... , Rm* no incio de CLIST, ao invs de coloc-los no final. Em adio, devese fornecer ao mtodo de busca em profundidade um limitante de profundidade com o intuito de evitar expandir ns de um caminho infrutfero (ramo), isto , um caminho que no pode levar clusula vazia. A profundidade de uma clusula em um OL-deduo definida como segue:
Definio: Em uma OL-deduo com uma clusula de partida C0, a profundidade de C0 0. Se a profundidade de uma certa clusula ordenada k e R um resolvente ordenado de C e alguma clusula lateral, ento a profundidade de R (k + 1). O tamanho de uma prova (refutao) com a clusula de partida C0 a profundidade da clusula vazia.

Sendo d* um limiar especificado anteriormente, o algoritmo de busca em profundidade pode ser descrito como segue:
Mtodo de Busca em Profundidade (Depth-First) Passo 1: Faa CLIST = (C0). Passo 2: Se CLIST vazio, pare sem obter uma prova. Caso contrrio, continue. Passo 3: Faa C ser a primeira clusula ordenada em CLIST. Elimine C de CLIST. Se a profundidade de C maior que d*, v para o Passo 2. Caso contrrio, continue. Passo 4: Encontre todas as clusulas ordenadas em S que podem ser clusulas laterais em C. Se no existir nenhuma destas clusulas, v para o Passo 2. Caso contrrio, resol a C com v todas estas clusulas laterais. Faa com que R1 , ... , Rm representem estes resolventes ordenados. Faa Ri* ser a clusula ordenada reduzida de Ri se ela for redutvel. Se Ri no for redutvel, faa Ri*= Ri. Passo 5: Se algum Rq* uma clusula vazia, 1 e q e m, pare, pois a prova foi obtida; caso contrrio, continue. 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.

110

PvQ

P v~ Q

~P v~ Q

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

P v Q v ~P

Pv Q

vP

Figura 7.19 Aplicao o mtodo de busca em profundidade com d* = 2 na rvore da figura 7.17 Apesar de, geralmente, o mtodo de busca em profundidade explorar uma rvore menor que o mtodo de busca em largura faria, pode-se melhor-lo ainda mais. Nota-se que no mtodo de busca em profundidade, quando um n escolhido para expanso, ele completamente expandido. Isto , todos os possveis sucessores so gerados. Entretanto, pode-se modific-lo de maneira que ele gere somente um sucessor de cada vez. Considere a figura 7.19. O n de partida da rvore P Q. Existem dois sucessores deste n de partida, que so, P e . Suponha que somente P seja gerado. Agora, P uma clusula central. Esistem dois sucessores do n P. Suponha que somente
P v Q v P v P Q

P v Q ~

gerado, novamente

tem

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

Pv Q ~ P ~ vQ P P vQ

~vQ P~

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) Passo 1: Encontre todas as clusulas ordenadas em S que podem ser clusulas laterais de C0. Se no existir nenhuma destas clusulas, pare sem obter uma prova. Caso contrrio, seja B1 , 0 ... , 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.

111

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 Ri* ser a clusula ordenada reduzida de Ri se ela for redutvel. Caso contrrio, faa Ri*= Ri. Passo 5: Se algum Rq* uma clusula vazia, 1 e q e 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 (Ri*, 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 Ri* uma tautologia, ele deve ser eliminado. Mais ainda, se existe um par (C , B) em CLIST, tal que Ri* englobado por C, ento, Ri* tambm deve ser eliminado.

7.7.2 Estratgia da Preferncia por Poucos-Literais

112

No mtodo de busca em profundidade modificado, os pares de CLIST so arranjados em uma ordem arbitrria. Na verdade, poder-se-ia arranjar os pares em CLIST de maneira que pares "potencialmente" bons apaream antes dos "ruins". Assim, no Passo 3 do mtodo, quando se pega o primeiro par de CLIST, pode-se estar certo que se tem nas mos um dos "bons" que pode levar ao encontro de uma clusula vazia rapidamente. Sendo o tamanho de uma clusula ordenada E, representado como tamanho(E) e definido como o nmero de literais no emoldurados em E. Suponha que (C , B) um par em CLIST. Seja R representando um resolvente ordenado de C contra B. Uma vez que tamanho(R) indica o nmero mnimo de resolues necessrias para levar R at a clusula vazia, pode-se usar tamanho(R) como um indicardor de qualidade do par (C , B). Isto , quanto menor o valor de tamanho(R), melhor ser o par (C , B). Na verdade, na prtica, no necessrio se calcular R para obter o tamanho(R). Uma estimativa de tamanho(R) ser suficiente. De modo claro: tamanho(R) e tamanho(C) + tamanho(B) - 2 (7.1) Mais ainda, uma vez que necessita-se somente de um nmero relativo, pode-se simplesmente usar (tamanho(C) + tamanho(B)) como medida de qualidade. Ou seja, f (C,B) = tamanho(C) + tamanho(B) (7.2) Ento f(C,B) ser utilizada para avaliar a qualidade do par (C , B). No mtodo de busca em profundidade modificado, antes do Passo 3 pode-se arranjar os pares de CLIST colocando os pares que tenham menores valores de f antes daqueles com maiores valores de f. Este esquema de ordenao chamado de Estratgia de Preferncia por Poucos-Literais.
7.7.3 Uso de Funes de Avaliao Heurstica

Na discusso acima, a nica medida de qualidade de uma clusula o nmero de literais que ela contm, o que , convenhamos, muito simples. Para um par (C , B) em CLIST do mtodo de busca em profundidade modificado, define-se h*(C,B) como sendo o nmero mnimo de resolues em uma prova mnima (refutao) tendo como clusula de partida C e como primeira clusula lateral B. Se h*(C,B) conhecido, ento pode-se usar h*(C,B) para ordenar os pares de CLIST, entretanto, geralmente, h*(C,B) no conhecido. Portanto, h*(C,B) deve ser estimado. Sendo h(C,B) uma estimativa de h*(C,B), que geralmente obtida a partir de um conjunto de dados conhecidos. Na seqncia, vai-se considerar como obter h(C,B). Suponha que h(C,B) pode ser expresso como: h(C,B) = w0 + w1f1 (C,B) + ... + wnfn(C,B) (7.3) onde cada f i, i = 1, ... , n, uma funo avalidada corretamente de C e B, e wi um peso associado a fi. Cada fi chamado de atributo do par (C,B). Geralmente, atributos so selecionadas ad hoc pelo pesquisador que acredita que elas sejam relevantes para h*(C,B). Por exemplo, pode-se usar alguns atributos sugeridos na tabela 7.1. Na verdade h(C,B) pode ser uma funo linear ou no-linear de f1(C,B), ... , fn(C,B). Para os propsitos deste texto vai-se considerar somente funes lineares na seqncia. A funo h(C,B) pode ser usada para ordenar os pares de CLIST, isto , para colocar os pares com pequenos valores de h antes daqueles com valores maiores de h. Chama-se h(C,B) de funo de avaliao heurstica, ou funo de avaliao de maneira resumida. Na prxima seo, ver-se- um mtodo para obter um h(C,B).

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

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

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

i !1

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

(7.4)

) 1 , W , q ) q n Portanto o valor de W que minimiza a expresso (7.4) dado por: W = (F' F) -1 F' H (7.5) onde F' a transposta de F e (F' F)-1 a inversa de (F' F). Substituindo W em (7.3), uma funo de avaliao pode ser obtida.

seja mnimo. Esta estimativa chamada de estimativa de quadrado-mnimo. Seja as matrizes F, H e W definidas como segue: h * ( 1 , 1 ) 0 1 f 1 (C1 , B1 ) f n (C1 , B1 )

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

114

2 3

01

1 f 1 (C 2 , B2 ) f n (C 2 , B2 ) F= , 1 f 1 (C q , Bq ) f n (C q , Bq )

* h ( h * (

4 4

2 3 2 3

PvQ 3

P v~ Q

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

4 6 10

P 7 11 8 ~P v~ Q 12 P v Q 17 ~P v Q v ~P v Q 18P v~ Q 19~P v~ Q PvQ

~P v Q

P v~ Q

P vQ

P v ~Q 16P v Q

13 P 20 ~P v Q 21 ~P v~ Q

14 ~P v~ Q

15 P v~ Q

Pv Q

vP

P v ~Q v P

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

v ~Q

Figura 7.21 rvore da figura 7.17 com as clusulas numeradas Calculando os valores dos atributos de cada par na rvore da figura 7.21, obtem-se a tabela 7.2. Tabela 7.2 Valores para os atributos de cada para da rvore da figura 7.21 i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 par(Ci,Bi) (1,2) (1,3) (4,6) (4,7) (5,8) (5,9) (10,14) (10,15) (11,16) (11,17) (12,18) (12,19) (13,20) (13,21)
f1(Ci,Bi) 2 2 1 1 2 2 1 1 1 1 2 2 1 1 f 2(Ci,Bi) 0 0 0 0 1 1 1 1 1 1 2 2 0 0 f 3(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 h*(Ci,Bi) 3 4 2 2 4 3 1 3 3 1 3 4 2 2

Calculando a frmula (7.5) em um computador, obtem-se: w0 = 0,30 w1 = 1,68 w2 = 0,76 w3 = -0,24 w4 = -1,44 w5 = 0,60 (7.6) Deste modo tem-se: h(C,B) = 0,30 + 1,68f 1(C,B) + 0,76f 2(C,B) - 0,24f 3(C,B) - 1,44f 4(C,B) + 0,60f 5(C,B) (7.7) No mtodo de busca em profundidade modificado, logo antes do Passo 3, se for usada a funo h(C,B) para ordenar os pares de CLIST, ento a rvore de busca do mtodo de busca em profundidade modificado ser aquela mostrada pela figura 7.22 (a) ou (b).

115

PvQ

PvQ

P v~ Q

P v~ Q

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

P ~P v~ Q

~P v Q

(a)

(b)

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

116

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), ~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.

117

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 Sendo P Q R a clusula ordenada de partida e usando a funo de avaliao definida pela equao 7.7 para ordenar os pares em CLIST, encontre a rvore de busca do mtodo de busca em profundidade modificado.

118

P vQ P v~ Q

~P v Q

P vQ

~P v~ Q

P v Q v ~P

Figura 7.6 Refutao linear para S = {P Q, P ~Q, ~P Q, ~P ~Q} usando informao dos literais resolvidos e o conceito de clusulas ordenadas.

119