Você está na página 1de 241

Jair Minoro Abe Alexandre Scalzitti Joo Incio da Silva Filho

Introduo Lgica para a Cincia da Computao

Jair Minoro Abe Alexandre Scalzitti Joo Incio da Silva Filho

Introduo Lgica para a Cincia da Computao

2.001
3

2001, by Editora Arte & Cincia


Direo Geral Henrique Villibor Flory Editor e Projeto Grfico Aroldo Jos Abreu Pinto / Karel H. Langermans Editorao Eletrnica Alain Ferreira do Nascimento Capa Karel H. Langermans

Dados Internacionais de Catalogao na Publicao (CIP) (Biblioteca de F.C.L. - Assis - UNESP)

ndice para catlogo sistemtico:


1. 2. 3.

Editora Arte & Cincia Rua Treze de Maio, 71 Bela Vista So Paulo SP - CEP 01327-000 Tel/fax: (0XX11) 257-5871 Na internet: http://www.arteciencia.com.br

Dedico este trabalho ao Rusky (1990-2000) que me ensinou muitas coisas, aprendi muitas coisas, por uma linguagem no falada. Jair Minoro Abe

Prefcio
Este texto foi elaborado pelos autores tendo por base os diversos cursos de Lgica que os mesmos tm lecionado nos ltimos anos. A presente monografia destinada a introduzir o leitor neste fascinante ramo do conhecimento humano que a moderna Lgica Matemtica. O trabalho foi redigido para atender um nmero maior de leitores, englobando estudantes de diversas reas, tais como, Cincia da Computao, Anlise de Sistemas, Processamento de Dados, Inteligncia Artificial, as diversas Engenharias, Matemtica, Cincias Biolgicas, Economia, Psicologia, Filosofia, Direito, enfim todo estudioso interessado no assunto. A Lgica se converteu nos ltimos anos em disciplina de primeira necessidade para os diversos cursos, e isto no surpreendente, pois, disse o pensador norte americano W. Quine : A Lgica o denominador comum das Cincias Especiais .... No se exige, praticamente, pr-requisito algum para sua leitura; com efeito, a exposio do texto est detalhada tanto quanto possvel com notas explicativas referente a pontos delicados do desenvlvimento, procurando fazer do texto uma leitura agradvel. Os tpicos escolhidos cobrem o que hodiernamente denominamos de ncleo da Lgica Clssica. Complementou-se com algumas aplicaes nas diversas reas. Um comentrio ao nefito em Lgica: no se l um livro de lgica como se l um livro de romance, i.e., sua leitura muitas vezes no conveniente que se faa de maneira linear; tambm sugere-se ao leitor que faa os inmeros exerccios propostos para um entendimento salutar dos conceitos vistos. Aqui se aplica vivamente um pensamento de Confcio: se ouo, esqueo; se vejo, gravo; se fao, compreendo ... O tomo que vem a lume apenas uma primeira verso que pretendemos futuramente aprimor-lo e enriquec-lo. Para tanto, contamos com as sugestes e crticas construtivas por parte dos leitores. Os Autores.

SUMRIO
PREFCIO 1 INTRODUO................................................................................................9 0.1 Nota Histrica......................................................................................9 0.2 O que Lgica ?.................................................................................10 0.3 Cincia e Lgica.................................................................................11 0.4 Aspectos da lgica atual..................................................................13 1 INTRODUO AO CLCULO PROPOSICIONAL 1.1 Introduo..........................................................................................15 1.2 Os paradoxos.....................................................................................15 1.3 Linguagens artificiais........................................................................20 1.4 A linguagem universal da lgica.....................................................22 1.5 Conectivos lgicos e tabelas-verdade...........................................22 1.6 Frmulas atmicas e frmulas.........................................................37 1.7 rvore de composio de uma frmula - rvore de decomposio............................................................................................38 1.8 Tabela-verdade de uma frmula......................................................49 1.9- Tautologias.........................................................................................65 1.10 rvore de refutao........................................................................70 1.11 Inferncia lgica..............................................................................82 1.12 Regra de eliminao de parntesis................................................93 1.13 A notao polonesa de frmulas..................................................94 1.14 Forma normal disjuntiva.................................................................95 1.15 Uma axiomatizao da lgica proposicional..............................101 2- O CLCULO DE PREDICADOS..................................................................117 2.1 Lgica e gramtica...........................................................................117 2.2 Um sistema formal para a lgica de predicados..........................125 2.3 Estrutura dedutiva...........................................................................128 2.4 Semntica..........................................................................................138 3 ALGUNS ASPECTOS DE PROGRAMAO EM LGICA E PROLOG 3.1 Introduo........................................................................................145 3.2 A proposta da programao em lgica........................................146 3.3 Clusula de Horn.............................................................................147 3.4 Consideraes preliminares...........................................................148 3.5 Clusula............................................................................................151

3.6 Clusula de programa.....................................................................153 3.7- Clusula de programa condicional.................................................154 3.8- Clusula de programa incondicional.............................................155 3.9 Clusula gol......................................................................................156 3.10- Clusula vazia..................................................................................157 3.11- Clusula de Horn.............................................................................157 3.12 Programs lgicos e teoremas.......................................................159 3.13 Computao de gols......................................................................161 3.14 Substituies e unificadores........................................................170 3.15 Substituies..................................................................................171 3.16 Instncia de uma substituio........................................................... 3.17 Composio de substituies.....................................................172 3.18 Variante...........................................................................................172 3.19 Proposies....................................................................................173 3.20- Substituio mais geral....................................................................... .3.21 Unificadores...................................................................................173 3.22 Unificador mais geral umg........................................................174 3.23 Algoritmo de unificao..................................................................... 3.24 Resolvente......................................................................................180 3.25 SLD-derivao.................................................................................182 3.26 SLD-refutao.................................................................................183 3.27 Um pouco de PROLOG.................................................................190 3.28 A notao PROLOG.......................................................................190 3.29 A estratgia PROLOG...................................................................192 3.30 Interpretador PROLOG.................................................................193 3.31 Assuntos relacionados programao em lgica....................196 4 CIRCUITOS LGICOS DE CHAVEAMENTO 4.1 A lgebra da lgica.........................................................................199 4.2 Negao lgica circuito no......................................................202 4.3 Conjuno lgica circuito E.......................................................204 4.4- Disjuno lgica circuito OR......................................................205 4.5 Exemplos de aplicaes.................................................................207 5 PORTAS LGICAS.......................................................................................215 5.1 As portas lgicas bsicas..............................................................216 5.2 Porta lgica inversora.....................................................................216 5.3 Porta lgica E...................................................................................217 5.4 Porta lgica NO-E (NAND)........................................................217 5.5 Porta lgica OU...............................................................................218 5.6 Porta lgica NO-OU (NOR)........................................................219 5.7 Combinao de portas lgicas......................................................220 5.8 Exemplos de aplicao...................................................................207 APNDICE 1.Algumas estruturas algbricas...........................................................233 2.Lgica proposicional e lgebra de Boole..........................................235 3.Modelos de Herbrand..........................................................................236 4.A lgica clssica .................................................................................240 REFERNCIAS BIBLIOGRFICAS.....................................................245

10

1 INTRODUO
1.1 - Nota Histrica
A Lgica, ao que tudo indica, foi descoberta por Aristteles (384-322 a.C.). Os registros se encontram em seu famoso livro da Metafsica. Aps sua descoberta, ela permaneceu praticamente intacta por mais de dois mil anos, sendo retocada em detalhes de pouca importncia. E. Kant chegou mesmo a asseverar que a cincia descoberta pelo Estagirita se constitua numa cincia acabada: a lgica no havia dado nenhum passo para diante e nenhum para trs (desde sua introduo). No obstante, grandes mudanas comearam a ocorrer notadamente com G. Boole (1815-1864), A. De Morgan (1806-1871) e contemporneos com a introduo da simbolizao na Lgica. Boole, na realidade, estava estudando as Leis do Pensamento Humano. Houve, porm, alguns precursores dessa mudana, como G. Leibniz (1646-1716) e J.H. Lambert (1728-1777). Outras investigaes de carter mais filosfico foram efetuadas por G. Frege (1848-1925), contribuindo enormemente para o desenvolvimento da lgica de predicados. Porm, o grande avano propriamente dito foi estabelecido com a publicao da monumental obra Principia Mathematica, em trs volumes, de A. N. Whitehead e B. Russell no alvorecer deste sculo. Podese mesmo dizer que a moderna Lgica Matemtica teve incio com a publicao da referida obra. Alis, no seria exagero, se afirmarmos, como A. N. Whitehead disse, que a lgica atual est para a lgica aristotlica como a matemtica moderna est para a aritmtica das tribos primitivas. No entanto, as dcadas posteriores aguardavam mais novidades. K. Gdel, na poca um jovem lgico austraco, mostrou que no pode haver uma sistematizao completa da Aritmtica. Isto quer dizer que, intuitivamente e sem rigor, h proposies aritmticas que dizem: sou verdadeiro, porm indemonstrvel. Desse resultado, Gdel deduziu outro: que, se a Aritmtica for consistente, sua consistncia no pode ser demonstrada dentro da teoria, ou seja, h que se recorrer teorias que a englobem, mais gerais, e, portanto, mais inseguras que a original. Tais resultados so conhecidos como teoremas de incompleteza de Gdel. Como se sabe, os resultados de Gdel representaram o limiar de uma nova era na moderna Lgica Matemtica. Suas reflexes so de longo alcance, deixando muitas questes sobre os fundamentos da disciplina para as dcadas posteriores. Outra contribuio de envergadura foi efetuada pelo lgico polons A. Tarski. Constitui na matematizao do conceito de verdade como correspondncia. Tal concepo de verdade remonta Aristteles: dizer do que no que , e dizer do que , que no , falso. E, dizer do que no , que no

11

, e dizer do que , que , verdadeiro. Noutras palavras, verdade aquilo que e falso, aquilo que no . Note que o conceito de verdade repousa no verbo ser. Antes de Tarski, a idia de verdade era utilizado livremente no discurso matemtico e inmeras contradies haviam aparecido nas teorias matemticas. Outra enorme revoluo que a lgica experimentou neste sculo foram alguns resultados de independncia de certos postulados da teoria dos conjuntos obtidas por P. Cohen. No incio da dcada de sessenta, Cohen mostrou, por exemplo, que um dos axiomas mais discutidos, o Axioma da Escolha, era independente dos demais postulados da teoria dos conjuntos. Tambm Cohen demonstrou a independncia de outros postulados significativos da teoria dos conjuntos. Cohen foi agraciado com a medalha Fields (o prmio de maior prestgio em Matemtica) por suas perquiries. Como a Matemtica constitui prolongamento natural da teoria dos conjuntos, segue-se que h patentemente Matemticas alternativas em relao Matemtica Clssica. Grosso modo, teorias dos conjuntos em que valem certos postulados como o Axioma da Escolha, Hiptese do Contnuo, e outros denominam-se Teoria dos Conjuntos Cantorianas. Teorias em que no valem essas condies, chamam-se No-Cantorianas. Logo, podemos falar em Matemticas Cantorianas e No-Cantorianas. As Matemticas NoCantorianas ganharam relevo sobretudo com os resultados de Solovay na dcada de setenta. Solovay considerou um modelo de teoria dos conjuntos no qual no vale a forma geral do Axioma da Escolha e, se obtm resultados que diferem muito da Matemtica Cantoriana. Por exemplo, prova-se que na reta real, todo subconjunto Lebesgue mensurvel (intuitivamente que todo conjunto de nmeros reais pode ser medido), ou, que num espao de Hilbert, todo operador limitado, e por conseguinte, contnuo. Porm, esses resultados modificam profundamente a maneira de se ver as teorias fsicas, pois, como sabido, teorias fsicas tm, em sua maioria, bases em certas estruturas conjuntistas. Advm, ento, a indagao: qual a teoria dos conjuntos que melhor retrata as teorias fsicas? Alm disso, qual o significado fsico quando uma mesma teoria fsica considerada em teorias de conjuntos distintas? Todas essas questes esto sendo pesquisadas intensamente. Tal situao se mostra absolutamente nova, pois, o investigador que vai aplicar a Lgica possui em mos agora Matemticas alternativas, situao esta muito distinta de um passado recente. Alis, a Matemtica que era una at ento, ceder fatalmente diversidade.

1.2 - O que Lgica ?


O que Lgica? Talvez seja esta a primeira curiosidade que advm mente do leitor. Preliminarmente, observemos que o pblico no especialista costuma empregar o termo lgica em vrias acepes: por exemplo, costumamos ouvir expresses como a lgica do amor, a lgica do tcnico de futebol, a lgica do presidente, e assim por diante. Convm ressaltarmos que, apesar do uso do termo lgica nesses exemplos no ser destitudo totalmente de

12

sentido, tais contextos so inadequados quando tratamos do termo lgica que adquire hodiernamente. Uma definio popular de lgica : Lgica o estudo das inferncias (raciocnios) vlidos. Tal definio no est incorreta, porm, ela no adequada se observarmos o que a Lgica modernamente. Por exemplo, a Teoria dos Modelos, um ramo importante da Lgica atualmente, dificilmente se enquadraria nessa definio. Outra definio que encontramos em algumas obras de Lgica a seguinte: Lgica o estudo do raciocnio feito pelos matemticos... Comentamos uma definio que nos parece mais adequada: Lgica o que os lgicos cultivam ou o que est nos tratados de Lgica. Ou seja, para bem compreendermos o que lgica, necessrio seu cultivo sistemtico. O leitor deve ter percebido que no existe uma definio satisfatria de Lgica. Tal questo pertence Filosofia que trata, entre outras coisas, de temas que no possuem resposta cabal. Esta situao se afigura constrangedora, pois vamos estudar Lgica sem poder saber exatamente o que ela ...

1.3 - Cincia e Lgica


Entre as vrias indagaes que o homem se faz, uma das mais significativas e recorrentes diz respeito ao conhecimento. E justamente no campo da cincia que se d a investigao e a busca desse conhecimento. Seramos parciais se dissssemos que isto ocorre apenas no campo cientfico ou acadmico. Essa busca, na verdade, acontece na maioria das atividades que envolvem o ser humano. Existem mtodos de apreenso da realidade nos campos religioso, poltico, social, entre outros. Mesmo assim, a cincia (e o mtodo cientfico) ocupa um papel cada vez mais importante em todos esses campos. Mas, nos perguntamos, o que cincia? Ou, em outros termos, com o que se preocupa o cientista em sua investigao? Por exemplo, um bilogo est buscando o que? Uma resposta adequada e definitiva difcil, mas, em princpio, diramos que todo cientista est buscando compreender algum fenmeno, entender e explicar uma parte da nossa realidade. O bilogo que, por exemplo, esteja buscando conhecimento sobre moscas. Neste caso, a poro da realidade que ele pretende captar, compreender (e depois transmitir a outras pessoas, comunidade) seria algum aspecto relativo vida da mosca, ou algo assim. O mdico pesquisador, por exemplo, que busca investigar o mecanismo interno de certas doenas, a tuberculose, o cncer, etc. J o psicanalista, que se preocupa em compreender o psiquismo das pessoas. Enfim, cada cientista est, ento, tentando entender e explicar certas pores de nossa realidade. Passaramos, ento, para um segundo ponto, que seria o caminho percorrido na busca dessa compreenso da realidade. sabido que, em tempos mais remotos, alguns cientistas usaram uma boa dose de misticismo nas suas ponderaes, porm, hoje dificilmente uma tal atitude seria aceita ou encorajada no campo cientfico. Diramos que o cientista utiliza aquele que um dos atributos mais importantes do ser humano para empreender sua investigao, a razo. A cincia s se concretiza em virtude e atravs da razo humana, sendo definida, justamente, como uma atividade racional. Teramos assim uma primeira relao importante: cincia e razo.

13

Mas afinal, perguntaramos novamente, o que razo? No pretendemos abusar da pacincia do leitor, mas responder tal questo no simples, sendo porm necessrio que consideremos um importante aspecto da questo. A questo fundamental a ser percebida, para a nossa discusso, que a razo humana se materializa, se corporifica sempre em algum contexto lingstico. Poderamos praticamente dizer que no h razo sem linguagem, o que ilustra a importncia da Teoria da Linguagem para a cincia. Pois bem, perguntemos neste ponto, ao bilogo, que linguagem estar ele utilizando para investigar seu objeto de estudo, as mosquinhas? Talvez ele se surpreenda com a pergunta, mas provavelmente dir, a lngua portuguesa, ou seja, a linguagem natural que aprendemos desde tenra idade. Talvez muitos dos cientistas diriam o mesmo: a linguagem natural! Voltemos aos lgicos e perguntemos a eles: qual a poro da realidade que o lgico busca compreender? Que linguagem estar ele empregando para isso? Vejamos um objeto lgico que a maioria das pessoas certamente conhece muito bem, os nmeros naturais: 0, 1, 2, 3, ..., n, ... (sim! nmeros so entidades lgicas). Alm dos nmeros, a maioria das pessoas sabe somar e multiplicar nmeros, sabe tambm, comparar nmeros, e assim por diante. Uma peculiaridade interessante numa investigao em Lgica. Um bilogo que quer estudar as moscas, sabe onde ir busc-las. Um mdico tambm sabe em que espao se encontram as doenas que quer investigar, em seres vivos. Mas, e quanto ao nmero 2, onde ser que ele se encontra? Uma questo como essa, que pode parecer irrelevante primeira vista, tem desdobramentos interessantes. Indague o leitor a si mesmo se o nmero 2 existe de fato ou no. Acreditamos que um matemtico convencional no poria dvidas quanto existncia do nmero 2, mas certamente teria dificuldades em justific-la. Para aguarmos um pouco mais essa questo, o leitor est certo de que este livro, que est diante dele, existe mesmo? claro que sim! diria. Se pedssemos uma argumentao que justificasse essa certeza, talvez uma resposta suficiente aos olhos do senso comum seria: Eu estou vendo, tocando! Ou seja, justificaria a existncia do livro pelos sentidos usuais que os seres humanos so dotados. Infelizmente, no estaramos satisfeitos com essa argumentao. O tato pode falhar, a viso nos engana freqentemente. Logo, em termos racionais, os sentidos no so capazes de nos fornecer fundamentos para a certeza absoluta da existncia do livro. Se o leitor aplicasse essa argumentao a ele prprio, as coisas ficariam ainda piores. O leitor tem certeza absoluta que existe? O que pode parecer estranho, mas inatacvel, nessa linha de argumentao, que no conseguimos legitimar a existncia das coisas somente por argumentos lgicos. Um dos mais belos desenvolvimentos em cima desse argumento devido ao matemtico e filsofo francs Ren Descartes, resumido na frase penso, logo existo. Porm, o que podemos concluir da que existe pensamento, no o ser. Assim, necessitamos de uma postura para vermos as coisas. A maioria absoluta dos lgicos e cientistas em geral adota a postura platnica (muitas vezes inconscientemente). Grosso modo, Plato acredita na existncia de dois mundos: 1) O mundo fsico (em que vivemos) e

14

2) O mundo das entidades ideais. Para nos familiarizarmos com o segundo mundo tomemos o exemplo clssico da circunferncia. Algum consegue desenhar uma circunferncia perfeita? Acreditamos que o leitor tenha respondido no. Porm, para Plato a circunferncia perfeita existe, porm no no nosso mundo fsico e sim no mundo das entidades ideais. Alm disso, Plato diz que as circunferncias do mundo fsico so cpias imperfeitas da circunferncia perfeita, do mundo ideal. Todas as entidades lgicas esto no mundo das entidades ideais. Os objetos so atemporais e no temos o conceito de espao em tal mundo. Nesse sentido, podemos dizer que o nmero 2 sempre existiu e sempre vai existir independentemente da existncia do homem e, alm disso, no se encontra em lugar algum. Decorre da, em particular, que a Lgica (ou Matemtica) a mesma para todos. Plato nos diz tambm que o nico acesso ao mundo das entidades ideais feita atravs de nosso intelecto, e segundo ele, esta a razo pela qual poucos o conhecem, e que a nossa relao com tais entidades de descoberta (e no de criao, por exemplo). Os poucos que no seguem a postura platnica so vistos como excntricos, porm existem adeptos de outras correntes, em nmero menor.

1.4 - Aspectos da Lgica Atual


As principais reas de pesquisa em lgica clssica na atualidade podem ser classificadas nas seguintes: 1. Sintaxe lgica: nesta rea estudam-se certos constructos lingsticos formalizados, as linguagens artificiais. Estas servem para traduzir problemas lgicos referentes s linguagens da matemtica e das cincias empricas. Tambm pode-se estudar questes ligadas s linguagens naturais. Por meio desta ferramenta, pode-se axiomatizar teorias, etc. e, como observamos anteriormente, obteve-se resultados extremamente fecundos como os teoremas de incompleteza de Gdel. 2. Teoria de modelos: aqui se estudam as inter-relaes existentes entre as linguagens artificiais e certas estruturas conjuntistas s quais elas se referem. Os contornos atuais deste ramo se devem a A. Tarski e A. Robinson. Um dos resultados mais importantes da teoria de modelos foi a matematizao do conceito de verdade feita por Tarski, dando-se assim, uma contribuio de profundo significado filosfico. Um dos resultados surpreendentes que o prprio Tarski observou foi de que a classe das proposies verdadeiras mais abrangente que a classe das proposies demonstrveis em teorias matemticas fortes e consistentes. A teoria de modelos possui atualmente as mais variadas aplicaes, por exemplo, em cincias empricas e na metodologia da cincia. 3. Teoria da recurso: grosso modo, a teoria da recurso trata do que exeqvel mecanicamente, computacionalmente, sem recurso inteligncia. Foram introduzidas certas mquinas ideais atualmente conhecidas como mquinas de Turing (outros contemporneos foram A. Church e E. Post).

15

Todos os grandes computadores da atualidade (inicialmente projetados e construdos por J. von Neumann por volta de 1950) so realizaes fsicas da mquina de Turing. So conhecidos resultados deveras interessantes na teoria da recurso; atualmente uma das questes mais atraentes a investigao do que computvel, em particular, o problema conhecido como P = NP. No convm falar dele aqui por ser demasiado tcnico. 4. Fundamentos da matemtica: aqui um dos tpicos de pesquisa a obteno de sistemas lgicos potentes capazes de fundamentar a matemtica clssica, investigar alguns de seus axiomas, analisando suas conseqncias tanto matemticas quanto seu significado do ponto de vista das aplicaes. Alguns desses sistemas investigados so a teoria das categorias, teoria dos topos, teoria dos tipos e outros sistemas. O interessante que tais sistemas extremamente fortes servindo de anlise a prpria matemtica, encontraram aplicaes em cincia da computao e Inteligncia Artificial. 5. Lgica algbrica: a lgica serviu de catalisador deste ramo da matemtica pura. Todo sistema lgico no fundo uma certa estrutura algbrica; por exemplo, o clculo proposicional clssico constitui numa lgebra de Boole, que por sua vez uma estrutura mais bsica: ela constitui num anel de Boole. Muitos problemas em lgica ou matemtica, ou mesmo em cincia da computao, podem ser melhor tratados como certas estruturas algbricas. 6. Aplicaes da lgica em matemtica: este tpico estuda-se aplicaes de tcnicas da lgica para a soluo de problemas em matemtica. Por meio deste expediente foram resolvidas algumas questes relevantes em lgebra e topologia Tambm no teceremos mais comentrios por ser uma tema demasiado tcnico.

Exerccio 1. Responda sucintamente.


1. Dar algumas definies usuais do que Lgica. A Lgica uma Cincia? Discutir de forma breve. 2. O que postura platnica ? 3. Comente o por qu a lgica clssica esteve estagnada por mais de dois milnios. 4. Quando pode ser considerado o incio da lgica moderna ? 5. Quem foi o introdutor dos smbolos em lgica ? 6. O que teoria dos conjuntos Cantoriana ? 7. A matemtica que voc viu at agora feita em que teoria de conjuntos ? 8. Qual o prmio de maior prestgio em matemtica ? 9. Por qu no existe prmio Nobel em Matemtica ? 10. Quais so algumas das principais reas de pesquisa em Lgica Clssica na atualidade ?

16

2. INTRODUO AO CLCULO PROPOSICIONAL


2.1 - Introduo
Neste captulo trataremos alguns conceitos elementares da lgica proposicional, de uma maneira intuitiva. Isto no nos impede, entretanto, de sermos rigorosos em nosso tratamento. O clculo proposicional o estudo da linguagem proposicional. Ela estuda basicamente cinco smbolos: 1. Negao: 2. Conjuno: ^ 3. Disjuno: 4. Implicao: 5. Bi-implicao:

2.2 Os paradoxos
Os paradoxos ou antinomias foram objeto de estudos e inquietaes por parte de filsofos e lgicos, desde os tempos da Antiga Grcia. Sem muito rigor, os paradoxos podem ser classificados em paradoxos semnticos e paradoxos lgicos. Vejamos alguns. Paradoxos semnticos. 1)Paradoxo do mentiroso. Dentre os paradoxos desta categoria, destaca-se aquele descoberto pelo filsofo grego Eublides de Mileto (384-322 a.C.) conhecido popularmente como o paradoxo do mentiroso. Eublides foi professor de Demstenes, contemporneo e declarado inimigo de Aristteles. Teamos algumas consideraes sobre esse assunto. Inicialmente, trata-se do senso comum que toda sentena declarativa da lngua portuguesa ou verdadeira ou falsa, nunca ambas simultaneamente. Suponhamos, por exemplo, que, num quadro negro, se escreva a seguinte (nica) frase : S1 : A sentena escrita neste quadro contm oito palavras. Verifica-se, neste caso, prontamente, que a sentena S1 constitui uma

17

sentena verdadeira, pois S1, contm efetivamente, oito palavras. Consideremos agora esta outra sentena: S2 : A sentena escrita neste quadro contm onze palavras. Evidentemente trata-se de uma sentena falsa pois S2 contm oito palavras e no onze. Passemos a considerar agora esta terceira sentena, de interesse para nosso argumento: S3 : A sentena escrita neste quadro falsa. Constitui S3 uma sentena verdadeira ou falsa ? Analisemo-la: observemos, preliminarmente, que S3 se trata de uma sentena declarativa, legtima do ponto de vista gramatical e, pelo exposto, ou S3 verdadeira, ou S3 falsa. Se S3 for verdadeira, verdadeira S3 - verdadeiro que A sentena escrita neste quadro falsa - e, portanto, conclumos que S3 falsa. Analogamente, se S3 falsa, falsa S3 - falso que A sentena escrita neste quadro falsa - logo, deduzimos que S3 verdadeira. Por conseguinte, S3 verdadeira se e somente se S3 falsa ! Tal o paradoxo do mentiroso. Ressaltamos que esta antinomia de difcil soluo, e constitui, at agora, um genuno paradoxo. 2) Paradoxo do carto Proposto pelo matemtico britnico P. Jourdain, em 1913: suponha-se que numa das faces de um carto esteja escrita a frase

A sentena escrita no verso deste carto verdadeira.

A sentena escrita no verso deste carto falsa.

Pergunta-se, a sentena escrita em cada um dos lados do carto verdadeira ou falsa ? E a resposta que cada uma das sentenas verdadeira se, e somente se, for falsa. 3) Paradoxo de Grelling Proposto em 1908 por Leonhard Nelson e Kurt Grelling, da seguinte maneira: definimos os adjetivos como autolgicos, se a propriedade que ele denota pode ser atribuda a ele mesmo. Assim, os adjetivos curto e proparoxtona so autolgicos, enquanto os adjetivos que no possuem tal propriedade de denotarem atributos que no sejam aplicados a si prprios, chamam-se heterolgicos. Longo, oxtona e verde so, portanto, adjetivos heterolgicos. Consideremos agora o adjetivo heterolgico. Se heterolgico for heterolgico, ento ele autolgico. Se heterolgico

18

no for heterolgico, ou seja, autolgico, ele heterolgico. Por conseguinte, o adjetivo heterolgico , simultaneamente, heterolgico e no heterolgico. 4) Paradoxo de Berry Proposto em 1906. Existe um nmero finito de smbolos (letras, sinais de pontuao, etc.) na lngua portuguesa. Ento, existe um nmero finito de expresses em nossa lngua que contem menos de 200 smbolos, mesmo contando as repeties. H, portanto, um nmero finito de inteiros positivos que podem ser denotados por expresses da lngua portuguesa que contem menos de 200 smbolos. Agora consideremos k como sendo o menor inteiro positivo que no se consegue denotar numa expresso em portugus com menos de 200 smbolos. Ora, a expresso em itlico acima tem menos de 200 smbolos, e a prpria expresso do inteiro positivo k. 5) Paradoxo do barbeiro. Numa pequena cidade do interior vive um barbeiro, muito conhecido dos moradores da cidade, que barbeia todas (e somente aquelas) pessoas moradoras da cidade que no se barbeiam sozinhas. Ora, o barbeiro um morador da cidade. Coloca-se a questo: quem faz a barba do barbeiro ? bvio que: ou ele se barbeia, ou ele no se barbeia. Portanto, como o leitor se apercebe, um tal barbeiro se barbeia se e somente se ele no se barbeia. Adotando-se a Lgica Clssica, tal barbeiro no existe. 6) Paradoxo do exame Numa segunda-feira, certa professora informa seus alunos de que eles tero um exame nos prximos quatro dias, mas que no devero saber o dia exato, a no ser no momento de prestar o exame. Os alunos, ento, raciocinaram assim: o exame no pode ocorrer na sexta-feira (o quarto dia), pois, em caso contrrio, eles saberiam de antemo, na quinta-feira, depois das aulas, que ele seria na sexta-feira, quebrando-se, assim, o acordo de ser surpresa. De modo anlogo, no pode ser na quinta-feira. Nem na quarta-feira, nem na tera-feira. Logo, no pode haver exame nas condies formuladas pela mestre. Porm, esta, digamos na quarta-feira, pode aplicar o exame, satisfazendo as condies impostas. 7) Paradoxo dos insociveis Os habitantes de uma comunidade formam entre si vrios tipos de associaes ou clubes. Um habitante pode pertencer a mais de um clube. Cada clube tem o nome de um habitante. No existem dois clubes diferentes com o nome do mesmo habitante. E toco habitante tem um clube com seu nome. No necessrio que uma pessoa seja membro do clube que leva seu nome. Se a pessoa membro do clube que leva seu nome, ela chamada de uma pessoa socivel. Se a pessoa no membro do clube que tem seu nome, ela ento chamada de uma pessoa insocivel. possvel formar um clube contendo todos os insociveis da comunidade?

19

Paradoxo semitico. Seja A o conjunto dos nmeros naturais de 1 a 12, inclusive, A = {1, 2, ..., 11, 12}. Imaginemos um sistema de notao N para eles. Usaremos os numerais 1, 2, ... , 8 e 9 e sinais 0, 1, 2, ... , 9, 10, 11 e 12, para denot-los, como usualmente, e mais o signo j. O signo j denotar o menor elemento de A que no sistema de notao N no pode ser denotado por um nico smbolo. N aparenta ser, sem sombra de dvida, um sistema de notao cordial. Porm, vejamos o que ocorre com o nmero 10. Suponhamos que 10 seja denotvel por um nico smbolo de N; ento esse smbolo obviamente s pode ser j, e 10 no denotvel por um nico smbolo de N, de conformidade com a definio de j. Admitamos, ento, que 10 no seja denotvel por um nico smbolo de N; da advm que 10 o menor nmero de A que no pode ser denotado por um nico smbolo e que, em conseqncia, deve ser denotado por j. A concluso a de que 10 denotvel por um nico smbolo de N se, e somente se, no o for. Adotando-se a Lgica Clssica, o sistema notacional N no existe. Paradoxo da Fsica Quntica. O paradoxo a seguir acha-se ligado dualidade onda-corpsculo do eltron. No chamado experimento dos dois orifcios, enviam-se eltrons sobre um anteparo, passando por um obstculo, onde h dois orifcios convenientemente colocados, e o feixe de eltrons produz no anteparo configuraes de interferncia, comprovando o carter ondulatrio. Porm, se colocarmos um detetor de partculas logo aps qualquer um dos orifcios, tudo se passa como se o feixe fosse composto de partculas, que atravessam o obstculo, normalmente, atravs dos orifcios. Logo, o eltron onda e corpsculo ao mesmo tempo. O fsico acata a soluo de Copenhague: mantmse que nada se pode conhecer do interfenmeno. Paradoxos lgicos. Os paradoxos desta categoria, diferentemente dos semnticos, envolvem certas noes lgicas, principalmente relacionadas coma teoria intuitiva das colees. 1)Paradoxo de Russell1 Vejamos inicialmente o chamado Paradoxo de Russell. A exposio um tanto quanto detalhada possui o fito de relembrar alguns conceitos fundamentais da teoria intuitiva de conjuntos.2 Dentro da posio platnica subjacente teoria dos conjuntos, um dos princpios bsicos que regem essa teoria, de contedo bastante evidente, o seguinte: Princpio da separao (ou da compreenso): Toda propriedade P determina um certo conjunto, a saber, o conjunto formado pelos objetos que possuem a propriedade P e apenas por eles. Exemplo. Consideremos a propriedade de ser homem. Ela determina o
1 Descoberto independentemente por E. Zermelo. 2 Uma exposio da teoria elementar de conjuntos pode ser vista em [Abe & Papavero 92] .

20

conjunto {x | x um homem} = conjunto dos homens. Exemplo. Se P ser satlite natural da Terra. Ento: {x | x um satlite natural da Terra } = {Lua} Exemplo. Seja P pessoas que sonham e no-sonham simultaneamente. Ento: {x | x uma pessoa que sonha e no sonha simultaneamente} = Como dissemos h pouco, bastante intuitivo que, dada uma propriedade qualquer, ela determina o conjunto dos elementos que satisfazem a referida propriedade. O princpio em questo, porm, na realidade, incompatvel com a lgica elementar clssica. Isto foi constatado em 1902 pelo renomado lgico ingls Bertrand Russell, e o paradoxo por ele descoberto leva o nome de antinomia (ou paradoxo) de Russell. Vamos agora exp-lo: Inicialmente, observemos que existem conjuntos X tais que X no membro de si mesmo, isto : XX Exemplo. O conjunto de todos os homens, por no ser um homem, no membro de si mesmo. Exemplo. Dado o conjunto A = {0, 1, 2}, evidente que A A. Observemos, tambm, que existem conjuntos X tais que so membros de si mesmos, isto , X X. Exemplo. O conjunto de todos os conjuntos, por ser um conjunto, obviamente membro de si mesmo. Exemplo. Um caso interessante o seguinte: seja o conjunto A = {B | o nmero de elementos de B maior ou igual a 3}. Existem muitos conjuntos com pelo menos 3 elementos: B1 = {0, 1, 2, 3} B2 = conjunto das bananas de So Paulo B3 = {a, b, c, d, e} B4 = conjunto dos planetas de nosso sistema solar, etc. Logo, A possui mais do que 3 elementos e, consequentemente, A A. Exemplo. Seja a um objeto. Formemos o conjunto dos objetos distintos de a, {x| x a}. Obviamente tal conjunto distinto de a e, por conseguinte, pertence a ele mesmo. Consideremos, agora, o seguinte conjunto: R = {X | X X}.

21

Por um princpio da Lgica Clssica (Princpio do Terceiro Excludo), ou R R , ou R R. Se R R, conclumos que R R. Se R R, conclumos que R R. Logo, R R se e somente se R R. Tal a famosa antinomia de Russell. Historicamente, o desgosto que causou a descoberta da antinomia de Russell entre os especialistas em Lgica Matemtica foi bem expresso por G. Frege em 1903, num apndice ao segundo volume de seu Grundgesetze: Nada pior praticamente pode acontecer a um autor cientfico do que ver uma das fundaes de seu edifcio ser abalada depois de ter terminado a obra. Fui colocado nessa posio por uma carta contendo o paradoxo de Mr. Bertrand Russell exatamente quando a impresso deste segundo volume estava quase pronta ... Solatium miseris, socios habuisse malorum. Eu tambm tenho este consolo, se que consolo; pois todos aqueles que em suas demonstraes empregaram extenses de conceitos, classes, conjuntos, inclusive sistemas de Dedekind, esto nesta mesma posio. No s uma questo de meu mtodo particular de colocar as fundaes, mas trata-se de saber se alguma fundamentao lgica para a Matemtica possvel ... (Frege, 1964). 2) Paradoxo de Cantor Por exigir um resultado da Teoria dos Conjuntos, que o Teorema de Cantor, o paradoxo ser apresentado de modo resumido, em suas idias principais. Mas, antes disso, cumpre colocar a idia bsica do Teorema de Cantor, a de que o nmero de elementos de um conjunto qualquer sempre menor que o nmero de elementos do conjunto formado por todos os seus subconjuntos. Em linguagem simblica: #A < #2A. Vamos ao paradoxo, ento: seja C o conjunto de todos os conjuntos. Portanto, cada subconjunto de C tambm um membro de C. Assim, o conjunto potncia de C subconjunto de C. Em linguagem da teoria dos conjuntos, 2C C. Mas, 2C C implica em #2C #C, o que absurdo, de acordo com o Teorema de Cantor, segundo o qual, #C < #2C . 3) Paradoxo de Burali-Forti Proposto em 1897, esse paradoxo exige uma familiarizao do leitor com a Teoria dos Nmeros Ordinais. Em linhas gerais, ele anlogo ao paradoxo de Cantor, visto acima. No faria sentido apresent-lo neste texto, a no ser resumidamente, por tratar de um contedo por demais especfico da matemtica. Em linhas gerais, o paradoxo seria o seguinte: dado qualquer nmero ordinal, existe um outro nmero ordinal maior que ele. Mas o nmero ordinal determinado pelo conjunto de todos os nmeros ordinais o maior nmero ordinal existente.

2.3 Linguagens artificiais


Os poucos exemplos de paradoxos semnticos colocam em relevo o

22

fato de qualquer linguagem natural, como por exemplo, a lngua portuguesa, no pode ser adequada ao tratamento rigoroso da lgica. Mais ainda, admitindo-se certas leis bsicas da lgica clssica, toda linguagem universal, como tem a capacidade de referir-se a si prpria, sem quaisquer restries, leva inevitavelmente a contradies. Isto foi observado no incio deste sculo pelo renomado lgico polons Alfred Tarski. Necessitamos, ento, construir uma linguagem que possibilite o tratamento da lgica. Uma tal linguagem ser usualmente chamada de linguagem artificial (de artefato) ou linguagem formal (de forma). A considerao de linguagens artificiais nos obriga a pensar certas questes. Ao termos uma linguagem artificial em tela, automaticamente, temos uma linguagem que diz respeito a ela. A essa linguagem damos a denominao de meta-linguagem. Observamos, ento, que para construirmos a linguagem artificial em questo (que denominaremos de linguagem objeto), obviamente sero empregados os recursos oferecidos pela meta-linguagem. Esta observao fundamental, porquanto veremos posteriormente que, no caso da considerao da linguagem proposicional, por exemplo, faremos uso, alm da linguagem portuguesa, de pores da prpria Matemtica e de noes ditadas pelo senso comum. primeira vista, parece que nos enredamos num crculo vicioso, porm, medida em que o leitor se familiarize com os conceitos desenvolvidos notar que no h tal inconveniente.

Linguagem Objeto
L in

Linguagem Proposicional

Meta-linguagem (Teoria dos conjuntos Cantoniana)

Figura 1 Logo, ao considerarmos uma linguagem-objeto, necessitamos de uma espcie de pano de fundo. Mais pormenorizadamente, tal pano de fundo qualquer modelo (ou, o que d no mesmo, a prpria teoria) de teoria dos conjuntos (Cantoriana). Mais ainda, freqentemente utilizamos uma aritmtica usual e, portanto, uma meta-matemtica na meta-linguagem. O leitor zeloso, notar ento que o estudo feito em tais linguagens artificiais ser feito olhando-se de fora, ou seja, todos os resultados que puderem ser observados, sero observados de um lugar que no o mesmo onde eles efetivamente ocorrem. Por conseguinte, tratar-se-o de meta-teoremas. Uma importante observao, feita a partir disso, a de que quase sempre estamos trabalhando e realizando meta-matemtica. Da, o que chamaramos, licenciosamente, de uma equao fundamental: Matemtica = Meta-Matemtica !! Esta situao ilustrada magnificamente por Nietzsche: ... a frontei-

23

ra da Cincia possui uma infinidade de pontos. Todo homem nobre e talentoso, antes de atingir a metade de sua carreira, defronta-se com algum ponto da fronteira que desafia sua compreenso, independentemente de saber como a regio pode ser inteiramente mapeada. Quando o pesquisador, levado periferia, compreende como a Lgica, neste lugar, curva-se sobre si mesma e morde a prpria cauda, fica perplexo com uma nova espcie de percepo: uma percepo trgica que requer, para se tornar tolervel, o remdio da arte. Por exemplo, havia voc percebido que os Teoremas que aprendeu sobre Geometria ou Clculo Diferencial e Integral so, na realidade, metateoremas? Exerccio 1. Discutir pelo menos dois paradoxos semnticos da linguagem natural, no vistos no texto, mostrando, ento, a inadequao do uso das linguagens naturais para o desenvolvimento de teorias lgicas. Exerccio 2. Pesquise sobre teoremas da Geometria Euclidiana e determine se estes so realmente teoremas ou meta-teoremas da Geometria Euclidiana.

2.4 A linguagem universal da lgica


A linguagem da teoria dos conjuntos constitui na linguagem universal da lgica. Exerccio 1. D exemplos de linguagens artificiais. Qual a linguagem universal da Lgica?

2.5 - Conectivos lgicos e tabelas-verdade


No estudo da linguagem proposicional, apesar de ser formal, invocaremos muitas vezes proposies da lngua portuguesa, com o fito de amenizar a exposio. Esperamos que o leitor se aperceba de um rigor saudvel que estar subjacente s discusses que se seguem, apesar de conscientemente cometer tal heresia. As sentenas que esto em tela so as ditas sentenas declarativas. Tais sentenas so sentenas, como o prprio nome diz, que declaram (afirmam) algo. Portanto, o que afirmam passvel de ser considerada ou como verdadeira, ou como falsa. Vejamos alguns exemplos. Exemplo 1. Exemplos de sentenas declarativas. 1. A neve branca. (verdadeira) 2. 2 + 2 = 5 (falsa) 3. H cinco milhes de gros de areia na lua. (ningum contou os gros; mas sabemos ou que verdade, ou que falsa (provavelmente falsa)). Daqui em diante, toda sentena (declarativa) que trabalharmos ou verdadeira ou falsa, mas nunca ambas simultaneamente. Da a lgica clssica ser chamada de lgica bivalente. Existem vrias notaes para designarmos os valores-verdade ou valores-lgicos das sentenas.

24

Adotaremos neste texto a notao booleana: 1 designa o valor-verdade verdadeiro 0 designa o valor-verdade falso 1) Negao Dada a proposio A podemos considerar a proposio ( A) denominada a negao de A. Como a proposio A ou verdadeira ou falsa, a tabela-verdade da negao toma ento a seguinte forma: Tabela-verdade da negao. A 1 0 ( A) 0 1

A proposio A verdadeira se e somente se sua negao (A) falsa. Exemplo 2. 1. Seja A (2 + 2 = 4) (no caso, verdadeira). Ento ( A) ( (2 + 2 = 4)) constitui uma sentena falsa. Na aritmtica comum, costuma-se escrever a ltima expresso como 2 + 2 4. 2.Seja B (2 {1, 3, 5}) (no caso, falsa). Logo, (B) ( (2 {1, 3, 5}) constitui uma sentena verdadeira. Na linguagem da Teoria dos Conjuntos (ver [Abe & Papavero, 92]), a ltima expresso usualmente escrita como 2 {1, 3, 5}. Mesmo na linguagem comum, a tabela-verdade se aplica: Exemplo 3. Seja A A neve branca (verdadeira). Sua negao (A) A neve no branca (falsa). Tambm, A A cidade de So Paulo pequena (falsa). Sua negao (A) A cidade de So Paulo no pequena (verdadeira). Algumas negaes delicadas. Exemplo 4. Vejamos algumas negaes de sentenas: 1. A Todo homem mortal Qual a negao de A ? O mais simples escrever (A) Nem todo homem mortal ou No que todo homem mortal. Porm, h outras sentenas equivalentes que queremos chamar a ateno: dizer Nem todo homem mortal o mesmo que dizer Existem homens que no so mortais ou H homens imortais. 2. A Existem pessoas inseguras Qual a negao de A ? O mais simples escrever (A) No existem pessoas inseguras. Porm, esta equivalente a escrever Todas as pessoas no so inseguras (pense bem !) ou Todas as pessoas so seguras. 3. A Todos os animais mamferos so animais vertebrados. (A) Nem todos os animais mamferos so animais vertebrados ou

25

No que todos os animais mamferos so animais vertebrados. Ou ainda, Existem animais mamferos que no so animais vertebrados ou H animais mamferos que so animais invertebrados. 4. A Existem pessoas que se preocupam em tica. (A) No existem pessoas que se preocupam em tica ou No existem pessoas que se preocupam em tica. Ou ainda, Todas as pessoas no se preocupam com a tica 5. A Todo nmero par divisvel por dois (A) Nem todo nmero par divisvel por dois ou No que todo nmero par divisvel por dois. Ou ainda, Existem nmeros pares que no so divisveis por dois ou H nmeros pares que indivisveis por dois. Exerccio 1. Faa o que se pede. 1. Em cada item so dadas duas sentenas. Responda se a segunda frase ou no a negao da primeira. Caso no seja, determine essa negao.
a) Estou feliz. b) Todos os elefantes so cor-de-rosa. c) Alguns cavalos so brancos. d) Todos os cavalos so pretos. e) O sol est brilhando. f) Estou certo. g) Nenhum homem um elefante. h) Todos os tomates so vermelhos. i) Algumas vezes estou certo. j) H sempre algum na portaria. No estou feliz. Um elefante no cor-de-rosa. Alguns cavalos so pretos. Alguns cavalos so brancos. O sol no est brilhando. Estou errado. Algum homem um elefante. Todos os tomates so amarelos. Todas as vezes estou certo. Nem sempre h algum na portaria.

2. Em cada sentena abaixo, determine a respectiva negao.


a) Hoje sbado. c) Esta sala est muito fria. e) No verdade que no se sabe que fez isso. g) Todas as ruas da cidade esto esburacadas. i) No vou viajar. b) Lgica fcil. d) falso que a vida bela. f) Existem polticos trabalhadores. h) Toda ao provoca uma reao. j) Irei a outro lugar.

3. Em cada item so dadas duas sentenas. Responda se a segunda frase ou no a negao da primeira. Caso no seja, determine a respectiva negao.
a) Todos os estudantes so responsveis. Alguns estudantes so irresponsveis. b) A neve branca. A neve no branca. c) Ele rico. Ele pobre. d) Eu creio na honestidade. Ningum honesto. e) Nenhum homem uma ilha. Algum homem uma ilha. f) Todos os livros so interessantes Um livro no interessante. g) H sempre algum feliz. Nem sempre h algum feliz. h) Alguns estudantes so responsveis. Alguns est. so irresponsveis. i) Todos os exerccios so instrutivos. Todos os exerccios so fceis.

26

j) Algumas vezes me engano.

Todas as vezes me engano.

4. Em cada sentena abaixo, determine a respectiva negao.


a) H alunos na sala. c) Algumas pessoas gostam de chocolate. e) Ningum foi ao aniversrio. g) falso que esta moeda verdadeira. i) H uma pedra no meio do caminho. k) H sempre algum no saguo. m) No o caso de no ser reprovado. b) Esta aula muito importante. d) Todos votaram nele. f) Existem pessoas estudiosas. h) Todas as pessoas so felizes. j) Se fosse fcil, j estaria feito. l) Sempre h algum no saguo. n) o caso de ser aprovado.

5. Em cada item so dadas duas sentenas. Responda se a segunda frase ou no a negao da primeira. Caso no seja, determine essa negao.
a) Estudo e trabalho. b) O sol brilha e o ar est quente. c) Estou certo e voc est errado. No estudo nem trabalho. O sol no brilha ou o ar no est quente. Estou errado ou voc est certo.

6. Em cada sentena abaixo, determine a respectiva negao.


a) Hoje feriado ou domingo. b) A sala e o quarto esto escuros. c) A rua est esburacada e mal iluminada. d) Se for feriado ou domingo, vou viajar. e) Se for feriado e o tempo estiver ensolarado, vou viajar.

2) Conjuno Dadas as proposies A e B podemos considerar a nova proposio (A B), a conjuno de A e B. A veracidade ou falsidade da proposio (A B) depende da veracidade ou falsidade da proposio A e da proposio B. Logo, a tabela-verdade de (A B) possui quatro possibilidades de valores-verdade para A e B. 1. A verdadeira e B tambm verdadeira. 2. A verdadeira e B falsa. 3. A falsa e B verdadeira. 4. A falsa e B tambm falsa. Postulamos que a proposio (A B) verdadeira se e somente se ambas as proposies A e B so verdadeiras. A proposio (A B) falsa se e somente se uma das proposies A ou B for falsa. As consideraes acima podem ser esquematizadas como se segue: Tabela-verdade da conjuno:

27

A 1 1 0 0

B 1 0 1 0

(A B) 1 0 0 0

Exemplo 5. Consideremos as seguintes proposies: 1) [(2 + 4 = 4) (1 2)] Esta proposio verdadeira 2) [(2 + 4 = 4) (1 2)] 3) [(2 + 4 4) (1 2)] 4) [(2 + 4 4) (1 2)]
falsa falsa falsa verdadeira verdadeira falsa verdadeira verdadeira

Esta proposio falsa Esta proposio falsa Esta proposio falsa

Observao. Convm frisar algumas diferenas entre os conectivos (lgico) e e (da lngua portuguesa). Na linguagem proposicional, se A e B so frmulas, ento (A B) e (B A) so logicamente equivalentes. Com efeito, vejamos os exemplos seguintes: a) (2 + 2 = 4 1 2) e b) (1 2 2 + 2 = 4) possuem o mesmo significado. Na linguagem natural, porm, nem sempre isto ocorre. Vejamos os seguintes exemplos: a) Sejam A Joo inteligente e B Joo l as obras de Plato. (A B) representa a sentena Joo inteligente e Joo l as obras de Plato. (B A) a sentena Joo l as obras de Plato e Joo inteligente. O senso comum nos indica que (A B) e (B A) se eqivalem. b) Sejam agora A Maria casou e B Maria teve um filho. (A B) representaria a sentena Maria casou e Maria teve um filho. (B A) a sentena Maria teve um filho e Maria casou. Neste caso, note-se, no h uma equivalncia entre as sentenas (A B) e (B A). Na linguagem natural insinua-se quase sempre uma certa seqncia temporal (e s vezes uma implicao de causalidade). A observao se aplica tambm aos demais conectivos. Exerccio 2. Faa o que se pede. 1. Em cada item so dadas duas sentenas. Escreva a conjuno delas. a) A Joo estuda. B No estudo. b) A O sol brilha. B O ar no est quente. c) A Estou certo. B Estou errado. 2. Em cada sentena abaixo, determine a respectiva negao. a) Hoje feriado e domingo. b) A sala e o quarto esto escuros. c) A rua est esburacada e mal iluminada. d) Clarissa vai praia e tomar sol. e) Ela bonita e inteligente.

28

3. Admitindo-se o senso comum, diga se so verdadeiras ou falsas. a) O sol brilha e a nuvem verde. b) 2 + 2 = 4 e = {} c) Curitiba a capital do Paran e Paris a capital da Frana. 4. Obtenha a negao das seguintes proposies: a) Bianca no estuda e mal educada. b) Est chovendo e fazendo frio. c) Chiquinho esperto e atento. 3) Disjuno Dadas as proposies A e B podemos considerar a nova proposio (A B), a conjuno de A e B. Postulamos que a proposio (A B) verdadeira se e somente se uma das proposies (ou ambas) A ou B so verdadeiras. A proposio (A B) falsa se e somente se quando ambas proposies A e B for falsa. As consideraes acima podem ser esquematizadas como se segue: Tabela-verdade da disjuno: A 1 1 0 0 B 1 0 1 0 (A B) 1 1 1 0

Exemplo 6. Consideremos as seguintes proposies: 1) [(2 + 4 = 4) (1 2)] 2) [(2 + 4 = 4) (1 2)] 3) [(2 + 4 4) (1 2)] 4) [(2 + 4 4) (1 2)]
falsa falsa falsa verdadeira verdadeira falsa verdadeira verdadeira

Esta proposio verdadeira Esta proposio verdadeira Esta proposio vardadeira Esta proposio falsa

Na linguagem natural, muitas vezes o conectivo ou possui idia de excluso: Bianca vai ao supermercado ou vai escola. Neste caso, claro que Bianca vai fazer uma coisa ou outra, mas no ambas simultaneamente. O conectivo que leva em conta a observao anterior chama-se disjuno exclusiva.

29

Exerccio 3. Faa a tabela-verdade da disjuno exclusiva. Em Lgica, como se observou, uma disjuno verdadeira quando uma das proposies constituintes verdadeira ou, tambm, quando ambas so verdadeiras simultaneamente. Exerccio 4. Faa o que se pede. 1. Sejam as proposies A O livro interessante e B O livro caro. Fornecer uma sentena na linguagem natural que descreva cada uma das simbolizaes abaixo: a) (A) b) (A B) c) (A B) d) (B (A)) e) ((A) (B)) 2. Sejam as sentenas: A A neve branca e B O sol um astro. Determinar o valor-verdade das sentenas abaixo: a) [A (B)] b) [(A B)] c) [(A) B] d) [(A) (B)] e) [A (B)] 3. Em que casos as sentenas abaixo so falsas? (Em cada item estude todas as possibilidades) a) Ela mineira e ele paraense. b) Ela mineira ou ele paraense. c) falso que ela mineira e ele paraense. d) falso que ela mineira e falso que ele paraense. 4. Sejam as expresses A O cu azul, B Deus existe e C O Sol gira em torno da Terra. Fornecer uma sentena na linguagem natural que descreva cada uma das afirmaes abaixo: a) (A) b) (A B) c) ((A B) C) d) (B (C)) e) [(A) (B)] f) [((A) C)] g) [(A (B))] h) (C (B)) 5. Escreva as sentenas em linguagem simblica abaixo utilizando os conectivos , e . a) No verdade que Galileu esteja certo. b) A gua no pode ser simultaneamente lquida e slida. c) O seguro da casa inclui incndio ou roubo. d) Compro ou no compro. e) No estudarei hoje, mas estudarei amanh e quarta-feira. 6. Determinar a tabela verdade das sentenas abaixo, sendo A = {}, B = , C {} = {{}}: a) [A (C)] b) [(B C)] c) [(B) (C)] d) [(A (B))] f) [[(A) (B)]] g) [A ((A C))]

30

7. Em que casos as sentenas abaixo no so falsas? (Estude todas as possibilidades) a) A Terra gira e Maria gosta de Jos. b) Passarei em lgica ou 2 + 2 = 4. c) falso que ela gosta dele e falso que ele gosta dela. d) falso que ela gosta dele e ele gosta dela. 8. Entendemos por disjuno exclusiva ao tipo de disjuno em que as sentenas no podem ocorrer simultaneamente, como no exemplo Ela est alegre ou no est alegre. Definir, nos casos abaixo se o ou corresponde disjuno inclusiva ou exclusiva. a) Eu menti ontem ou mentirei amanh. b) Meu time o campeo deste ano ou no o campeo deste ano. c) Ela se formou em 1993 ou em 1998. d) Com sol ou com chuva, voc trabalhava. e) O terno de Bentinho ou de Escobar. 4) Implicao Dadas as proposies A e B podemos considerar a nova proposio (A B), a implicao de B por A. A proposio A chama-se antecedente da implicao (A B) e B chama-se o conseqente da implicao (A B). Postulamos que a proposio (A B) falsa se e somente se o antecedente A verdadeiro e o conseqente B falso. Nos demais casos, a proposio (A B) verdadeira. As consideraes acima podem ser esquematizadas como se segue: Tabela-verdade da implicao: A 1 1 0 0 B (A B) 1 1 0 0 1 1 0 1

Exemplo 7. Consideremos as seguintes proposies: 1) [(2 + 4 = 4) (1 2)] 2) [(2 + 4 = 4) (1 2)] 3) [(2 + 4 4) (1 2)] 4) [(2 + 4 4) (1 2)]
falsa falsa falsa verdadeira verdadeira falsa verdadeira verdadeira

Esta proposio verdadeira Esta proposio falsa Esta proposio verdadeira Esta proposio verdadeira

31

Observao. Teamos algumas consideraes sobre a tabela-verdade referente implicao. 1) A tabela positivamente obscura no uso ordinrio. Vejamos alguns exemplos. Leis causais. Quando a implicao lgica interpretada como causar na linguagem natural. 1. Sejam as sentenas A Este pote dgua for colocado no fogo no instante t0 e B A gua congelar. A sentena A s falsa no caso de o pote no ser colocado no fogo no instante indicado. Coloquemos o pote no fogo num instante t distinto de t0. Logo, A falsa. Consideremos a sentena (A B) Se este pote dgua for colocado no fogo no instante t0 ento a gua congelar. De acordo com a tabela-verdade da implicao, (A B) verdadeira, independentemente do valor-verdade de B, o que configura uma situao absurda ! 2. Sejam as sentenas A Se sua sogra chegar em sua casa exatamente no instante t0 e B Voc ficar mais inteligente. A sentena A s falsa no caso de sua sogra no chegar em sua casa exatamente no instante indicado (o que muito provvel). Suponhamos que ela venha antes do instante t0. Logo, A falsa. Consideremos a sentena (A B) Se sua sogra chegar em sua casa exatamente no instante t0 ento voc ficar mais inteligente. De acordo com a tabela-verdade da implicao, (A B) verdadeira, independentemente do valor-verdade de B, o que configura uma situao absurda (convenhamos) ! Situaes em que o antecedente no um fato. Consideremos a sentena: Exemplo 8. A sentena Se Joo Guimares Rosa no tivesse escrito nenhuma obra literria, ento no teria havido inflao em nenhuma poca em nosso pas admitidamente falsa, mesmo que o antecedente seja falso. O mesmo se sucede com a sentena Se Cabral no tivesse descoberto o Brasil, ento homem no teria chegado lua. 2) Uma justificativa favorvel que podemos oferecer para a tabela-verdade da implicao a seguinte: admitamos ser razovel a tabela-verdade da conjuno. Para quaisquer sentenas A e B, , ento, razovel considerar a

32

sentena ((A B) B) como verdadeira, quaisquer que sejam os valoresverdade de A e B. Assim, se A e B so ambas verdadeiras, (A B) verdadeira, e, por conseguinte, isto justifica a 1 a linha da tabela. Se A falsa e B verdadeira, ento (A B) falsa. Este caso corresponde 3a linha da tabela. Se A e B so ambas falsas, ento (A B) falsa, o que correspondente ltima linha da tabela. 3) Esta observao citada em [Iski & Abe 01]: Temos certeza que o leitor est perplexo que o valor-verdade de 0 0 e 0 1 1. Uma explicao adequada dada no exemplo a seguir. Estamos acostumados a dizer a seguinte sentena: se x divisvel por 10, ento x divisvel por 2. Se escrevermos em smbolos obtemos x(x/10 x/2). (Aqui, a expresso x/a significa que x divisvel por a.) A expresso anterior amplamente aceita como verdadeira.. Como x arbitrrio, se fizermos x = 20, temos 20/10 = 2 e 20/2 = 10 e, por conseguinte, como o antecedente e o conseqente so ambos verdadeiros, a expresso como um todo verdadeira (isto , o valor verdade de 1 1 associado 1). Se fizermos x = 8, o antecedente falso enquanto que o conseqente verdadeiro, ou seja temos o caso 0 1; no entanto a expresso como um todo verdadeira. Finalmente, se fizermos x = 5, tanto o antecedente quanto o conseqente so falsos, porm a expresso como um todo verdadeira. Esta explicao conhecida como interpretao do famoso lgico polons S. Lesniewski. Convm ressaltar que nas consideraes acima h uma questo muito importante subjacente, ou seja, contm um problema de metodologia matemtica. Questes da lgica proposicional levamos para uma estrutura generalizada denominada lgica de predicados, e ali podemos eleger respostas adequadas. Por exemplo, ainda sobre esse procedimento, sabemos que no podemos efetuar subtraes quaisquer de nmeros naturais. Porm, se estendermos para os nmeros inteiros , obtemos uma boa interpretao para a subtrao. Outro exemplo, o mesmo se d quando uma equao quadrtica no solvel no conjunto dos reais, apelamos para o mundo dos nmeros complexos onde obtemos uma soluo. De modo geral, a observao importante que ao considerarmos uma estrutura bsica, vrios problemas tm uma resposta adequada em estruturas mais gerais. Exerccio 5. Nas seguintes sentenas dizer qual o antecedente e qual o conseqente: 1. (2 + 2 = 7 2 + 1 = 0) 2. Det(M) = 0 implica que M no invertvel. 3. Se f : uma funo derivvel, ento f : uma funo contnua.

33

1. 2. 3. 4.

Exerccio 6. Dizer se so verdadeiras ou falsas (adote o bom senso nos juzos): Se a neve branca, ento Paris a capital da Frana. Se Penha um bairro de So Paulo, ento o cu no contm estrelas. Se os planetas giram em torno da terra, ento inexistem extra-terrqueos. Se o sol um planeta inerte, ento a terra uma estrela.

5) Bi-implicao Dadas as proposies A e B podemos considerar a nova proposio (A B), a bi-implicao de A e B. Postulamos que a proposio (A B) verdadeira se e somente se as proposies A e B possuem o mesmo valor-verdade. A proposio (A B) falsa se e somente se as proposies A e B tiverem valores-verdade trocados. As consideraes acima podem ser esquematizadas como se segue: Tabela-verdade da bi-implicao: A 1 1 0 0 B 1 0 1 0 (A B) 1 0 0 1

Exemplo 9. Consideremos as seguintes proposies: 1) [(2 + 4 = 4) (1 2)] 2) [(2 + 4 = 4) (1 2)] 3) [(2 + 4 4) (1 2)] 4) [(2 + 4 4) (1 2)]
falsa falsa falsa verdadeira verdadeira falsa verdadeira verdadeira

Esta proposio verdadeira Esta proposio falsa Esta proposio falsa Esta proposio verdadeira

Exerccio 7. Faa o que se pede. 1. Indiquemos por A Est calor e por B vero. Escrever em forma simblica as seguintes afirmaes: a) vero somente se est calor. b) Uma condio necessria para estar calor que seja vero. c) Uma condio suficiente para estar calor que seja vero. d) Sempre que vero, faz calor. e) Nunca vero, quando est calor.

34

2. Dentro do contexto da lgica proposicional, identifique as sentenas abaixo quanto a sua veracidade ou falsidade justificando devidamente cada resposta dada. a) (5 + 4 = 9 2 4), b) (3 + 2 = 6 2 + 2 = 4), c) (5 + 3 = 7 4 + 4 = 7), d) (4 + 3 = 7 2 + 3 = 4), e) (2 + 3 = 5 2 + 2 = 4), f) (3 + 3 = 5 32 33), g) (2 + 4 = 7 2 + 2 = 5), h) (3 + 2 = 5 2 + 2 = 5), i) (6 + 2 = 8 6 8), j) (3 + 3 = 5 2 + 2 = 3), k) (2 + 2 = 3 2 + 2 = 4), l) (3 + 4 = 6 3 + 3 = 7), m) (3 2 4 3), n) (32 33 4 + 5 = 8), o) (2 3 (2 + 2 = 4 7 + 2 = 9)), l) ((3 4 4 3) 3 + 3 = 7). A seguir apresentamos algumas leituras que a negao, conjuno, disjuno, implicao e bi-implicao podem ter na linguagem natural.

(A)

No A; No se d que A; No fato que A; No verdade que A; No que A; No se tem A. A e B; A, mas B; A, embora B; A, assim como B; A e, alm disso, B; Tanto A como B; A e tambm B; No s A, mas tambm B; A, apesar de B. A ou B ou ambos. se A, ento B; se A, isto significa que B; tendo-se A, ento B; quando A, ento B; sempre que A, B; B, sempre que se tenha A; B, contanto que A; A condio suficiente para B; B condio necessria para A; Uma condio suficiente para B A; Uma condio necessria para A B; B, se A;

(A B)

(A B) (A B)

35

B, quando A; B, no caso de A; A, s se B; A, somente quando B; A, s no caso de B; A implica B, A acarreta B, B implicada por A. (A B) A se e s se B; A se e somente se B; A quando e somente quando B; A eqivale a B; Uma condio necessria e suficiente para A B; A condio necessria e suficiente para B

3. Escreva as sentenas a seguir em linguagem simblica, usando sentenas bsicas (ou atmicas), isto , as sentenas que no podem ser construdas a partir de outras sentenas. a) Se Antnio est feliz, a esposa do Antnio no est feliz, e se o Antnio no est feliz, a esposa do Antnio no est feliz. b) Ou Antnio vir festa e Pedro no, ou Antnio no vir festa e Pedro se divertir. c) Uma condio necessria e suficiente para o rei ser feliz ele ter vinho, mulheres e msica. d) Teresa vai ao cinema s se o filme for uma comdia. 4. Traduza as sentenas abaixo, dado o seguinte esquema: A Clarissa sorri B Clarissa desperta C Clarissa vai praia D Clarissa fica indecisa E Clarissa sente o sol a) (B A) b) (A C) c) ((D C) (A (B (E)))) 5. Simbolize as sentenas abaixo, dado o seguinte esquema: A o estudante comete erros, B h motivao para o estudo, C o estudante aprende a matria. a) Se o estudante no comete erros, ento ele aprende a matria. b) Se no h motivao para o estudo, ento o estudante no aprende a matria. c) Se h motivao para o estudo, o estudante no comete erros. d) O estudante aprende a matria se, e somente se, h motivao para o estudo.

36

6. Simbolize as sentenas abaixo: a) Ou Capitu ou no a criao mais notvel de Machado de Assis. b) No verdade que Machado de Assis escreveu ou no escreveu poesias. c) Se fcil ler o que Jos da Silva escreveu, no fcil ler o que escreveu Guimares Rosa. 7. Escreva as sentenas a seguir em linguagem simblica, usando formas simples, isto , as sentenas que no podem ser construdas a partir de outras sentenas. a) Uma condio suficiente para x ser mpar x ser primo b) Uma condio necessria para uma seqncia s convergir que s seja limitada. c) O suborno ser pago se, e somente se, a mercadoria for entregue. d) Judite vencer o torneio de xadrez, a menos que Tnia vena hoje. e) Se x positivo, ento x2 positivo. 8. Traduza as sentenas abaixo, dado o seguinte esquema: A ganho um livro B ganho uma revista C posso ler D estou motivado E sou aprovado no exame. a) (C (A B)) b) (D (C)) c) (D ((C) (A B))) d) ((D) (E (A B))) e) ((D) (C (A B)) f) (((C) A) (E (D))) 9. Traduza as sentenas abaixo, dado o seguinte esquema: A h nuvens, B chover, C ventar. D far bom tempo amanh. a) (A B) b) (A (D)) c) ((D) (B C)) d) ((A) D) e) (A (B C)) f) ((A B) C) g) (A (B C)) h) ((A B) C) i) ((A B) ((C) D)) j) (A ((B C) D)) 10. Simbolize as sentenas abaixo, dado o seguinte esquema: A o estudante comete erros;

37

B h motivao para o estudo, C o estudante aprende a matria. a) Se no h motivao para o estudo, ento o estudante comete erros ou no aprende a matria. b) Se o estudante comete erros, ento, se no h motivao para o estudo, o estudante no aprende a matria. c) O estudante comete erros; alm disso, h motivao para o estudo e o estudante aprende a matria. d) No h motivao para o estudo se e somente se o estudante comete erros e no aprende a matria. e) Se h motivao para o estudo e o estudante no comete erros, ento o estudante aprende a matria se h motivao. 11. Simbolize as sentenas abaixo, dado o seguinte esquema: A Paulo diminui os erros cometidos, B h motivao para o estudo, C Paulo aprendeu a matria, D O professor bom. a) Se o professor bom, Paulo aprende a matria. b) Se o professor no bom, no h motivao para estudar. c) O professor bom, h motivao para estudar e, alm disso, Paulo aprende a matria. d) Paulo no aprendeu a matria; ele no diminuiu os erros cometidos. e) Se Paulo no diminuiu os erros cometidos, o professor no era bom ou no havia motivao para estudar. f) Paulo aprende a matria ou diminui os erros cometidos. g) Paulo diminui os erros cometidos se, e somente se, h motivao para estudar. h) Se o professor bom, ento, caso haja motivao para estudar, Paulo aprender a matria. i) Paulo diminuir o nmero de erros cometidos se, e somente se, no ocorrer o seguinte: no deixa de haver motivao para o estudo e Paulo no deixa de aprender a matria. 12. Simbolize as sentenas abaixo: a) fcil compreender as obras de Jos da Silva, mas no os de Guimares Rosa. b) Se Diana foi ao baile, no fato que no tenha ido ao baile. c) No fato que Paulo que v festa e fique satisfeito. d) Se o computador auxilia o cientista se, e somente se, altera a sua programao, ento, se altera a programao, til. e) No se d o seguinte: no viajamos e no levamos as barracas. f) Irei praia salvo se chover. g) Vou estudar exceto se tiver vontade. 13. Dadas as sentenas atmicas abaixo, escrever por meio de smbolos: A Ela bonita B Ela inteligente C Ela rica

38

D Ela jovem E Ela gosta de mim F Quero casar com ela a) Ela pobre b) Ela rica ou jovem c) Ela inteligente e anci d) No que ela burra e) Se ela rica, ento quero casar com ela f) Ela inteligente, bonita, rica, jovem e ela gosta de mim g) Quero casar com ela, mas ela no gosta de mim h) Uma condio necessria para casar com ela que ela seja bonita i) Uma condio suficiente para casar com ela que ela seja rica j) Ela feia, burra, pobre, anci, mas quero casar com ela k) Quero casar com ela s se ela gosta de mim l) Se ela jovem ento ela bonita m) Uma condio necessria e suficiente para casar com ela que ela goste de mim n) Quero casar com ela, exceto se ela burra 2.6 - Frmulas atmicas e frmulas Como observamos no incio deste captulo, atravs dos conectivos lgicos , , , e , podemos construir sentenas mais complexas a partir de outras sentenas mais simples. Este procedimento clarificado pela seguinte regra de formao de sentenas: Partimos de certas sentenas denominadas frmulas atmicas1 : p, q, r, ... Elas desempenham, intuitivamente, o papel de sentenas bsicas ou atmicas da linguagem proposicional. As sentenas (que daqui em diante recebero o nome de frmulas) em geral so obtidas pela seguinte definio indutiva generalizada: 1. Todas as frmulas atmicas so frmulas. 2. Se A e B so frmulas, ento (A), (A B), (A B), (A B) e (A B) so tambm frmulas. 3. Uma dada expresso constitui uma frmula se e somente se foi obtida pela aplicao de uma das regras (1 ou 2) acima. Observe-se que os smbolos A e B introduzidos na definio anterior (item 2) se tratam de variveis que denotam sentenas quaisquer da linguagem proposicional. O leitor deve estar atento para o fato de que tais smbolos no so propriamente smbolos da linguagem em apreo, mas sim smbolos que esto fora da linguagem proposicional. Tais variveis denominam-se, costumeiramente, meta-variveis.

39

A clusula 3 da definio acima tambm conhecida como clusula maximal e, juntamente com as demais, permite-nos reconhecer quando uma dada expresso se trata de uma frmula ou no. Daqui em diante, usamos tambm a seguinte terminologia: diz-se que uma frmula (A) do tipo no. (A B) do tipo e (A B) do tipo ou (A B) do tipo implica (A B) do tipo bi-implica. 2.7 - rvore de composio de uma frmula. rvore de decomposio. Vimos a definio de frmula no pargrafo anterior. Podemos esquematizla no que chamamos rvore de formao de frmulas: A, B, C, D indicam frmulas atmicas.
A (A B) ((A (B C))

B (B C)

C (C D) ((C D) (B C))

D (D D)

...

(A)

((A))

((D D))

Na rvore acima notamos alguns pontos importantes. Inicialmente, observemos a 1a linha: partimos de sentenas atmicas A, B, C, D, ... que constitui a regra 1 da definio de frmula. Observemos a 2a linha: aplicamos a regra 2 e obtemos novas frmulas: (A), (A B), (B C), (C D), (D D), dentre outras. Observe que as frmulas obtidas seguem estritamente a regra 2, ou seja, por exemplo, em (A B), absolutamente necessrio abrir um parntesis esquerda, escrever a atmica A, escrever o conectivo e depois escrever a atmica B e finalmente fechar o parntesis esquerda. Observemos a 3a linha: aplicamos a regra 2 novamente e obtemos novas frmulas: ((A)), ((A (B C)), ((C D) (B C)), ((D D)), entre outros. Novamente atente para a regra 2 que foi aplicada cuidadosamente s frmulas anteriormente obtidas. Finalmente, queremos observar ao leitor que muito importante ento aplicar corretamente a regra de formao de frmulas. A verificao cuidadosa da formao de frmulas, permite tambm imediatamente analisar como uma frmula foi obtida. Esta tarefa de fundamental importncia para as discusses deste livro. A seguir, prepare1

No sentido de sentena indecomponvel.

40

mos alguns conceitos para o enquadramento desta noo. Vamos exibir um processo grfico para determinar todas as subfrmulas (i.e., intuitivamente, todas as frmulas que compe a frmula em questo) de uma dada frmula. Tal processo faz uso de uma estrutura, muito utilizada nas diversas reas das cincias da computao, chamada rvore, mais precisamente faremos uso somente de rvores binrias. A seguir, apresentamos graficamente as componentes de uma rvore binria qualquer, observamos que tal descrio, no tem nenhum carter formal, apenas para nos familiarizarmos com os elementos dessa estrutura.

Acima est a representao grfica de uma rvore binria genrica, chamamos de aresta o segmento de reta que liga os ns, (ou vrtices ). Os ns ou vrtices so de trs espcies, o n a partir da qual toda a rvore gerada chamado de raiz, o n terminal chamado de folha e os ns intermedirios chamados de n interior. Freqentemente utilizaremos as seguintes denominaes para determinados ns de uma rvore binria n pai, n filho, n irmo. Tal denominao pode ser vista no diagrama abaixo, referente a rvore anteriormente citada.

41

Observaes: 1. Chamamos a estrutura acima de rvore binria, pois cada n pode ter zero, um ou no mximo dois filhos. 2. Podemos tambm classificar os ns como sucessores e ancestrais, por exemplo:

Utilizaremos essa estrutura de rvore binria do seguinte modo: 1. Dada uma frmula qualquer S esta ser a raiz da rvore de subfrmulas de S, 2. Se S uma frmula do tipo no, ento ela composta por uma frmula A, de tal modo que S = (A), logo teremos (A)

A 3. Se S uma frmula do tipo e, ento ela composta por duas frmulas A e B de tal modo que S = (A B), logo teremos (A B). A B 4. Se S uma frmula do tipo ou, ento ela composta por duas frmulas A e B de tal modo que S = (A B), da teremos (A B) A B 5. Se S uma frmula do tipo implica, ento ela composta por duas frmulas A e B de tal modo que S dado por (A B), e teremos (A B) A B 6. Se S uma frmula do tipo bi-implica, ento ela composta por duas frmulas A e B de tal modo que S dado por (A B), e teremos

42

(A B) B Cada n representa uma frmula, em particular, cada n gera uma sub-rvore, isto , cada n pode ser considerada uma raiz de uma rvore menor que tem como ns os sucessores do respectivo n raiz. A construo de uma rvore de subfrmulas a partir de uma frmula dada, termina quando todas as folhas contiverem somente letras proposicionais. muito importante o leitor ter em mente que uma frmula definida passo a passo e nica a sua construo. Assim, por exemplo, podemos dizer qual conectivo foi aplicado inicialmente, o segundo, etc., at chegarmos ao ltimo. Desse modo, possvel decompor uma frmula exibindo todas as suas frmulas que o compe. Como este tema relevante, convm familiarizarmos mais de perto. Analisemos a frmula: 1) [A (B C)] Podemos verificar sem dificuldade que ela foi obtida das frmulas A e (B C) pela aplicao do conectivo . Portanto, este foi o ltimo conectivo que foi aplicado frmula [A (B C)]. Esquematizamos isso assim: [A (B C)] A (B C) A

A frmula (B C) por sua vez foi obtida das frmulas atmicas B e C. (B C) B C

A rvore final fica assim: [A (B C)] A (B C) B C

43

Notamos alguns passos importantes: 1. O primeiro conectivo aplicado ento . 2. O ltimo conectivo aplicado . Vejamos mais um exemplo: 2) {[[(B) ((A))] [((B C))]]} Como saber a seqncia em que foram aplicados os conectivos ? Se prestarmos ateno quando definimos a definio de frmula, vimos uma propriedade que um parntesis esquerda possui sempre o parntesis direita correspondente. Vejamos. Voc pode identificar isso de vrios modos, porm, h alguns pares de parntesis bvios. Por exemplo, o par de parntesis mais externos da frmula:

Vemos que a frmula {[[(B) ((A))] [((B C))]]} foi obtida de [[(B) ((A))] [((B C))]] pela aplicao do conectivo . Logo, deduzimos que a primeira ocorrncia foi o ltimo conectivo aplicado frmula. Por conseguinte, o tipo desta frmula negao. [[(B) ((A))] [((B C))]] por sua vez foi obtida de (1) [(B) ((A))] e (2) [((B C))] pela aplicao do conectivo . Logo, foi o ltimo conectivo aplicado na frmula anterior.

44

Analisemos separadamente: (1) [(B) ((A))] foi obtida de (B) e ((A)) pela aplicao do conectivo . Logo, foi o ltimo conectivo aplicado na frmula anterior. (B) foi obtida de B pela aplicao do conectivo . Logo, foi o ltimo conectivo aplicado na frmula anterior. ((A)) foi obtida de (A) pela aplicao do conectivo . Logo, foi o ltimo conectivo aplicado na frmula anterior. (A) foi obtida de A pela aplicao do conectivo . Logo, foi o ltimo conectivo aplicado na frmula anterior. (2) [((B C))] foi obtida de ((B C)) pela aplicao do conectivo . Logo, foi o ltimo conectivo aplicado na frmula anterior. ((B C)) foi obtida de (B C) pela aplicao do conectivo . Logo, foi o ltimo conectivo aplicado na frmula anterior. (B C) por sua vez foi obtida das frmulas atmicas B e C. Logo, foi o ltimo conectivo aplicado na frmula anterior. A rvore de decomposio toma a forma: {[[(B) ((A))] [((B C))]]} [[(B) ((A))] [((B C))]]

[(B) ((A))] (B) B ((A)) (A) A

[((B C))] ((B C)) (B C) B C

Vendo o esquema de decomposio de uma frmula, podemos ento identificar qual foi o ltimo conectivo que foi aplicado quela frmula. Da podemos determinar o tipo de uma frmula. Faamos mais exemplos. 3) {[(A B) A] A} Vemos 3 conectivos . O ltimo a terceira ocorrncia de . O tipo desta frmula ento implicao. Logo, a rvore de decomposio fica

45

{[(A B) A] A} [(A B) A] (A B) A B A A

4) {A [C (A C)]} Vemos 3 ocorrncias de conectivos: , , . O ltimo a primeira ocorrncia de . O tipo desta frmula ento conjuno. Logo, a rvore de decomposio fica: {A [C (A C)]} A C [C (A C)] (A C) A C

5) {[( E C) (A D)] [(E C) (A D)]} Vemos 7 ocorrncias de conectivos: , , , , , , . O ltimo a quarta ocorrncia . O tipo desta frmula ento conjuno. Logo, a rvore de decomposio fica: {[( E C) (A D)] [(E C) (A D)]} [( E C) (A D)] ( E C) E C (A D) A D [(E C) (A D)] (E C) E C (A D) A D

Exerccio 1. Em cada uma das frmulas abaixo dizer qual o ltimo conectivo aplicado e o tipo da frmula. Em seguida faa a rvore de decomposio. 1. {(A (C)) [[[C (A C)]] [[( E C) (A D)]]]} 2. (((( E C) (A D)) ((( E C) ((F D))) (E D))))

46

3.

{[[[[(A B) B] A]]]} Exemplo 1. (Frmulas e suas respectivas rvores de subfrmulas)

1. Dada a frmula A a nica subfrmula a prpria frmula A, ou seja, a rvore de subfrmulas constitui-se de um nico n que a prpria raiz. 2. Dada a frmula B a nica subfrmula dada pela prpria frmula B, isto , a rvore de subfrmulas constitui-se de um nico n que a prpria raiz. 3. Dada a frmula (B C) teremos a seguinte rvore de subfrmulas: (B C) B C

Nesse caso a rvore constitui-se de trs ns, o n raiz contm a frmula (B C), a seguir vemos que a rvore divide-se em duas, a quebra ocorre exatamente sobre o conectivo que determina o tipo da frmula e que liga as letras proposicionais B e C, repare que as letras proposicionais so as folhas da rvore. Os parnteses mais externos de cada n abaixo da raiz so eliminados, e por fim, note que cada n representa uma subfrmula da frmula dada. 4. Dada a frmula (B C) teremos a seguinte rvore de subfrmulas: (B C) B C

A rvore compe-se de trs ns, na raiz temos a frmula (B C), a seguir vemos que a rvore divide-se em duas, a quebra ocorre exatamente sobre o conectivo que faz a ligao das letras proposicionais B e C. As letras proposicionais so as folhas da rvore, os parnteses mais externos de cada n abaixo da raiz so eliminados, e cada n representa uma subfrmula da frmula dada. 5. Dada a frmula (B C) teremos a seguinte rvore de subfrmulas: (B C) B C

Novamente, a rvore compe-se de trs ns, no n raiz temos (B C), a seguir vemos que a rvore divide-se em duas, a quebra ocorre exatamente sobre o conectivo que faz a ligao das letras proposicionais B e C. As letras proposicionais so as folhas da rvore, os parnteses mais externos de cada n abaixo da raiz so eliminados, e cada n representa uma subfrmula da frmula dada. 6. Dada a frmula (B) temos a seguinte rvore de sufrmulas:

47

(B) B Aqui a rvore compe-se de dois ns, na raiz est a frmula (B), a seguir vemos que a rvore decompe-se em uma parte, novamente a quebra ocorre exatamente sobre o conectivo que determina o tipo da frmula, aplicada na frmula atmica B. A frmula atmica a folha da rvore, os parnteses mais externos de cada n abaixo da raiz so eliminados, e cada n representa uma subfrmula da frmula dada. 7. Considere a frmula ((A) B) a sua rvore de formao : ((A) B) (A) A Na raiz da rvore est a frmula ((A) B) e a rvore decomposta em duas partes. A quebra ocorre exatamente sobre o conectivo que faz a ligao das frmulas (A) e B. A frmula atmica r uma das folhas da rvore, os parnteses mais externos de cada n abaixo da raiz so eliminados. Uma das folhas da rvore acima contm (A), que no uma frmula atmica, da a necessidade de continuarmos o processo de decomposio. Novamente os parnteses mais externos do n filho de (A) so eliminados. 8. Considere a frmula (A (B)) teremos a seguinte rvore de decomposio: (A (B)) A (B) B 9. Considere a frmula ((A B) A) teremos a seguinte rvore de decomposio: ((A B) A) (A B) A B

A B Na raiz da rvore est a frmula (A B) A), a rvore decomposta em duas partes e a quebra ocorre exatamente sobre o conectivo que faz a ligao das frmulas (A B) e A. A frmula atmica A uma das folhas da rvore, os parnteses mais externos de cada n abaixo da raiz so eliminados. Uma das folhas da rvore acima contm (A B), que no uma frmula atmica, da a necessidade de continuarmos o processo de decomposio.

48

Novamente os parnteses mais externos dos ns filhos de (A B) so eliminados. Note que apesar da rvore apresentar cinco ns a frmula ((A B) A) tem somente quatro subfrmulas distintas, entre si, basta ver que dois ns contm a uma mesma frmula. 10. Considere a frmula ((A B) C) teremos a seguinte rvore de decomposio: ((A B) C) (A B) A B C

Temos na raiz a frmula ((A B) C), a seguir vemos que a rvore decomposta em duas partes, e a quebra ocorre exatamente sobre o conectivo que faz a ligao das subfrmulas (A B) e C. Os parnteses mais externos de cada n abaixo da raiz so eliminados, como as folhas da rvore acima so (A B) e C, que no so letras proposicionais temos a necessidade de continuarmos o processo de decomposio. Fazendo a decomposio da rvore at que todas as folhas sejam letras proposicionais obteremos a rvore acima. 11. Considere a frmula (C (B A)) teremos a seguinte rvore de decomposio: (C (B A)) C (B A) B A

12. Seja dada a seguinte frmula (A (B A)), vejamos a sua rvore de subfrmulas. (A (B A))

(B A) B A

13. Dada a a frmula ((A C) (B A)) teremos a seguinte rvore de decomposio: ((A C) (B A))

49

(A C) A

(B A) C B A

14. Considere a frmula ((A C) (B D)) teremos: ((A C) (B D)) (A C) A C (B D) B D

15. Considere a frmula (((A B)) (C)) teremos a seguinte rvore de decomposio: (((A B)) (C)) ((A B)) (A B) A B (C) C

16. Considere a frmula (((A B)) ((C))). Temos: (((A B)) ((C))) ((A B)) (A B) A B ((C)) (C) C

17. Dada a frmula ((A B) ((A (B)) (A))) temos: ((A B) ((A (B)) (A))) (A B) A B ((A (B)) (A)) (A (B)) A (B) (A) A

B Exerccio 2. 1) Determine todas as subfrmulas de cada uma das frmulas dadas a seguir, usando o conceito de rvore de decomposio. 1. ((A C) ((B C) ((A B) C))).

50

2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

(( A (A B)) A) ((A (A B)) A) ((A (A B)) (A B)) (((A B) (A C)) (A (B C))) ((( A B)) ((A) (B))) (((A B)) ((A) (B))) [[A (B C)] [(A B) (A C)]] [[A (B C)] [B (A C)]] [(A B) (A B)] [((A) B) (B A)]

2) Idem. 1. [((A B)) ((A B))] 2. [(A B) ((B) (A))] 3. [(A (B C))] 4. [(A B) (A C)] 5. [[(B) (A)] [(((B) A)) B]] 6. [[(B) (C)] (A)] 2.8 - Tabela-verdade de uma frmula Temos agora condies de construir a tabela-verdade de qualquer frmula dada. Seja A uma frmula qualquer, considere o esquema a seguir.
P a sso s 1 2 3 4 Instrues Construa a rvore de decomposio da frmula. Veja quais e quantas so as frmulas atmicas. Escreva em ordem alfabtica as atmicas e trace colunas para cada uma delas Trace 2n linhas, sendo n o nmero de atmicas Agora olhe para a rvore de decomposio. Se houver apenas um ramo, olhe-as de baixo para cima, e escreva cada uma das sub-frmulas da esquerda para a di rei ta (senti do usual de escri ta), cada uma em uma coluna separada Se a rvore apresentar dois ramos, consideramos primeiro o ramo da e s q ue rd a , e e s c re va c a d a uma d a s s ub -f rmula s c o me a nd o p e la s a t mi ca s, d e b a i xo p a ra ci ma , tra nsp o rta nd o -a s na p ri me i ra li nha e escrevendo-as da esquerda para a direita (sentido usual de escrita), cada uma em uma coluna separada. Passe coluna da direita e faa o mesmo, at esgotar todas as sub-frmulas de A, at chegar ltima frmula que A.

Como preencher a tabela-verdade:

51

P a sso s 1 2

Instrues Olhemos inicialmente todas as colunas das atmicas. . Na primeira coluna, preenchemos a primeira metade com 1 e a outra metade com 0. N a s e g und a c o l una , p a r a c a d a m e t a d e d e 1 d a p r i m e i r a c o l una , preenchemos a primeira metade com 1 e a outra metade com 0. Na outra metade 0, ai nda da pri mei ra coluna, preenchemos a pri mei ra metade com 1 e a outra metade com 0. Nas demais colunas, repete-se o processo anterior, para cada bloco de 1 e de 0, at chegar ltima coluna que deve apresentar-se assim: 1, 0, 1, 0, etc.

Preenchimento das demais colunas.


P a sso s 1 2 3 Instrues A tabela j est pronta para que a primeira coluna aps as atmicas seja preenchvel olhando-se a tabela verdade da frmula da coluna. Re p e te -s e o p ro c e s s o a c i ma , p o i s a ta b e la j d a s e q nc i a d e preenchimento. Como na ltima coluna deve figurar a frmula A, a tabela-verdade de A est feita

Vejamos vrios exemplos para que o leitor se familiarize com este conceito. 1. ((B C)) (B C) B C
B 1 1 0 0 C 1 0 1 0 (B C) 1 0 0 0 ((B C)) 0 1 1 1

2.

((B) C) (B) C
B 1 1 0 0 C 1 0 1 0 (B ) 0 0 1 1 ((B C)) 0 0 1 0

52

3. D

(D (E)) (E) E

D 1 1 0 0
4. (A (B A))

E 1 0 1 0

() 0 1 0 1

D () 0 1 1 1

(B A)

A 1 1 0 0
5. (A ((B A)))

B 1 0 1 0

( ) 1 0 0 0

A ( ) 1 0 1 1

((B A)) (B A) B A

53

A B ( ) ((B A)) (A ((B A))) 1 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1


(A (B A)) 6. A (B A)

B
A 1 1 0 0 B 1 0 1 0 (B A) 1 1 0 1

A
(A (B A) 1 1 1 1

7.

((A B) A)

(A B)

A
A 1 1 0 0

B
B 1 0 1 0 (B A) 1 0 1 1 (B A)A ) 1 1 0 0

54

8.

((A B) A)

(A B)

A
A 1 1 0 0

B
B 1 0 1 0 (A B) 1 0 0 1 ((A B) A) 1 1 1 0

9. A

{A [(B) C]} [(B) C] (B) B


A 1 1 1 1 0 0 0 0 B 1 1 0 0 1 1 0 0 C 1 0 1 0 1 0 1 0 (B) 0 0 1 1 0 0 1 1 [(B) C] 0 0 1 0 0 0 1 0 {A [(B) C]} 0 0 1 0 1 1 1 1

55

10.

{(A B) [B (B A)]} (A B) A B [B (B A)] B (B A) B A

A 1 1 0 0

B 1 0 1 0

(A B) (B A) [B (B A)]} {(A B) [B (B A)]} 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 1

11.

{[A (A)]} [A (A)] A (A)

A 1 0

(A) 0 1

[A (A)] 0 0

{[A (A)]} A) 1 1

12.

{[(A B)] [(A) (B)]}

[(A B)] (A B) A B

[(A) (B)] (A) A (B) B

56

A B (A B) [(A B)] (A) (B) 11 1 0 0 0 10 0 1 0 1 01 0 1 1 0 00 0 1 1 1

[(A) (B)]} 0 1 1 1

{[(A B)] [(A) B)]} 1 1 1 1

13.

{[A (B C)] [(A B) (A C)]}

[A (B C)]

[(A B) (A C)]

A B
A 1 1 1 1 0 0 0 0 B 1 1 0 0 1 1 0 0

(B C) C
C (B C) 1 0 0 0 1 0 1 0 1 0 1 0

(A B) A B

(A C) A C
[(A B) (A C)] 1 1 1 1 1 1 1 0 S 1 1 1 1 1 1 1 0

[ ( )] 1 0 0 0 1 1 1 1

(A B) (A C) 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0

14. [(A B) (B A)]

(A B)

(B A)

57

A B ( ) 1 1 1 1 0 0 0 1 0 0 0 0

(B A) 1 0 0 0

[(A B) (B A)]) 1 1 1 1

15. S {(A A) [(B A) [(A B) B]]}

(A A) A A

[(B A) [(A B) B]] (B A)[(A B) B] B A A (A B)B B


S 1 1 1 1

A B (A A) (B A) ( 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 0

) [(A 1 1 1 0

B) B]) [(B A) [(A B) B]] 1 0 1 1 1 0 1 1

16. (A ((B A)))

((B A))

(B A)

58

A 1 1 0 0

B 1 0 1 0

(B A) ((B A)) (A ((B A))) 1 0 0 0 0 1 0 1 1 1 0 1

17)

(((A B)) A)

((A B))

(A B)

A
A 1 1 0 0 B 1 0 1 0

(A B)) ((A B)) (((A B)) A) 1 0 1 0 0 1 0 1 0 1 0 1

18.

(((A B)) A)

((A B))

(A B)

59

A 1 1 0 0

B 1 0 1 0

(A B)) ((A B)) (((A B)) A) 1 0 1 0 0 1 0 1 0 1 0 1

19.

((A C) (B C))

(A C)

(B C)

A 1 1 1 1 0 0 0 0
20.

B 1 1 0 0 1 1 0 0

C (A C) (B C) 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 1

((A C) (B C)) 1 0 1 1 1 1 1 1

((A B) (G (A)))

(A B)

(G (A))

(A)

60

A 1 1 1 1 0

B G (A) (A B) 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1

(G (A))) 1 1 1 1 0

((A B) (G (A))) 1 1 0 0 0

21.

X ((A C) ((B C) (B C)))

(A C)

((B C) (B C))

(B C)

(B C)

A 1 1 1 1 0 0 0 0

B 1 1 0 0 1 1 0 0

C (A C) (B C) (B C) ((B C) (B C)) X 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1

61

21.

Y ((A B) ((C (B)) (D)))

(A B)

((C (B)) (D))

((C (B))

(D)

(B) B

A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0

B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0

C D 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1

(B) (D) (A B) (C (B)) ((C (B)) (D)) 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1

1
0 0 1 1 1 1 1 1 0 0 1 0 1 0 1

0
1 0 1 0

0 0

62

22.

Z ((A (B C)) ((A C) (A D)))

(A (B C))

((A C) (A D))

(B C)

(A C)

(A D)

B C
A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0

C D (B C) ( C) (A D) (A (B C)) ((A C) (A D)) Z 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1

1
0 1 1 1 0 1 1 1 1 1 1 1 1 1 1

0
1 0 1 0

0 0

Exerccio 1. Faa o que se pede. 1) Obter a rvore de subfrmulas das seguintes frmulas e analisar o respectivo valor-verdade. 1. A 2. [(B C)] 3. {[(B C)]} 4. ((A C) ((B C) ((A B) C))). 5. ((((A B))) ((A))) 6. ((A (B C)) ((A B) (A C))) 7. ((A C) ((B C) ((A B) C))))

63

2) Fazer a rvore de subfrmulas das seguintes frmulas e analisar o respectivo valor-verdade. 1. [[(B) (A)] [((B) A) B]] 2. [[(B) (C)] (A)] 3. [[(A B) (A (A))]] 4. [(A (A))] 5. [(A (A))] 6. [(B) (C)] (A) 7. [(( A B) (A (A)))] 8. [[A (B C)] [(A B) (A C)]] 9. [[A (B C)] [B (A C)]] 10. [(A B) (A B)] 11. [((A) B) (B A)] 3) Idem. 1. [((A B)) ((A B))] 2. [(A B) ((B) (A))] 3. [(A (B C))] 4. [(A B) (A C)] 5. [[(B) (A)] [(((B) A)) B]] 6. [[(B) (C)] (A)] 7. [[((A B)) (B (A))]] 8. [(A (A))] 9. [(A ((A)))] 10. [[(B) (C)] ((A))] 11. [(( A B) (A (A)))] 12. [[ A ( B C)] [( A B) ( A C)]] 4) Fazer a rvore de subfrmulas das seguintes frmulas e analisar o respectivo valor-verdade. 1. [[( A B) (A (A))]] 2. [[(B) (C)] (A)] 3. [[(A) A]] 4. [[(B) (A)] [((B) A) B]] 5. [[ A ( B C)] [ B ( B C)]] 6. [[A (A)]] 7. [[(B) (C)] (A)] 8. [[( A B) (A (A))]] 9. [[ A ( B C)] [ B ( A C)]] 10. [[(B) (A)] [((B) A) B]] 11. [[(B) (C)] (A)] 12. [[( A B) (A (A))]] 5) Idem. 1. [[A (A)]] 2. [[A (B C)] [B (A C)]] 3. [[A (B C)] [(A B) (A C)]] 4. [[A (A)]]

64

5. 6. 7. 8. 9. 10. 11. 12. 13. 14.

[[(A B) (A (A))]] [[(B) (C)] (A)] [[A (B C)] [B (A C)]] [[A (B C)] [(A B) (A C)]] [[A (B C)] [B (A C)]] [[(B) (A)] [((B) A) B]] [[(B) (C)] (A)] [[(A B) (A (A))]] [[A (A)]] [[A (B C)] [B (A C)]]

6) Determine a veracidade ou falsidade de cada uma das frmulas dadas a seguir. 1. A, 2. D, 3. (B C), 4. (A C), 5. (A A), 6. (A), 7. ((B C)), 8. ((B C)), 9. ((A C)), 10. (A (B A)), 11. (A (B A)), 7) Idem. 1. (A (B A)), 2. ((A B) A), 3. ((A B) A), 4. (A ((B A))), 5. (((A B)) A), 6. (((A B)) A), 7. ((A C) (B C)), 8. ((A B) (E (C))), 9. ((A C) ((B C) ((A B) C))), 10. ((A B) ((A (B)) (A))), 11. ((A (B C)) ((A B) (A C))). 8) Dada uma implicao (A B), definimos trs variaes dessa implicao como sendo a Recproca, (B A), a Inversa, ((A) (B)) e a Contrapositiva, ((B) (A)). Nas sentenas abaixo, determine o que se pede: 1. A Recproca de Se tem quatro lados, um quadrado. 2. A Inversa de Se Maria professora, ela pobre. 3. A Contrapositiva de Se Jos estudar, ele passar em lgica. 4. A Contrapositiva de Se um poltico mente, ele ganha a eleio. 9) Determine:

65

1. A Recproca da Inversa de (A B) 2. A Inversa da Contrapositiva de (A B) 3. A Contrapositiva da Inversa de (A B) 4. A Contrapositiva da Recproca de (A B) 5. A Recproca da Inversa de Se Antonio ganhar a causa, o assassino ser libertado. 6. A Inversa da Contrapositiva de Se o time tiver coragem, vencer. 7. A Contrapositiva da Inversa de Se for um tringulo, ser um tringulo equiltero. 8. A Contrapositiva da Recproca de Se o relgio estiver certo, estamos atrasados. 10) Em cada uma das sentenas abaixo, determine se h condio necessria para a outra condio, se h condio suficiente para a outra condio, ou se ambas, necessria e suficiente. 1. Rita vir somente se no chover. 2. Quando Dorival a ver, ele vai avis-la. 3. O ar est quente somente quando o sol est brilhando. 4. Toda vez que o telefone toca, Nara corre para atend-lo. 11) Indiquemos por A, a sentena Alice mora aqui e por B, a sentena O coelho feliz. Escrever em forma simblica as seguintes afirmaes: 1. Se Alice mora aqui, ento o coelho feliz. 2. Alice no mora aqui e o coelho infeliz. 3. necessrio que Alice se mude daqui para o coelho ser feliz. 4. Alice morar aqui suficiente para o coelho ser feliz. 5. Alice morar aqui necessrio para o coelho ser feliz. 6. O coelho no feliz, se Alice mora aqui. 7. Alice no mora mais aqui ou, ento, Alice mora aqui e o coelho feliz. 12) Em que casos as sentenas abaixo so falsas? 1. Se Scrates homem, Scrates mortal. 2. Se as regras existem, tm que ser cumpridas. 3. Se Pel no estava bem, no deveria ter jogado. 4. A rosa vermelha se e somente se o cravo branco. 5. A temperatura e a presso permanecem constantes se e somente se o volume no se alterar. 13) Em cada uma das sentenas abaixo, determine qual a condio necessria para a outra condio, e qual a condio suficiente para a outra condio, ou ambas, necessria e suficiente. 1. Se Marieta se casar com Chico, ento ela gosta dele. 2. Gilberto vir, se no chover. 3. Quando ela est feliz, ela sorri, e quando ela sorri, ela est feliz. 4. Todo homem pode ler. (Considere poder ler como uma condio e ser

66

homem como outra.) 5. O homem um animal racional. 14) Discutir pelo menos dois paradoxos semnticos da linguagem natural, mostrando, ento, a inadequao do uso das linguagens naturais para o desenvolvimento de teorias lgicas. 15) Escrever todas as tabelas-verdade dos conectivos vistos da linguagem proposicional. 16) Discutir atravs de dois exemplos (distintos do texto), que a tabelaverdade do conectivo da implicao no funciona na linguagem natural. 17) Discutir atravs de dois exemplos, que a tabela-verdade do conectivo da conjuno apresenta diferenas no uso na linguagem natural. 2.9 - Tautologias Nesta seo estudamos uma importante classe de frmulas denominadas tautologias. Definio 1. Denomina-se funo-verdade de n argumentos (n 1) a qualquer funo f: 2n 2, onde 2 denota o conjunto {0, 1}. imediato que uma funo-verdade f: 2n 2 fica completamente caracterizada se explicitarmos os seus argumentos e imagens atravs de uma tabela, que ilustramos atravs de alguns exemplos: Exemplo 1. Seja f: 22 2 caracterizada pela seguinte tabela:
x1 1 1 0 0 x2 1 0 1 0 f(x1, x2) 0 0 0 1

Exemplo 2. Seja f: 23 2 caracterizada pela seguinte tabela:


x1 1 1 1 1 0 0 0 0 x2 1 1 0 0 1 1 0 0 x3 1 0 1 0 1 0 1 0 f(x1, x2, x3) 0 0 1 0 1 1 0 1

67

Vimos na seo que a cada frmula podemos associar uma funo-verdade correspondente. Definio 2. Uma frmula A diz-se ser uma tautologia se o valorverdade de A sempre for verdadeiro, quaisquer que sejam os valores-verdade de suas frmulas atmicas componentes. Segue-se que uma frmula A constitui uma tautologia se e somente se sua funo-verdade correspondente for a funo f 1. 1. Exemplo 2. As seguintes frmulas so exemplos de tautologias: ((A B) B) (A B ) A B
A 1 1 0 0 B 1 0 1 0 (A B) 1 0 0 0 ((A B) B) 1 1 1 1

2.

((A (A))) (A (A)) A (A) A

A 1 0

(A) 0 1

(A (A)) 0 0

((A (A))) 1 1

68

3.

S ((A (B C)) ((A B) (A C))) (A (B C)) ((A B) (A C)) (A B) A B (A C) A C

A B
A 1 1 1 1 0 0 0 0 B 1 1 0 0 1 1 0 0 C 1 0 1 0 1 0 1 0

(B C) C

(B C) 1 0 1 1 1 0 1 1

(A B) ( C) (A (B C)) ((A B) (A C)) Z 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1

1
1 1 1 1 1 1 1

Definio 3. Diz-se que uma frmula A implica tautologicamente a frmula B se (A B) constituir uma tautologia. Neste caso, diz-se tambm que B uma conseqncia lgica de A. Diz-se que as frmulas A e B so logicamente equivalentes se (A B) constituir uma tautologia. Exemplo 3. A frmula (A (B C)) implica logicamente ((A B) (A C)), conforme o exemplo 2.4.3, parte c). Tambm, pelo mesmo exemplo (parte a)), (A B) implica logicamente B. Exemplo 4. As frmulas (A B) e (B A) so logicamente equivalentes. Tambm o so (A (B C)) e ((A B) C). Exerccio 1. Quais das seguintes frmulas implicada logicamente pela frmula [A (B)] ? 1. A 1. B 2. (B) 3. [(A) B] 4. (A B) 5. [A (B)] 6. [A B] 7. [(A) B] 8. [A (B C)]

69

2) 1. 2. 3. 3)

Quais das seguintes frmulas implicada logicamente pela frmula [(A) B] ? (A) [A (B)] (B (A))

Quais das seguintes frmulas logicamente equivalente frmula (A B) ? 1. (B A) 2. [((B) (A))] 3. [(A (A B))] 4) Quais das seguintes frmulas logicamente equivalente frmula (A B) ? 1. [B (A)] 2. [B (C (A))] 3. (B A) Vejamos, em seguida, algumas propriedades gerais das tautologias. Teorema 1. Se A e (A B) so tautologias, ento tambm B uma tautologia. Demonstrao: Suponhamos, por absurdo, que B toma o valor 0 para alguma associao de valores-verdade para as frmulas atmicas constituintes de A e de B. Ento, para essa associao, A toma o valor 1 (pois, por hiptese A constitui uma tautologia) e, por conseguinte, (A B) toma o valor 0, o que contradiz o fato de (A B) ser uma tautologia. Exemplo 5. Temos que (A (B A)) e ( (A (B A)) ((A B) (A A)) so tautologias. Pelo teorema anterior conclumos que ((A B) (A A)) tambm constitui uma tautologia.

Teorema 2. Se A uma tautologia, cujas frmulas atmicas constituintes so A1 , A2 , ... , An e B obtida a partir de A pela substituio de A1 , ... , An pelas frmulas A1 , ... , An, respectivamente, ento B constitui , tambm, uma tautologia. Demonstrao: A cada associao de valores-verdade para as frmulas atmicas constituintes de B, as frmulas A1, ... , An tomam os valoresverdade x1, ..., xn, respectivamente, ento o valor-verdade de A 1 (pois, por hiptese, A uma tautologia) e, portanto, B toma tambm o valor 1. Em conseqncia, B uma tautologia. Exemplo 6. Consideremos a tautologia A ((A1 A2) A1). Sejam A1 (E C) e A2 (C D). Ento B (((E C) (C D)) (E D)) tambm uma tautologia:

70

A1 1 1 0 0

A2 1 0 1 0

(A1 A2) 1 0 0 0
(A1 A2)

((A1 A2) A1) 1 1 1 1


A ((A1 A2) B (((E C) (C D)) (E D)) 1 1 1 1 1 1 1 1

A1 C 1 1 1 1 0 0 0 0 D 1 1 0 0 1 1 0 0

A2

E (E C) (C D) (((E C) (C D)) 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0

Assim, o Teorema anterior nos mostra que a substituio em uma tautologia gera ainda uma tautologia. Teorema 3. Se B1 obtida de A1 (suponha-se que possua ocorrncias de A) pela substituio de B para uma ou mais ocorrncias de A (em A1), ento (A B) implica logicamente (A1 B1). Demonstrao: Consideremos quaisquer associaes de valoresverdade s frmulas atmicas. Se A e B tomarem valores-verdade opostos, ento (A B) falsa e, portanto, (A B) (A1 B1) verdadeira. Se A e B tomarem os mesmos valores-verdade, ento o mesmo se d com A1 e B1, pois B1 difere de A por conter B em alguns lugares onde A1 contm A. Logo, (A B) verdadeira, e, em conseqncia, tambm (A1 B1). Por conseguinte, (A B) (A1 B1) sempre verdadeira e, portanto, uma tautologia. Exemplo 7. Consideremos as seguintes frmulas : A1 [((E (F C)) C] AC B (D G) B1 [(E (F (D G))) C] Pelo Teorema anterior, uma tautologia.

71

2.10 - rvore de refutao As tautologias, como j observamos, constituem uma classe importante de frmulas, pois, elas so sentenas verdadeiras, como vimos. Em Cincia, sempre buscamos o conhecimento e isto implica particularmente na busca da verdade. Ao utilizarmos a linguagem da lgica clssica, ento tal verdade se reflete, de modo particular, nas tautologias. Felizmente, para a lgica proposicional, h um mtodo efetivo para testar se uma frmula tautologia ou no, por exemplo, valendo-se das tabelas-verdade. Neste pargrafo, objeto de estudo um outro algoritmo denominado rvore de refutao de frmulas para verificar se uma dada frmula tautologia ou no. Iremos introduzir a rvore de refutao atravs de alguns exemplos. Verifiquemos se a frmula [(A B) A)] tautologia. Eis os passos. 1. Inicialmente, traamos linhas em nmero suficiente e colunas para cada frmula atmica ou conectivo componente, acrescido de uma coluna de justificativa. Ilustremos abaixo:
[(A B) A)] Justificativa

2.

Em seqncia, suponha-se que a frmula [(A B) A)] seja 0 (falsa). Escrevemos o valor-verdade 0 (falso) abaixo do ltimo conectivo da frmula em questo. Ilustremos este passo abaixo:
[(A B) 0 A)] Justificativa Falseamento

Vemos que o ltimo conectivo aplicado o da implicao. Pomos 0 na linha imediatamente abaixo e na coluna correspondente. Note que o valor atribudo o valor da frmula inteira [(A B) A)], ou seja, ela falsa. 3. Vejamos agora a tabela-verdade da implicao. A tabela nos diz que a implicao 0 (falsa) se e somente se o antecedente (A B) 1 (verdadeiro) e o conseqente A 0 (falso). Escrevemos estes valores na linha imediatamente seguinte, nas respectivas colunas. Ilustremos este passo.

72

[(A

B)

A)]

Justificativa Falseamento

Tab.

4.

Passamos a aplicar o raciocnio anterior nas duas frmulas: (A B) e A. No caso de (A B), ela 1 (verdadeira). Consultando-se a tabela-verdade da conjuno vemos que uma conjuno 1 (verdadeira) se e somente se ambas frmulas A e B so verdadeiras, isto o valor-verdade de A 1 e de B 1. No caso da frmula da direita, no necessrio repetir o processo, pois ela j atmica. Ilustremos este passo:
[(A B) 0 1 1 1 0 A)] Justificativa Falseamento Tab. Tab.

5.

Se olharmos para a tabela resultante, observamos que a sentena A 1 (verdadeira) na primeira coluna, e 0 (falsa) na ltima coluna, ou seja, a sentena A est sendo verdadeira e falsa ao mesmo tempo. Isto constitui uma inconsistncia. Vamos analisar cuidadosamente, ento, o algoritmo.

Como em Lgica Clssica supusemos que no existem inconsistncias, algum passo que fizemos est errado, ou seja falso. O nico elo fraco acima justamente o primeiro passo, quando supusemos que a frmula [(A B) A)] era falsa. Logo, o errado ou falso supormos que [(A B) A)] 0 (falso). Portanto, conclumos que ela (sempre) 1 (verdadeira). Ora, se [(A B) A)] sempre verdadeira, ela tautologia, como queramos provar. Nos exemplos e exerccios subseqentes, tais passos so feitos num nica tabela, como abaixo.

[(A

B)

A)]

Justificativa Falseamento

1 1 1

Tab. Tab.

Principais tautologias. A seguir listamos algumas das principais tautologias. Em muitas delas, aplicamos a rvore de refutao e fizemos a verificao de que so tautologias. Sejam A, B e C frmulas quaisquer:

73

Leis comutativas 1. ((A B) (B A)) Demonstrao. Como se trata do conectivo da bi-implicao, temos dois casos: 1o caso:
((A B) 0 1 0 0 0 0 0 0 (B A))

2o caso:
((A B) 0 1 0 0 0 0 0 0 (B 1 A))

Em qualquer um dos casos camos em contradio. Logo, 1) constitui em tautologia. 2. ((A B) (B A)) 3. ((A B) (B A)) 4. (((A (B C)) (B (A C))) Leis associativas 5 (((A B) C) (A (B C))) Demonstrao. Como se trata do conectivo da bi-implicao, temos dois casos: 1o caso:
((A B) C)) 0 1 0 0 0 0 0 0 0 0 0 0 (A B)) C))

74

2o caso:
((A B) C) 0 0 0 0 0 0 0 0 0 0 0 1 ) ) 1 C))

Em qualquer um dos casos camos em contradio. Logo, 1) constitui em tautologia. 6. (((A B) C) (A (B C))) Leis distributivas 7. ((A (B C)) ((A B) (A C))) Demonstrao: como se trata do conectivo da bi-implicao, temos dois casos: 1o caso:
(((A (B C)) 0 1 1 1 1 0 0 0
o

((

) 1

(A

C)))

0 0 1 0 0

2 caso: aqui temos a conjuno da esquerda falsa e a disjuno da direita verdadeira. Desafortunadamente, ambas frmulas possuem trs casos a serem analisados. Faremos o raciocnio na frmula da direita, que uma disjuno verdadeira:
(((A (B C)) 0 0 1 1 1 1 0 1 1 1 1 0 1 0 (( ) (A C)))

75

2o sub-caso.
(((A (B C )) 0 0 0 1 1 0 1 1 1 1 1 1 1 1 (( ) (A C)))

3o sub-caso.
(((A (B C)) 0 0 1 1 1 1 1 1 1 1 1 1 1 1 (( ) (A C)))

Em qualquer um dos casos camos em contradio. Logo, 7) constitui em tautologia. 8. ((A (B C)) ((A B) (A C))) Leis idempotentes 9. ((A A) A) Demonstrao. Como se trata do conectivo da bi-implicao, temos dois casos: 1o caso:

((A

(A

(A

1 0 0 0

76

2o caso:
((A (A 0 0 1 1 1 1 (A

Em qualquer um dos casos camos em contradio. Logo, 1) constitui em tautologia. 10. ((A A) A) Lei da dupla negao 11. (A ((A)) Demonstrao. Como se trata do conectivo da bi-implicao, temos dois casos: 1o caso:
((A 0 1 0 1 0 ( ( (A

2o caso:
((A 0 0 1 0 1 ( ( A))

Em qualquer um dos casos camos em contradio. Logo, 1) constitui em tautologia. Lei do terceiro excludo 12. (A (A)) Demonstrao. Como se trata do conectivo da disjuno, temos que:

77

((A

A))

0 1

Temos uma contradio. Logo, uma tautologia. Lei da no-contradio 13. ((A (A))) Demonstrao. Como se trata do conectivo da conjuno, temos que:
( 0 1 1 1 0 ((A ( A)))

Temos uma contradio. Logo, uma tautologia. Lei da transitividade da implicao 14. ((A B) ((B C) (A C))) . Demonstrao. Como se trata do conectivo da implicao, temos que:
(( 0 1 ) 0 0 1 1 0 0 1 0 0 0 0 ((B C) (A C)))

Temos uma contradio. Logo, uma tautologia. Lei do silogismo hipottico 15. (((A B) (B C)) (A C) Demonstrao. Como se trata do conectivo da implicao, temos que:

78

((

((B

C))

(A

C)

1 1 1 0

1 0

Temos uma contradio. Logo, uma tautologia. Leis da contraposio. 16. (((A B) ((B) (A))) Demonstrao. Como se trata do conectivo da bi-implicao, temos dois casos: 1o caso:
(( 1 1 0 1 0 0 ) 0 0 0 1 (( ) ( A)))

2o caso:
(( 0 1 0 0 1 0 0 1 ) 0 1 (( ) ( A)))

Temos uma contradio. Logo, uma tautologia. 17. ((A (B)) (B (A)) Lei da exportao. 18. (((A B) C) (A (BC))) Lei da importao. 19. ((A (B C)) ((A B) C)) Lei da exportao e da importao. 20. (((A B) C) (A (B C)))

79

Leis de absoro 21.(( A (A B)) A) 22. ((A (A B)) A) 23. ((A (A B)) (A B)) 24. (((A B) (A C)) (A (B C))) Leis de De Morgan 25.((( A B)) ((A) (B))) 26. (((A B)) ((A) (B))) Prova por casos 27.(((( A B) (A C)) (B C)) C) Prova por contradio 28. ((((A) B) (B)) A) 29. ((A (A)) (A)) 30. (((A) A) A) 31. (((A (B)) (C (C))) (A B)) 32. (((A (B)) (A)) (A B)) 33. (((A (B)) B) (A B)) Lei do destacamento 34.((( A (A B)) B) Modus tollendo tollens 35. (((B) (A B)) (A)) Modus tollendo Ponens 36. (((A) (A B)) B) Leis de simplificao 37. ((A B) A) 38. ((A B) B) Leis de adio. 39.(A (A B)) 40. (B (A B)) Lei de equivalncia para a implicao e disjuno 41. ((A B) ((A) B)) Lei de negao para a implicao 42. (((A B)) (A (B))) Leis para proposies bicondicionais 43. ((A B) ((A B) (B A))) 44. ((A B) ((A B) ((A) (B))))

80

Lei de Peirce 45. (((A B) A) A) Esquema B 46. (A (B A)) Esquema C 47. ((A (B C)) ((A B) (A C))) Lei da identidade 48. (A A) Exerccio 1. Completar as verificaes que so tautologias, pelo uso da rvore de refutao. Exerccio 2. Demonstrar, pelo mtodo da rvore de refutao, se as seguintes frmulas so tautologias. Caso contrrio, explicite os valoresverdade das sentenas atmicas, para as quais a frmula falsa. 1. {[B (B)]} 2. {[A (B C)] [(A B) C)]} 3. {[(A) (B)] [(A B)]} 4. [A (A)] 5. {[(C) (B)] (A)} 6. {[(A B) (A (C))]} 7. {[(A B) C)] [A (B C)]} 8. {[(C) C]} 9. {[(B A)] [(A) (B)]} 10. [B (B)] 11. {[A (B)]} 12. {[(A B) (A (C))]} 13. {[(C) (A)] (B)} 14. {[(A B)] [(A) (B)]} 15. {[(A B) C)] [A (B C)]} 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Exerccio 3. Idem. {[B (B)]} {[A (B)]} {[(A) (B)] (C)} {[A (C)]} {[(A C) (A (B))]} {[(A B)] [(A) (B)]} {[(A B) (A C)] (A C)} {(A B) [(B C) (A C)]} {[C (B)]} {[(C) (B)] (C)} {[[B (C)]] B} {[(A C) (A (B))]}

81

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.

Exerccio 4. Idem. {(C B) [(B A) (C A)]} {[(B C) (C A)] ( B A)} {[(A) (B)] [(A B)]} {[[A (C)]] A} {[(D C) (D (B))]} {[B (A)]} {[(C) (A)] (C)} [(A (A)) B] [(A (A)) (B)] [(A (A)) B] [(A (A)) B] [(A (A)) (B)] [A ((A))] {((A) (A B)) B} {(A B) [(B) (A)]} [((A) ((A)))] {[(A (A)) B] [B ((B))]} Exerccio 5. D exemplos de tautologias na linguagem portuguesa.

2.11 - Contradies Definio 1. Uma frmula A diz-se ser uma contradio se o valorverdade de A for sempre falso, quaisquer que sejam os valores-verdade de suas frmulas atmicas componentes. Logo, uma frmula A constitui uma contradio se e somente se sua funo-verdade correspondente for a funo constante f 0. Exemplo 1. 1. (A (A)) A (A) A
A 1 0 (A) 0 1 (A (A)) 0 0

82

2.

((A B) (A)) (A B) A
1 1 0 0

(A) A

B
B 1 0 1 0

( ) 1 0 0 0

() 0 0 1 1

((A B) (A)) 0 0 0 0

Lema 1. Uma frmula A uma tautologia se e somente se a frmula (A) for uma contradio, e vice-versa. Demonstrao: Imediata. Corolrio 1.1. Seja o conjunto das tautologias da linguagem proposicional e o conjunto das contradies. Ento equipotente a . Demonstrao: Conseqncia do lema anterior. V-se, pelos resultados anteriores, que a linguagem proposicional contm tantas tautologias quanto contradies. Intuitivamente, isto denuncia uma importante propriedade da linguagem proposicional: o pesquisador que utiliza a linguagem proposicional da Lgica Clssica para suas perquiries, a linguagem est equipada em igual nmero de sentenas verdadeiras e falsas. Logo, ela (a linguagem) se posiciona neutramente na busca da verdade. Podemos obter um algoritmo similar rvore de refutao vista anteriormente para verificar se uma frmula constitui uma contradio. Com efeito, basta supor, por absurdo, que a frmula verdadeira e cair num absurdo. Se isto ocorrer, fica provado que a frmula uma contradio. Exemplo 2. Algumas aplicaes do algoritmo. 1. [((A B) A)]
[ 1 0 1 1 0 0 ((A ) A)]

2. [(A (B A))]

83

[ 1

(A

A))]

1 1

0 0

3. [((A B) ((A (B)) (A)))]


[ 1 0 1 1 1 1 0 1 0 0 0 0 1 ((A ) ((A ( B)) ( A)))]

Exerccio 1. Aplique o algoritmo acima visto para verificar se as seguintes proposies so contradies. Caso contrrio, explicite os valoresverdade das atmicas para os quais ela verdadeira. 1. [(A A)] 2. {[(A) A]} 3. {[B (C B)]} 4. {B [C (B)]} 5. {[A [B (B)]] A} Exerccio 2. D exemplos de sentenas na linguagem portuguesa que so sempre falsas. 2.11 - Inferncia Lgica Neste pargrafo estudamos uma parte importante da Lgica formal: inferncia ou raciocnio. Particularmente estamos interessados nas inferncias vlidas. Uma inferncia, quando se fixa uma linguagem conveniente para expressar os juzos de que se compe, se expressa por um conjunto ordenado de sentenas: as premissas e a concluso. O passo lgico das premissas concluso constitui numa deduo. Uma inferncia se diz vlida, se de premissas verdadeiras, obtivermos necessariamente concluses tambm

84

verdadeiras. Vamos estudar algumas regras de inferncia. 1) Modus Ponendo Ponens. Esta regra compe-se duas premissas, a premissa maior e a premissa menor, e uma concluso. A forma da regra se escreve como:

A, ( A B ) B
(A B) A B ou 1. Premissa maior: (A B) 2. Premissa menor: A 3. Concluso: B Exemplo 1. Vejamos alguns exemplos. a) 1. Premissa maior: Se chove, ento o cu est encoberto. 2. Premissa menor: Chove 3. Concluso: O cu est encoberto. b) 1. Premissa maior: Se trabalhas arduamente, ento recompensado de algum modo. 2. Premissa menor: Trabalhas arduamente. 3. Concluso: s recompensado de alguma forma. c) 1. Premissa maior: Se f : uma funo derivvel, ento f uma funo contnua. 2. Premissa menor: f : uma funo derivvel. 3. Concluso: f uma funo contnua. Observemos que na regra Modus Ponendo Ponens, as frmulas A e B so arbitrrias. Ento ela nos permite outras aplicaes: d) 1. Premissa maior: Se no faz frio, ento o lago no gelar. 2. Premissa menor: No faz frio 3. Concluso: O lago no gelar. Se simbolizarmos por C Faz frio e por D O lago gelar, temos: Outros exemplos: 1. {(A) B}

Premissa maior

85

2. 3.

(A) B

Premissa menor Concluso

Teorema 1. A regra de Modus Ponendo Ponens uma inferncia Demonstrao: Suponhamos que A e (A B) so proposies verdadeiras. Suponha-se por absurdo que B falsa. De A verdadeira e B falsa conclumos que (A B) falsa, o que absurdo. Podemos esquematizar assim:
A 1 (A B) 1 0 B 0

vlida.

2) Modus Tollendo Ponens Esta regra consiste de duas premissas e uma concluso. 2.1 1a forma (A B) (A) B ou 1. Premissa: (A B) 2. Premissa: (A) 3. Concluso: B Exemplo 2. 1. Premissa: Clarissa compra um vestido azul ou Clarissa compra uma blusa bege 2. Premissa: Clarissa no compra um vestido azul 3. Concluso: Clarissa compra uma blusa bege 2.2 2a forma (A B) (B) A Exemplo 3. 1. Premissa: Clarissa compra um vestido azul ou Clarissa compra uma blusa bege 2. Premissa: Clarissa no compra uma blusa bege 3. Concluso: Clarissa compra um vestido azul 3) Regra da Dupla Negao. Esta regra compe-se de uma nica premissa e uma concluso. So duas formas: 2.1) ( ( A)) A e 2.2) A ( ( A))

86

2.1) 1. Premissa: ((A)) 2. Concluso: A Seja a proposio: No o caso que Bianca no estuda Podemos inferir da que Bianca estuda Portanto, se pomos: A Bianca estuda, temos: ((A)) No o caso que Bianca no estuda. Temos ento: 1. No o caso que Bianca no estuda. 2. Bianca estuda. Ou, em smbolos, 1. ((A)) 2. A Premissa Concluso Premissa Concluso

Seja a proposio: no que 1 1. Temos Se pomos A (1 = 1), temos: 1. no que 1 1 Premissa 2. 1 = 1 Concluso 2.2) 2.1) 1. Premissa: A 2. Concluso: ((A)) Seja a proposio: Johnny Mathis interpreta com maestria Podemos inferir da que No o caso que Johnny Mathis no interpreta com maestria Portanto se pomos: A Johnny Mathis interpreta com maestria, temos: ((A)) No o caso que Johnny Mathis no interpreta com maestria. Temos ento: 1. Johnny Mathis interpreta com maestria. Premissa 2. No o caso que Johnny Mathis no interpreta com maestria. Concluso Ou, em smbolos, 1. A 2. ((A)) Premissa Concluso

87

Seja a proposio: = {}. Se pomos A = {}, temos: 1. = {} Premissa 2. No que {} Concluso Teorema 2. A Regra da Dupla Negao uma regra de inferncia vlida. Demonstrao. De fato, se ((A)) verdadeira, (A) falsa e, portanto, A verdadeira. Podemos esquematizar assim:

((A)) 1

(A) 0

A 1

Se A verdadeira, ento (A) falsa e, portanto, ((A)) verdadeira. Podemos esquematizar assim:
(A) 0

A 1

((A)) 1

Observao. Na lngua portuguesa, existe o que se chama negao enftica. Por exemplo, na proposio No se viu nenhuma pessoa a mesma coisa que pessoa alguma foi vista, diferentemente das discusses acima. Portanto, caro leitor, se for aplicada ao p da letra a lei acima, voc est fadado a ser mal interpretado. Outro exemplo: no consigo aprender nada a mesma coisa que ignorncia total. Comeando a fazer dedues. Uma deduo consiste em uma seqncia de frmulas, cada uma delas ou uma premissa ou obtida de frmulas anteriores pela aplicao de regras de inferncia. Exemplo 4. 1. (A B) Premissa 2. A Premissa 3. B 1, 2, Modus Ponens 4. ((B)) 3, Dupla negao Constitui uma deduo. Diz-se que ((B)) foi deduzida a partir das premissas

88

(A B) e A. 4) Modus Tollendo Tolens Esta regra compe-se duas premissas e uma concluso. A forma da regra se escreve como: A,(A B) B Ou (A B) (B) (A) 1. (A B) 2. (B) 3. (A) Premissa Premissa Concluso

Exemplo 5. Vejamos alguns exemplos. a) 1. Se chove, ento o cu est encoberto Premissa 2. O cu no est encoberto Premissa 3. No chove Concluso b) 1. Se trabalhas arduamente, ento Premissa 2. No recompensado de algum modo Premissa 3. No trabalhas arduamente Concluso recompensado de algum modo

c) 1. Se f : uma funo derivvel, ento f uma funo contnua Premissa 2. f : no uma funo contnua Premissa 3. f : no uma funo derivvel Concluso d) 1. Se no faz frio, ento o lago no gelar 2. No que o lago no gelar 3. No que no faz frio Premissa Premissa Concluso

Se simbolizarmos por A Faz frio e por B O lago gelar, temos: 1. [(A) (B)] Premissa 2. ((B)) Premissa 3. ((A)) Concluso Podemos continuar a deduo e inferir 4. A 3, Dupla negao ou seja, Faz frio.

89

Teorema 3. A regra de Modus Tollendo Ponens uma inferncia vlida. Demonstrao: Suponhamos que (A B) e (B) so proposies verdadeiras. Suponha-se por absurdo que (A) falsa. De (B) verdadeira, temos B falsa e de (A) falsa conclumos que A verdadeira. De A verdadeira e B falsa conclumos que (A B) falsa, o que absurdo. Podemos esquematizar assim:
(A B) 1 0 (B) 1 0 B (A) 0 1 A

5) Regra de Simplificao: Esta regra composta de uma premissa e uma concluso. 5.1 1a forma. (A B) A ou 1. Premissa: (A B) 2. Concluso: A Exemplo 6. 1. Premissa: Joo estuda e Joo compenetrado 2. Concluso: Joo estuda 5.2 2a forma. (A B) B ou 1. Premissa: (A B) 2. Concluso: B Exemplo 7. 1. Premissa: Joo estuda e Joo compenetrado 2. Concluso: Joo compenetrado 6) Regra de Adjuno. Esta regra compe-se de duas premissas e uma concluso. 6.1 1a forma. A B (A B) ou 1. Premissa: A 2. Premissa: B 3. Concluso: (A B)

90

Exemplo 8. 1. Premissa: Clarissa amorosa 2. Premissa: Clarissa quieta 3. Concluso: Clarissa amorosa e Clarissa quieta 2a forma. A B (B A) ou 1. Premissa: A 2. Premissa: B 3. Concluso: (B A) Exemplo 9. 1. Premissa: Clarissa amorosa 2. Premissa: Clarissa quieta 3. Concluso: Clarissa quieta e Clarissa amorosa 7) Lei de Adio A Lei de Adio expressa que de uma proposio vlida A pode-se inferir a disjuno dela com qualquer outra proposio B. A Lei da Adio se expressa como: 7.1) 1. Premissa: A 2. Concluso: (A B) 7.2) 1. Premissa: B 2. Concluso: (A B) Exemplo 10. 1. Premissa: O amor azul 2. Concluso: O amor azul ou o amor eterno Exemplo 11. 1. Premissa: 2 + 2 = 4 2. Concluso: 2 + 2 = 4 3 + 2 1 Exemplo 12. 1. Premissa: Passei em Matemtica 2. Concluso: O exame amanh ou passei em Matemtica Exemplo 13. 1. Premissa: 2 + 2 = 4 2. Concluso: 3 + 2 1 2 + 2 = 4 Exemplo 14. 1. Premissa: B 2. Concluso: ((C) B) Exemplo 15. 1. Premissa: A 2. Concluso: (A ((B) C)) 8) Lei do Silogismo Hipottico

91

Esta regra compe-se de duas premissas e uma concluso. 1. 2. 3. Premissa: (A B) Premissa: (B C) Concluso: (A C)

Exemplo 16. 1. Premissa: Se fizer calor, ento Clarissa ir praia 2. Premissa: Se Clarissa ir praia, ento Clarissa arrumar a casa 3. Concluso: Se fizer calor, ento Clarissa arrumar a casa Exemplo 17. 1. Premissa: Se f : polinomial, ento f : derivvel 2. Premissa: Se f : derivvel, ento f : contnua 3. Concluso: Se f : polinomial, ento f : contnua 9) Lei do Silogismo Disjuntivo Esta regra compe-se de trs premissas e uma concluso. 9.1 1a forma. A B) (A C) (B D) (C D) ou 1. Premissa: (A B) 2. Premissa: (A C) 3. Premissa: (B D) 4. Concluso: (C D) Exemplo 18. 1. Premissa: Ou chove ou as terras esto secas 2. Premissa: Se chover, ento no trabalharemos 3. Premissa: Se as terras esto secas, ento jogaremos futebol 4. Concluso: Ou no trabalharemos ou jogaremos futebol 9.2 2a forma. (A B) (A C) (B D) (D C) ou 1. Premissa: (A B) 2. Premissa: (A C) 3. Premissa: (B D) 4. Concluso: (D C) Exemplo 19. 1. Premissa: Ou chove ou as terras esto secas 2. Premissa: Se chover, ento no trabalharemos 3. Premissa: Se as terras esto secas, ento jogaremos futebol 4. Concluso: Ou jogaremos futebol ou no trabalharemos

92

10) Leis Comutativas. Esta regra compe-se de uma premissa e uma concluso. 10.1 1a forma. (A B) (B A) ou 1. Premissa: (A B) 2. Concluso: (B A) Exemplo 20.: 1. Premissa: Clarissa quieta e Clarissa amorosa 2. Concluso: Clarissa amorosa e Clarissa quieta Observao: muito cuidado ao considerar linguagens naturais. Veja o exemplo 1. Premissa: Maria casou e Maria teve um filho 2. Concluso: Maria teve um filho e Maria casou Reiteramos. As regras de inferncia (como tudo o mais) referem-se linguagem proposicional e no linguagem natural. 10.2 2a forma. (A B) (B A) ou 1. Premissa: (A B) 2. Concluso: (B A) Exemplo 21. 1. Premissa: Clarissa quieta ou Clarissa amorosa 2. Concluso: Clarissa amorosa ou Clarissa quieta 11) Leis das proposies bi-condicionais. 11.1(AB) (AB) 11.2(AB) (BA) 11.3(BA) (AB) 11.4 (AB) ((AB)(AB) 12) Leis de De Morgan. 12.1[(AB)] [(A) (B)] 12.2 [(AB)] [(A) (B)]

93

12.3 12.4 12.5 12.6 12.7 12.8

(AB) {[(A)(B)]} (AB) {[(A)(B)]} [(A)(B)] [ (AB) [(A)(B)] [ (AB) {[(A)(B)]} (AB) {[(A)(B)]} (AB)

Exerccio 1. Simbolize as proposies e o qu se pode concluir, aplicando-se as regras de inferncia vistas ? 1. Ou Paulo tem a maioria dos votos ou Maria tem a maioria dos votos. Se Paulo tem a maioria dos votos, ento Luiz ser o tesoureiro. Se Maria tem a maioria dos votos, ento Marcos ser o tesoureiro. 2. Se a emenda no for aprovada, ento a Constituio fica como est. Se a Constituio fica como est, ento no incorporamos novos membros ao comit. Ou incorporamos novos membros ao comit ou o informe se atrasar em um ms. Porm, o informe no se atrasar em um ms. Nas seguintes inferncias, verificar se a concluso conseqncia das premissas. No caso positivo, faa uma deduo usando as regras vistas. 1. Se esta uma sociedade matriacal, ento o irmo da me o chefe da famlia. Se o irmo da me o chefe da famlia, ento o pai no possui autoridade. Esta uma sociedade matriacal. Portanto, o pai no possui autoridade. 2. Se o presidente da escola de samba for correto ou for forte ou for ntegro, ento a escola progride sem problemas. Se a escola progride sem problemas, ento todos os scios esto satisfeitos. Se os scios esto satisfeitos, ento no h descontentamento com o presidente, nem o presidente anti-tico, nem o presidente toma atitudes imorais, nem o presidente vacila e nem o presidente esconde informaes. Acontece que h descontentamento com o presidente, alm disso o presidente anti-tico, toma atitudes imorais, vacila e esconde informaes. Logo o presidente da escola de samba no correto, nem ntegro e fraco.

94

2.12 - Regras de eliminao de parnteses Vejamos algumas convenes destinadas a aliviar a leitura das frmulas, atravs da eliminao de parnteses. As regras para tal so as seguintes: R1) Inicialmente omitimos os parnteses mais externos de uma frmula. claro que se a frmula for uma frmula atmica, no h parnteses a omitir. Exemplo 1. (A B) C abrevia ((A B) C) R2) Se a frmula contiver apenas ocorrncias de um s conectivo binrio (isto , , , ou ), os parnteses so omitidos por associao esquerda. Exemplo 2. Exemplos de forma simplificada. 1. A D C B abrevia ((A D) C) B) 2. B B C abrevia ((B B) C). R3) quando uma frmula apresentar ocorrncias de mais de um conectivo, ponha-se a seguinte ordenao entre os conectivos: 1o 2o 3o 4o 5o Os parnteses so eliminados de acordo com as seguintes regras, ilustradas pelos exemplos correspondentes: R4) Primeiramente, se aplica menor frmula que o segue imediatamente. Exemplo 3. Para se restaurar os parnteses da expresso A B C A D, inicia-se primeiro pelo conectivo : A (B) C A D R5) Em seguida, conecta as menores frmulas a ele adjacentes: Exemplo 4. Tomando-se a expresso do exemplo anterior, obtemos: A (B) C (A D) R6) Logo o , que conecta as menores frmulas a ele adjacentes: Exemplo 5. A expresso do exemplo anterior toma a forma (A (B)) C (A D) R7) O passo seguinte tratar do que conecta as menores frmulas a ele adjacentes:

95

Exemplo 6. ainda em relao ao exemplo anterior: ((A (B)) C ) (A D) R8) Por ltimo, conecta as menores frmulas a ele adjacentes: Exemplo 7. O exemplo anterior toma a forma: (((A (B)) C ) (A D)) Exemplo 8. Seja a restaurao dos parnteses da expresso A B C D A A D Os passos da restaurao so os seguintes: 1. A B C D A (A) D (R4) 2. A B (C D) A (A) D (R5 e R2) 3. A B ((C D) A) (A) D (R2) 4. A B (((C D) A) (A)) D (R6) 5. A B ((((C D A) (A)) D) (R7) 6. (A B) ((((C D) A) (A)) D) (R8 e R2) 7. ((A B) ((((C D) A) (A)) D)) (R2) Exemplo 9. Simplifiquemos os parnteses de (A (B A)). 1. (A (B A)) (R1) 2. A (B A) (R1) 1. 2. 3. 4. 5. 6. 7. Exerccio 1. Simplifique os parntesis das seguintes frmulas. [[ A ( B C)] [( A B) ( A C)]] [[ A ( B C)] [ B ( A C)]] [[(B) (A)] [((B) A) B]] [[(B) (C)] (A)] [[( A B) (A (A))]] [[A (A)]] [[ A ( B C)] [ B ( A C)]]

2.13 - A notao polonesa de frmulas H uma outra notao para as frmulas que no faz uso dos parnteses. Tal sistema conhecido como notao polonesa de frmulas e mostra que, de fato, os parnteses so simplesmente smbolos auxiliares da linguagem proposicional. As regras da notao polonesa so as seguintes: Sejam A e B frmulas quaisquer. Escrevemos : P1) A ao invs de (A) P2) AB ao invs de (A B) P3) AB ao invs de (A B) P4) AB ao invs de (A B) P5) AB ao invs de (A B) a) 1. Exemplo 1. Vamos escrever as seguintes frmulas na notao polonesa: ((A B) C) (A B)C (P4)

96

2. ABC a) (A ((B (C)) D)) 1. A((B (C)) D) 2. A(B (C))D 3. ABCD 4. ABCD

(P2) (P3) (P4) (P2) (P1)

Exemplo 2. Dada a expresso AB BC AC, em notao polonesa, podemos transform-la na notao original atravs dos seguintes passos: 1) AB BC (A)C (P1) 2) (A B) (B C) (A) C) (P4) 3) (A B) ((B C) ((A) C )) (P4) 4) ((A B) ((B C) ((A) C))) (P4) 1. 2. 3. 4. 5. 6. Exerccio 1. Escrever na notao polonesa as seguintes frmulas. (((A B)) A), ((A C) (B C)), ((A B) (E (C))), ((A C) ((B C) ((A B) C))), ((A B) ((A (B)) (A))), ((A (B C)) ((A B) (A C))).

Exerccio 2. As seguintes expresses esto escritas na notao polonesa. Escreva-as na forma original. 1. A 2. ABA 3. BAAB 4. AAAA 5. AAAA 2.14 - Forma normal disjuntiva O objetivo deste pargrafo obter uma frmula logicamente equivalente a uma dada frmula que uma disjuno de conjunes de frmulas atmicas ou de suas negaes, com certas condies. Essa frmula muito til em aplicaes, principalmente em circuitos eltricos. Definio 1 [Literal]. Qualquer frmula atmica ou sua negao chama-se literal. 1. 2. 3. Exemplo 1. So exemplos de literais. A (B) C Exemplo 2. No so literais:

97

1. 2.

((B)) (A B)

Definio 2 [Conjuno fundamental]. Uma frmula diz-se conjuntiva fundamental se: 1. ou um literal 2. ou uma conjuno de dois ou mais literais, desde que no h repetio de variveis proposicionais. 1. 2. 3. 4. 5. 1. 2. 3. Exemplo 3. So exemplos de conjuntivas fundamentais. {B [C (A)]} A (A) {[(C) (B)] (A)} (A B) Exemplo 4. No so exemplos de conjuntivas fundamentais: {[(A) (B)] (A)} (houve repetio da frmula atmica A) [(A)] (no um literal) {B [C (B)]} (houve repetio da frmula atmica B)

Definio 3. Diz-se que uma conjuntiva fundamental A est contida na conjuntiva fundamental B se todos os literais de A so tambm literais de B. 1. 2. 3. 4. 1. 2. 3. Exemplo 5. Exemplos. (A B) est contida em [(A B) C] [C (A)] est contida em {B [C (A)]} {B (A)]} est contida em {B [C (A)]} A est contida em (A) Exemplo 6. Contra-exemplos. (A) no est contida em [(A B) C] [C (B)] no est contida em {B [C (A)]} A no est contida em {B [C (A)]}

Definio 4. Diz-se que uma frmula A est na forma disjuntiva normal se: 1. ou A uma conjuno fundamental 2. ou A uma disjuno de duas ou mais conjunes fundamentais, sendo que nenhuma delas est contida nas demais. Exemplo 7. As seguintes frmulas esto na forma disjuntiva normal: 1. {B [C (A)]} 2. A 3. (A) 4. {[(C) (B)] (A)}

98

5. 6. 7. 8.

(A B) [(A) A] {[D (A)] [B [C (A)]]} {{[D (A)] [B [C (A)]]} [(D C) A]} Pode-se provar um resultado que toda funo-verdade determinada por uma frmula que contm somente ocorrncias dos conectivos , ou . Na realidade, o resultado que vamos expor atravs de exemplos, j fornece uma frmula na sua forma disjuntiva normal. Mtodo para obteno de uma frmula equivalente uma na forma disjuntiva normal. Consideremos a frmula S (com frmulas atmicas componentes A e B) que tenha por tabela-verdade:
A 1 1 0 0 B 1 0 1 0 S 0 1 1 1

Passo 1. Escolhemos apenas as linhas em que S verdadeira. No caso so as 2a, 3a e 4a linhas. Passo 2. Para cada linha do passo anterior, olhamos apenas para as atmicas e construmos uma frmula conjuntiva fundamental assim: 2a linha - como A verdadeira, mantemos A e como B falsa, substitumos por (B). Frmula conjuntiva fundamental relativa 2a linha: [A (B)]. 3a linha - como A falsa, substitumos por (A) e como B verdadeira, mantemos B. Frmula conjuntiva fundamental relativa 3a linha: [(A) B]. 4a linha - como A falsa, substitumos por (A) e como B falsa, substitumos por (B). Frmula conjuntiva fundamental relativa 4a linha: [(A) (B)]. Passo 3. Finalmente, para obtermos a forma disjuntiva normal s fazermos a disjuno das frmulas obtidas, ou seja, {[A (B)] [(A) B] [(A) (B)]} Exerccio 1. Faa a verificao, i.e., verifique que as tabelas-verdade de S e de {[A (B)] [(A) B] [(A) (B)]} so iguais. Vejamos mais um exemplo. Exemplo 8. Encontre uma frmula disjuntiva normal equivalente a {[(B) C] [(A) B]}

99

Preliminarmente construamos sua tabela-verdade: S {[(B) C] [(A) B]} [(B) C] (B) B


1 1 0 0 1 1 0 0 () 0 0 1 1 0 0 1 1

[(A) B] C (A) A
(A) 0 0 0 0 1 1 1 1 [() C] 1 1 1 0 1 0 1 0 [() ] 0 0 0 0 1 1 1 1

A 1 1 1 1 0 0 0 0

C 1 0 1 0 1 0 1 0

S 0 0 0 1 1 0 0 1

Passo 1. Linhas em que S so verdadeiras: 4, 5 e 8. Passo 2. Frmulas conjuntivas fundamentais: Linha 4 - [A (B) (C)] Linha 5 - [(A) B C] Linha 8 - [(A) (B) (C)] Passo 3. S {[A (B) (C)] [(A) B C] [(A) (B) (C)]} Logo, uma frmula disjuntiva normal equivalente a {[(B) C] [(A) B]} a frmula {[A (B) (C)] [(A) B C] [(A) (B) (C)]}. Exerccio 2. Faa a verificao. Exemplo 9. Encontre uma frmula S cujas frmulas atmicas so A, B, C e D e cuja tabela-verdade :

100

A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0

D 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

S 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0

Basta aplicar o mtodo anterior. Passo 1. Linhas que S so verdadeiras: 6, 10 e 15. Passo 2: Frmulas conjuntivas fundamentais: Linha 6: [A (B) C (D)] Linha 10: [(A) B C (D)] Linha 15: [(A) (B) (C) D] Passo 3. A frmula solicitada S {[A (B) C (D)] [(A) B C (D)] [(A) (B) (C) D]} Exerccio 3. O leitor convidado para fazer a verificao. das 1. 2. 3. 4. 5. 6. Exerccio 4. Encontre uma frmula na forma disjuntiva normal seguintes frmulas: {[A (B C)] (A)} {[[(B) ((A))] [(A B) (B A)]]} {[(A C)] [A (A A)]} {A [A (A A)]} {[(A B) A] B} {A [(B B) (A A)]}

Exerccio 5. Encontre frmulas S1, S2, S3 e S4 cujas frmulas atmicas so A e B e cujas tabelas-verdade so:

101

A 1 1 0 0

B 1 0 1 0

S1 0 1 0 1

A 1 1 0 0

B 1 0 1 0

S2 0 1 1 0

A 1 1 0 0

B 1 0 1 0

S3 0 0 0 0

A 1 1 0 0

B 1 0 1 0

S3 1 1 0 1

Exerccio 6. Encontre frmulas S1, S2 e S3 cujas frmulas atmicas so A, B e C e cujas tabelas-verdade so:
A 1 1 1 1 0 0 0 0 B 1 1 0 0 1 1 0 0 C 1 0 1 0 1 0 1 0 S1 1 1 0 0 1 0 0 1 A 1 1 1 1 0 0 0 0 B 1 1 0 0 1 1 0 0 C 1 0 1 0 1 0 1 0 S2 0 1 1 0 0 1 0 1 A 1 1 1 1 0 0 0 0 B 1 1 0 0 1 1 0 0 C 1 0 1 0 1 0 1 0 S3 0 0 1 1 1 0 1 0

Exerccio 7. Encontre frmulas S1 e S2 cujas frmulas atmicas so A, B, C e D e cujas tabelas-verdade so:


A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 D 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 S1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 D 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 S2 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0

102

2.15 - Uma axiomatizao da lgica proposicional Vamos introduzir a partir deste ponto uma teoria axiomtica formal L para a lgica proposicional. Tal teoria fica estabelecida quando damos, inicialmente, o vocabulrio de L, constitudo pelos seguintes smbolos, divididos em trs categorias: 1. Variveis proposicionais: Um conjunto enumervel de smbolos denominadas de variveis proposicionais. 2. Conectivos lgicos: (negao), (conjuno), (disjuno) e (implicao) 3. Smbolos auxiliares: (, ). Passemos agora gramtica de L. Definio 1. Qualquer seqncia finita de smbolos do vocabulrio de L, diz-se uma expresso de L. Exemplo 1. So expresses de L, onde A e B so variveis proposicionais. 1. A) 2. (A B) 3. A( Notamos intuitivamente que as expresses dadas em a) e c) so destitudas de sentido, ao passo que a expresso b) constitui uma expresso bem formada; tal expresso far parte do conjunto das expresses relevantes de L. Definio 2. Dadas as expresses A e B de L, a expresso: (A) denomina-se a negao de A, (A B) denomina-se a conjuno de A e B (ou, simplesmente, conjuno), (A B) denomina-se a disjuno de A e B (ou, simplesmente, disjuno), (A B) denomina-se a implicao de B por A ( ou, simplesmente, implicao). Observao. Uma vez mais enfatizamos que os smbolos A e B, utilizados na definio anterior, no pertencem aos smbolos do vocabulrio de L; constituem variveis (denominadas meta-variveis) que servem para designar expresses quaisquer de L. As expresses relevantes de L (denominadas frmulas) para o discurso matemtico so dadas pela seguinte definio indutiva. Definio 3. Uma expresso A diz-se uma frmula se existir uma seqncia finita de expresses (B1, ... ,Bn) (n 1) tal que, para cada i, 1 i n: 1. ou Bi uma frmula atmica; 2. ou Bi uma negao, conjuno, disjuno, implicao, de expresses anteriores da seqncia,

103

3.

Bn A.

Exemplo 2. Sejam A, B e C frmulas atmicas. So exemplos de frmulas: 1) ((A B) C). Basta tomar a seqncia (A, B, C, (A B), ((A B) C)) ou, mais didaticamente, escrevemos na coluna: 1. A (atmica) 2. B (atmica) 3. C (atmica) 4. (A B) (1, 2, disjuno) 5. ((A B) C)) (4, 3, conjuno) De modo bvio possui a seguinte rvore de decomposio: ((A B) C) (A B) A B C

Exemplo 3. a) (A B) uma frmula, pois dada pela seqncia (A, B, (A B). b) (((A))) tambm uma frmula, pois dada pela seqncia (A, (A), ((A)), (((A))). Podemos agora introduzir (por definio) o conectivo da biimplicao. Definio 4. Sejam A e B frmulas de L. Ponha-se: (A B) = ((A B) (B A)). Note-se que (A B) constitui uma frmula de L, denominada de biimplicao de A e B (ou, simplesmente, uma bi-implicao). Adotamos a regra de eliminao de parnteses vista em 2.6. Adotaremos os seguintes postulados (esquemas de axiomas e regras de inferncia) para a linguagem proposicional L, apresentados por [Kleene 52]. Sejam A , B e C frmulas quaisquer : (1) [A (B A)] (2) {[A (B C)] [(A B) (A C)]} (1) [(A B) A] (2) [(A B) B] (3) {A [B (A B)]} (1) [A (A B)] (2) [B (A B)] (3) {(A C) [(B C) [(A B) C]]} (1) {(A B) [[A (B)] (A)]}

104

(2) [((A)) A] (MP) (Modus Ponens) Observao. Note-se que os esquemas de axiomas acima abreviam uma infinidade de frmulas (axiomas). Cada axioma de um esquema de axiomas correspondente diz-se ser uma instanciao ou instncia daquele esquema de axiomas. Os exemplos abaixo ilustram esse fato. Exemplo 4. A frmula A1 (A2 A1) um axioma, que por sua vez uma instanciao (ou instncia) de (1). b) Idem, em relao frmula A5 (A5 A5). c) Idem, para a frmula (A1) (A10 (A1)). d) Idem, para (A1 A2) ((A3 A1) (A1 A2)). e) {[(A C) (C B)] (C B)} um axioma; uma instanciao (ou instncia) de (2) a) Observao. Observe-se que, dada uma frmula de L, podemos verificar, sem dificuldade, se ela constitui um axioma ou no. As lgicas que possuem esta propriedade so chamadas axiomticas. Logo, pela observao precedente, a lgica proposicional axiomtica. Vejamos, em seguida, algumas noes sintticas centrais, como as de demonstrao (ou prova) e de Teorema. Definio 5. Uma demonstrao (ou prova) em L uma seqncia finita de frmulas (A1, A2, ..., An) tal que, para cada i, 1 i n, 1. ou Ai um axioma, 2. ou Ai conseqncia direta de algumas frmulas precedentes da seqncia pela aplicao da regra de Modus Ponens. Exemplo 5. A seguinte seqncia de frmulas (A1, A2, A3) constitui uma demonstrao, pois: A1 (A ((A A) A)) ((A (A A)) (A A)) (2) A2 A ((A A) A) (1) A3 (A (A A)) (A A) (A 1 , A 2 , MP) Definio 6. Uma frmula A de L denomina-se um teorema (de L) se existir uma demonstrao (A1, A2, ..., An) tal que An = A. Uma tal seqncia dizse ser uma demonstrao de A. Exemplo 6. A frmula (A (A A)) (A A) constitui um teorema de L, pois a seqncia (A1, A2, A3), vista no exemplo anterior, constitui uma demonstrao tal que A3 (A (A A)) (A A). Notao. Se uma frmula A constituir um teorema de L, simbolizamos

105

esse fato por | A (ou, simplesmente | A). assim, no exemplo anterior, temos que | (A (A A)) (A A). Observao. 1. Pela definio anterior, conclumos que todo axioma de L constitui um teorema de L. Com efeito, se A um axioma de L, a seqncia (A1), onde A1 = A , constitui uma demonstrao de A. 2. Dado um teorema A de L, existem infinitas demonstraes de A. Com efeito, seja (A1, A2, ..., An) uma demonstrao de A. Podemos inserir um axioma na seqncia anterior (desde que no seja como ltimo elemento) e temos obviamente uma nova demonstrao de A. Podemos repetir o processo e, assim, temos uma infinidade de demonstraes de A. Teorema 1 (Lei da Identidade do Clculo Proposicional). Temos que | (A A), para toda frmula A. Demonstrao 4:Consideremos a seguinte demonstrao de (A A): 1. [(A ((A A)) ((A (A A)) (A A))] (2) 2. [A ((A A) A)] (2) 3. [(A (A A)) (A A)] (1, 2, MP) 4. [A (A A)] (1) 5. (A A) (3, 4, MP) Suponhamos, agora, que queremos saber quais sentenas so dedutveis a partir de um conjunto de sentenas (premissas ou hipteses (verdadeiras ou no)). Temos que lanar mo dos conceitos seguintes: Definio 7. Seja um conjunto de frmulas. Uma deduo a partir do conjunto de frmulas uma seqncia finita de frmulas (A1, A2, ... , An) tal que, para todo i, 1 i n, uma das condies abaixo se verifica: 1. ou Ai um axioma, 2. ou Ai , 3. ou Ai obtida de frmulas anteriores pela regra do Modus Ponens. Exemplo 7. Seja = { A B, B C}. Ento, a seqncia de frmulas: 1. A B (elemento de ) 2. B C (elemento de ) 3. (A (B C)) ((A B) (A C)) (2) 4. (B C) (A (B C)) (1) 5. A (B C) (2, 4, MP) 6. (A B) (A C) (3, 6, MP) 7. A C (1, 6, MP) constitui uma deduo a partir de .
5

O leitor deve prestar ateno ao duplo emprego das palavras teorema e demonstrao. claro que tais palavras j possuem significados tcnicos precisos, vistos no texto. A palavra teorema do Teorema 1, entretanto, se refere a uma afirmao da sintaxe da linguagem proposicional; , pois, em realidade, um meta-teorema; a palavra demonstrao que a acompanha constitui a demonstrao do meta-teorema correspondente.

106

Definio 8. Uma frmula A diz-se uma conseqncia sinttica de um conjunto de frmulas se existir uma deduo a partir de (A1, A2, ... , An) tal que An coincide com A. Uma tal seqncia se denomina deduo de A a partir de . Logo, uma frmula A constitui uma conseqncia sinttica de se for o ltimo termo de uma deduo a partir de . Os membros de chamam-se hipteses ou premissas da deduo. Utilizamos o smbolo | A (ou simplesmente | A) para abreviarmos que A conseqncia sinttica de . Quando for um conjunto finito {B1, ... , Bn} escrevemos B1, ... , Bn | A ao invs de {B1, ..., Bn} | A Note-se que tambm , B1, ... , Bn | A abrevia {B1, ... , Bn} | A (em particular, , B | A abrevia {B} | A) Lema 1. Seja A uma frmula. Ento, | A se e somente se A for um teorema (isto , | A). Demonstrao. Imediata. Teorema 2. As seguintes propriedades so vlidas: 1. Se e | A, ento | A. 2. | A se e somente se existir um conjunto finito de tal que | A. 3. Se | A e, para cada B em , | B, ento | A. Demonstrao: 1. Imediata. 2. () conseqncia de 1. () Se | A, existe uma (A1, ... , An) deduo de A a partir de . Seja = {Ai | Ai ). imediato que , finito e | A. 3. Suponhamos que | A. Ento existe uma deduo (A1, ... , An) de A a partir de . Seja {Aj1, ... , A jk} o conjunto dos elementos da deduo que so elementos de . Pela hiptese, para cada x, 1 x k, tem-se que | Ajx Seja (Bjx1, ... , Bjxn) uma deduo de Ajx a partir de . Construmos uma nova seqncia A partir de (A1, ... , An), substituindo cada Ajx pela seqncia correspondente considerada acima. Esta nova seqncia constitui uma deduo de A a partir de . Exemplo 8. Do exemplo 7 conclumos que a frmula A C uma conseqncia sinttica de = { A B, B C}, ou seja: A B, B C | A C. Exemplo 9. A (B C) | B (A C). Demonstrao: A (B C) [A (B C)] [(A B) (A C)] [(A B) (A C)]

1. 2. 3.

(hiptese) (2) (1, 2, MP)

107

4. B (A B) 5. B (A C). exemplo anterior)

(1) (4,

3,

Teorema 3. Sejam um conjunto de frmulas e A, B frmulas quaisquer. Se | A e | A B, ento | B. Demonstrao: Sejam (A1, ... , An) uma deduo de A a partir de e (B1, ... , Bm) uma deduo de A B a partir de . Consideremos a seqncia (A1, ..., An-1, A, B1, ... , Bm-1, A B, B). imediato que esta ltima seqncia constitui uma deduo de B a partir de (B obtida de A e A B por meio de Modus Ponens). Em muitos resultados da Matemtica, freqentemente, demonstramos uma proposio B assumindo uma outra proposio A; conclumos, ento , que Se A ento B verdadeira. Exemplo 10. Se f: [0, 1] uma funo derivvel, ento f uma funo contnua. Assumimos que f derivvel e demonstramos, a partir da, que f contnua. Fica assim demonstrado que Se f derivvel, ento f contnua. Este procedimento justificado, para o clculo proposicional, pelo Teorema da Deduo, que veremos a seguir. Teorema 4. (Teorema da Deduo). Sejam um conjunto de frmulas, A e B frmulas e , A | B. Ento | A B. Em particular, se A | B, ento | A B (Herbrand, 1930). Demonstrao: Sejam (B1, B2, ... , Bn) uma deduo de B a partir de {A}. Afirmamos que | A Bi, 1 i n. Procedemos por induo finita sobre i: 1) i = 1. Temos que 1. B1 axioma, 2. B1 , 3. B1 A. Nos casos 1 e 2 temos que i. B1 (A B1) (1) ii. B1 (hiptese ou axioma) iii. A B1 (1,2,MP) iv. | A B1. No caso 1.3, temos que: | A B1 (pelo Teorema 1) | A B1 (pelo Teorema 2) 2) assumimos que | A Bk, para 1 k < 1 < n. Consideremos a frmula Bi: 1. Bi axioma, 2. Bi , 3. Bi A, 4. Bi obtida pela aplicao do MP de duas frmulas Bj e Bm anteriores da

108

seqncia, onde Bm Bj Bi, j, m < i. Nos casos 2.1, 2.2, 2.3, o procedimento anlogo ao dos casos 1.1, 1.2 e 1.3, respectivamente, do item anterior. analisemos agora 2.4. Temos que: (hiptese de induo) i. | A Bj ii. | A (Bj Bi) (hiptese de induo) iii. | (A (Bj Bi)) ((A Bj) (A Bi)) (2) iv. | (A Bj) (A Bi) (ii, iii, Teorema 3) v. | A Bi (i, iv, Teorema 3) Logo, temos que | A Bi, 1 k n. Em particular, para k = n, temos que | A B. Lema 2. 1) A A, B C | A C 2) A (B C) | B (A C). 3) | A ((A B) B). Demonstrao: 1) A A, B C | A C 1. A B (hiptese) 2. B C (hiptese) 3. A (1, 3, MP) 4. C (2, 4, MP) Conclumos que A B, B C, A | C, donde, pelo Teorema da Deduo, advm que A B, B C | A C. 2) A (B C) | B (A C). 1. A (B C) (hiptese) 2. B (hiptese) 3. A (hiptese) 4. BC (1, 3, MP) 5. C (2, 4, MP) 0 (B C), B , A | C. 0 (B C) | B (A C) (Teorema da Deduo). 3) | A ((A B) B). 1. A (hiptese) 2. A B (hiptese) 3. B +(1, 2, MP) 0 | A ((A B) B) (Teorema da Deduo). 1) 2) 3) 4) 5) 6) Lema 3. Sejam A e B frmulas quaisquer de L. So teoremas: B B A (A B) (B A) (A B) (A B) (B A) A (B (A B)) (A B) ((A B) B)

109

1) 1. 2. 3. 4. 5. 6. 7. 8. 9.

Demonstrao: B B B B (B B) B B (B B) ((B B) B) (B B) B B B B B | B | B B

(hiptese) (1) (1, 2, MP) (1) (3, 4, MP) (Teorema 1) (5, 6, MP) (Teorema da Deduo). (hiptese) (hiptese) \(1) (2, 3, MP) (1) (1, 5, MP) (1) (4, 6, 7, MP) (2) (8, 9, MP) (Teorema da Deduo) (hiptese) (hiptese) (1) (2, 3, MP) (4, 5, MP) (5, 6, MP) (2) (7, 8, MP) (Teorema da Deduo) (hiptese) (hiptese) (2) (1, 3, MP) (1) (2, 5, MP) (4, 6, MP) (Teorema da Deduo) (hiptese)

2) A (A B) 1. A 2. A 3. A (B A) 4. B A 5. A (B A) 6. B A 7. (B A) ((B A) B) 8. B 9. B B 10. B 11. A (A B) 3) (B A) (A B) 1. B A 2. A 3. A (B A) 4. B A 5. (B A) ((B A) B) 6. (B A) B 7. B 8. B B 9. B 10. (B A) (A B) 4) (A B) (B A) 1. A B 2. B 3. (A B) ((A B) A) 4. (A B) A 5. B (A B) 6. A B 7. A 8. (A B) (B A) 5) A (B (A B)) 1. A

110

2. 3. 4. 5. 6.

B | A ((A B) B) | ((A B) (B (A B)) | A (B (A B)) | (A B)

(hiptese) (lema 2, item 3) (lema 3, item 4) (3, 4, lema 2, item 1) (1, 2, 5, MP) (hiptese) (hiptese) (lema 2.8.3, item 4) (1,2,MP) (4, 2, lema 2, item 1) (1) (1) (5, 6, MP) (Teorema 1) (7, 8, MP) (9, 10, MP)

6) (A B) ((A B) B) 1. A B 2. A B 3. | (A B) (B A) 4. | B A 5. | B B 6. (B B) ((B B) B) 7. (B B) B 8. | B B 9. | B 10. B B (2) 11. | B

Lema 4. Sejam A, B, C frmulas quaisquer. So teoremas: 1) A (C (A B)) 1. A (hiptese) 2. C (hiptese) 3. ((A B) A) (((A B) A) (A B)) (1) 4. A B A (1) 5. ((A B) A) (A B) (1.3, 1.4, MP) 6. A ((A B) A) (1) 7. (A B) A (1, 6, MP) 8. (A B) (5, 7, MP) 0 | A (C (A B)) (Teorema da Deduo) 2) A (C (A B)) 1. A 2. C 3. A (A B) 4. A B 0 | A (C (A B)) 3) B (C (A B)) 1. B 2. C 3. B (A B) 4. A B 0 | B (C (A B)) 4) (A B) A B 1. (A B) (hiptese) (hiptese) (1) (1, 3, MP) (Teorema da Deduo) (hiptese) (hiptese) (2) (1, 3, MP) (Teorema da Deduo) (hiptese)

111

2. 3. 4. 5. 6. 7. 8. 9.

AAB (A B) A A BAB (A B) B B A (B (A B)) (A B) 0 | (A B) A B

(1) (2, lema 2, item 4) (1, 3, MP) (2) (5, lema 2, item 4) (4.5, 4.6, MP) (3) (4, 7, 8, MP) (Teorema da Deduo)

5) A (A B) 1. A (hiptese) 2. ((A B) A) (((A B) A) (A B)) (1) 3. A ((A B) A) (1) 4. (A B) A (1, 3, MP) 5. (A B A) (A B) (2, 4, MP) 6. (A B) A (1) 7. (A B) (5, 6, MP) 0 | A (A B) (Teorema da Deduo) 6) B (A B) 1. B (hiptese) 2. (A B B) ((A B B) (A B)) (1) 3. B (A B B) (1) 4. A B B (1, 3, MP) 5. (A B B) (A B) (4, 2, MP) 6. A B B (2) 7. (A B) (5, 6,MP) 0 | B (A B) (Teorema da Deduo) 7) A B (A B) 1. A B (hiptese) 2. (A (A B)) ((B (A B)) ((A B) (A B))) (3) 3. | A (A B) (item 5 deste lema) 4. | B (A B) (item 6 deste lema) 5. (A B) (1, 2, 3, 4, MP) 0 | A B (A B) (Teorema da Deduo) 8) (A B) (A B) 1. A B (A B) 2. (A B) (A B) 3. A B (A B) 4. A B (A B) 1). (item 7 deste lema) (lema 3, item 4) (lema 3, item 1) (3, 2, lema 2, item

Teorema 5. Seja A uma frmula, cujas frmulas atmicas so A1, A2,..., Am. Seja (x1, x2, ..., xm) uma dada associao de valores-verdade de A1, A2, ...,

112

Am, respectivamente. Consideremos a seqncia de frmulas A1, A2, ..., Am, tal que Ai = Seja A = para a associao de valores-verdade considerada, . Nestas condies, afirmamos que A1, ..., Am | A. Demonstrao: Procedemos por induo no nmero n de ocorrncias dos conectivos em A. 1. n = 0. Neste caso, A constitui uma frmula atmica A1. Temos que
A1 1 0 A1 A1 A1 A A1 A1

Logo, temos que A1 A1 e A A1 no caso correspondente primeira associao, e A1 A1 e A A1 no caso da segunda. Em ambos os casos temos que A1 | A1 e A1 | A1, de modo bvio. 2. Suponhamos a proposio verdadeira para toda frmula que possua menos de n ocorrncias dos conectivos (n > 0). Seja (x1, ..., xm) uma associao de valores-verdade. Consideremos uma frmula A com n ocorrncias dos conectivos lgicos. Pela lei de formulao de frmulas, A s pode ser dos tipos 1 B, 2. B C, 3. B C ou 4. B C. Caso 1. A B Notemos, preliminarmente, que B possui exatamente n - 1 ocorrncias de conectivos e, portanto, podemos aplicar a hiptese da induo para B. Subcaso 1.1. B toma o valor 1 para a associao de valoresverdade considerada. Ento B B. Por outro lado, A toma o valor 0. Logo, A A (isto , B). Pela hiptese da induo, tem-se que B1, ..., Bm | B. Porm, pelo Lema 3, item 1, e Lema 2, advm que B1, ..., Bm | B. Mas B A. Logo, B1, ..., Bm | A. Subcaso 1.2. B toma o valor 0. Ento B = B e A = A, pois A toma o valor 1. Pela hiptese da induo, temos que B1, ..., Bm | B, ou seja, B1, ..., Bm | B,

113

Porm, B A. Logo, B1, ..., Bm | A. Caso 2. A B C. Notemos que a referida propriedade vlida para B e C (pois ambas possuem nmero de ocorrncias de conectivos estritamente menor que n). Assim, B1, ..., Bm | B e B1, ..., Bm | C. Subcaso 2.1. B e C toma valor 1. Ento B B, C C e A A. B1, ..., Bm | B e B1, ..., Bm | C. Pelo axioma (3) advm que | B (C (B C)). Por conseguinte, pelo Teorema 3, temos B1, ..., Bm | B C. Porm, B C A. Logo, B1, ..., Bm | A. Subcaso 2.2.2. B toma o valor-verdade 0 e C toma o valor 1. Ento B B, C C e A A. B1, ..., Bm | B e B1, ..., Bm | C. Pelo Lema 4, item 1, advm que | B (C (B C)). Da B1, ..., Bm | (B C) (Teorema 3). Porm, (B C) A. Logo, B1, ..., Bm | A. Subcaso 2.2.3. Para os caso em que B toma o valor 1 e C o valor 0, e B e C tomam ambos valor 0, a demonstrao semelhante do caso anterior. Caso 2.3. A B C Novamente, a propriedade vlida para B e C. Logo, B1, ..., Bm | B e B1, ..., Bm | C. Subcaso 2.3.1. B e C toma valor 1. Logo, B B, C C e A A. B1, ..., Bm | B e B1, ..., Bm | C. Pelo Lema 2.8.4, item 2, advm que | B (C (B C)). logo, pelo Teorema 3 , segue-se que B1, ..., Bm | B C. Porm, B C A. Portanto, B1, ..., Bm | A. Subcaso 2.3.2. quando B ou C toma valor 1, a demonstrao anlogo do subcaso anterior. Subcaso 2.3.3. B e C tomam valor 0. Logo, B B, C e A A. B1, ..., Bm | B e

114

B1, ..., Bm | C. Pelo Lema 2, item 4, advm que B, C | B C. Pelo Lema 2, item 8, segue-se que | (B C) (B C). Combinando os resultados anteriores, temos B1, ..., Bm | (B C). Porm (B C) A. Logo, B1, ..., Bm | A. Caso 2.4. A B C B e C possuem nmero de ocorrncias de conectivos estritamente menores que n. Logo, a propriedade vlida para B e C. B1, ..., Bm | B e B1, ..., Bm | C. Subcaso 2.4.1. B toma o valor 0. Logo , B B e A A. B1, ..., Bm | B Pelo Lema 3, item 2, advm que | B (B C). Logo, B1, ..., Bm | B C. Porm, B C A. assim, B1, ..., Bm | A. Subcaso 2.4.2. B toma valor 1 e C toma valor 0. Ento B B, C C e A A. B1, ..., Bm | B e B1, ..., Bm | C. Pelo Lema 3, item 5, temos que | B (C (B C)). Logo, B1, ..., Bm | (B C). Porm, (B C) A. assim, B1, ..., Bm | A. Subcaso 2.4.3. B e C tomam valor 1. Logo, B B, C C e A A. B1, ..., Bm | B B1, ..., Bm | C. Temos que C (B C) um axioma. Logo, B1, ..., Bm | B C. Porm B C A. assim, B1, ..., Bm | A. E o teorema est demonstrado. Exemplo 11. Suponhamos que a seja a frmula (A (B)):
(A (B)) 1 1 0 1 (A (B)) 1 0 1 0

A 1 1 0 0

B 1 0 1 0

(B) 0 1 0 1

115

Temos, ento: 1a linha: A, B | (A (B)) 2a linha: A, B | (A (B)) 3a linha: A, B | (A (B)) 4a linha: A, B | (A (B)). Exemplo 12. Suponhamos que a seja a frmula {A [(B) C]}
A 1 1 1 1 0 0 0 0 B 1 1 0 0 1 1 0 0 C 1 0 1 0 1 0 1 0 (B) 0 0 1 1 0 0 1 1 [(B) C] 0 0 1 0 0 0 1 0 {A [(B) C]} 0 0 1 0 1 1 1 1

Temos, ento: 1a linha: A, B, C | {A [(B) C]} 2a linha: A, B, C | {A [(B) C]} 3a linha: A, B, C | {A [(B) C]} 4a linha: A, B, C | {A [(B) C]} 5a linha: A, B, C | {A [(B) C]} 6a linha: A, B, C | {A [(B) C]} 7a linha: A, B, C | {A [(B) C]} 8a linha: A, B, C | {A [(B) C]} Exerccio 1. Aplique o teorema anterior para obter todas as dedues possveis: 1. {A [(B C) (A C)]} 2. {(B A) A} 3. {A [(B A) (A B)]} 4. [(B A) A] Teorema 6. (Teorema da Correo). Se A um teorema de L, ento A constitui uma tautologia de L. Demonstrao: Notemos, inicialmente, que todos os axiomas de L so tautologias. Se as premissas da regra de Modus Ponens so tautologias, ento ao concluso tambm uma tautologia. Logo, todo teorema uma tautologia. A recproca do ltimo teorema tambm vlida, e conhecida como o Teorema da Correo. Ela mostra-nos que o clculo proposicional completo. Existem muitas demonstraes deste teorema; a que apresentamos abaixo devida a L. Kalmr (1935). Teorema 7. (Teorema da Completeza). Se A uma tautologia de L,

116

ento a constitui um teorema de L. Demonstrao: Seja A uma tautologia. Sejam A1, A2, ..., An as frmulas atmicas componentes de A. Para cada associao de valores-verdade s componentes A1, A2, ..., An, respectivamente, temos que (utilizando as notaes do teorema anterior): A1, A2, ..., An | A (A A, pois A uma tautologia). Fixados os n - 1 primeiros valores-verdade da associao em questo, temos as seguintes possibilidades: 1. o valor-verdade de An 1. Ento A1, ..., An-1, An | A. 2. o valor-verdade de An 0. Ento A1, ..., An-1, An | A. Pelo Teorema da Deduo advm que A1, ..., An-1 | An A e A1, ..., An-1 | An A. Pelo Lema 2.8.3, item 6, Advm que | (An A) ((An A) A). Donde conclumos que A1, ..., An-1 | A Repetindo o raciocnio acima, aps n passos obtemos, ento: | A. Definio 9. O clculo proposicional diz-se consistente se no existirem teoremas ? A e ? (A). Definio 10. O clculo proposicional diz-se trivial se todas as suas frmulas forem teoremas. Em caso contrrio, o clculo proposicional diz-se no-trivial. Teorema 8. (Consistncia). O Clculo proposicional L consistente, isto , no existe frmula A tal que | A e | A. Demonstrao: Suponhamos, por absurdo, que uma tal frmula A exista. Ento, pelo Teorema 2.8.6., A e A so tautologias, o que impossvel. Finalmente, temos mais uma caracterizao para a consistncia de L. Teorema 9. O clculo proposicional L consistente se e somente se ele for no-trivial. Demonstrao: () Com efeito, se todas as frmulas forem teoremas, ento |A e | A para alguma frmula A, o que contraditrio. () Se L no for consistente, ento | A e | A para alguma frmula A. Pelo Lema 3, advm que 1. | A (A B) 2. | A 3. | A 4. | B (pelo Teorema 3). Logo, qualquer frmula B de L um Teorema, o que contraria a hiptese.

117

118

2 O CLCULO DE PREDICADOS
2.1 - Lgica e gramtica No clculo proposicional estudamos o raciocnio proposicional. Porm, apesar de importante, ela no consegue expressar sentenas elementares importantes tais como da aritmtica elementar. No h meios de simbolizar substantivos comuns ou prprios, adjetivos, pronomes, verbos, ou advrbios. Gostaramos de desenvolver uma linguagem formal que pudesse ser suficiente para expressar qualquer conjunto relevante de fatos sistemticos. Cuidaremos de cobrir algumas insuficincias da lgica proposicional, e para isso construiremos uma nova linguagem, mais rica definindo dois novos smbolos e novamente definindo frmula, deduo, etc. Abaixo citaremos um exemplo daquilo que a lgica proposicional no conseguiria tratar. Poderamos explicitar pela lgica proposicional a diferena entre as duas sentenas a seguir? A Todos so mortais. B Algum bondoso. Na lgica proposicional as duas sentenas acima seriam tratadas como unidades, isto , no teramos como decompo-las em sentenas menores ligadas pelos conectivos lgicos, da no poderamos falar da diferena entre estas duas sentenas na lgica proposicional. O que passamos a ver agora como formar novas sentenas a partir do tratamento de substantivos, adjetivos e predicados, mas antes faremos uma breve recordao de leituras de algumas sentenas fazendo uso de palavras como alguns, todos, existem, nem todos, no existem, etc. Tais palavras do as sentenas uma nova abrangncia, por exemplo: Existem cavalos com patas verdes. A sentena acima diz que existem cavalos com a propriedade de as
1

Esta linguagem ser naturalmente mais rica, no sentido de podermos nos referir e tratar explicitamente qualidades e relaes, introduzindo-se constantes individuais e variveis. As constantes para fazer referncia aos objetos de que se trata, e variveis para nos referirmos a objetos (de um conjunto determinado) no especificados.
2

Os substantivos, adjetivos e predicados mencionados so os gramaticais.

119

patas serem verdes; a idia elaborar uma linguagem que trate de sentenas como a do exemplo acima. Relembrando temos que as sentenas so constitudas, quase sempre, de dois termos, respectivamente a ) o ser (de quem ou de que se diz algo - sujeito) b ) aquilo que se diz (do ser - predicado). Em cada uma das sentenas abaixo o sujeito esta sublinhado e o restante da frase que no estiver sublinhado o predicado. a ) Pedro um rapaz dedicado ao trabalho. b ) 2 um nmero par. c ) As flores so perfumadas. d ) O homem um mamfero. e ) O mundo redondo. Apenas para termos um forma de representao, como foi feito no primeiro captulo, adotaremos uma representao para os sujeitos e predicados, esta representao ir ser reformulada de modo rigoroso logo aps esta introduo intuitiva. Representaro os predicados as letras maisculas latinas em itlico: A, B, B, D, ... P, ..., e os sujeitos sero representados por letras latinas minsculas em itlico: a, b, c, d, e, ..., p, q, ... . Para indicar que um sujeito sofre a ao do predicado utilizaremos ama notao especfica, vejamos alguns exemplos: 1. R ser redondo. t Terra. para indicarmos por R(t) a sentena A Terra redonda. 2. M ser mamfero. s Simba. para indicarmos por M(s) a sentena Simba um mamfero. 3. P ser perfumado. r rosa. para indicarmos por P(r) a sentena A rosa perfumada. 4. N ser um nmero par. q 4. para indicarmos por N(q) a sentena Quatro um nmero par. Vejamos um outro exemplo, no qual o universo do discurso o universo dos nmeros inteiros ..., -2, -1, 0, 1, 2, 3, ... : Todo nmero inteiro par divisvel por 2 Numa simbolizao utilizando, variveis fica: Para qualquer x, se x for um nmero inteiro par, x divisvel por 2.

120

Fazendo uso da simbolizao anterior: P ser um nmero inteiro par. D ser um divisvel por 2. Para qualquer x, (P(x) D(x)) Logo se introduzirmos se simbolizarmos: C ser coala. E comer folhas de eucalipto. poderamos representar a sentena Todo coala come folhas de eucalipto por: Para todo x, (C(x) E(x)) Acima utilizamos variveis, como os representados pela letra x, nos exemplos anteriores, aos que no esto acostumados faremos aqui alguns comentrios, tambm estes comentrios so de carter intuitivo. O uso de variveis ocorre como quando no queremos especificar o objeto em algum contexto, exemplificando: a ) Algum estudou aqui. b ) Ele foi para o Alasca. c ) Ningum estudou aqui. Em todos os exemplos anteriores o uso de pronomes indefinidos, no especifica quem sofre a ao do predicado, e em lugar de utilizar estes pronomes utilizaremos variveis, isto , diremos o seguinte: a ) x estudou aqui. b ) y foi para o Alasca. c ) z no estudou aqui. respectivamente. Representaremos as variveis por letras latinas minsculas em itlico, indexadas por nmeros naturais: x1, x2, x3, x4, ..., porm como esta notao muito carregada em geral quando no houver problemas de ambigidade utilizaremos apenas letras latinas em itlico, como por exemplo: x, y, z, w. O uso de variveis encerra problemas bem mais complexos mas estes sero tratados posteriormente, neste momento estamos preocupados apenas em introduzir leituras de sentenas pelo uso destes smbolos. Aprenderemos a ler e a simbolizar por meio de exemplos, utilizaremos ainda os seguintes smbolos: - smbolo de quantificao universal; leia-se para todo, todo. - smbolo de quantificao existencial; leia-se algum, existe.

121

Vamos simbolizar os exemplos anteriores com o uso destes novos smbolos: Todo nmero inteiro par divisvel por 2 P ser um nmero inteiro par. D ser um divisvel por 2. ( x)(P(x) D(x)) Todo coala come folhas de eucalipto C ser coala. E comer folhas de eucalipto. ( x)(C(x) E(x)) Algum estudou aqui. E estudar aqui. (x)(E(x)) Ele foi para o Alasca I ir para o Alasca. (x)(I(x)) Ningum estuda aqui A estudar aqui. ( x)(A(x)) Nem todo co manso C ser co. M ser manso. (x)[C(x)((M(x)))] Exemplo 1. Exemplos de leituras de sentenas com quantificadores, a seguir tero especificados, cada um, o seu domnio do discurso. O domnio do discurso o universo dos nmeros naturais. Predicados e Constantes A(x) x divisvel por 2. B(x) x divisvel por 3. Cabe observar que nos predicados fizemos uso das constantes 2 e 3 do universo dos nmeros naturais.

122

Proposies (x)(A(x)) (x)(A(x)) (x)(A(x))

Traduo Existe um nmero natural divisvel por 2. Existe um nmero natural que no divisvel por 2. Todo nmero natural divisvel por 2.

[((x)(A(x))] No verdade que todo nmero natural seja divisvel por 2. (x)(A(x)) Todo nmero natural no divisvel por 2.ouNenhum nmero natural divisvel por 2.ouNo existe nmero natural divisvel por 2.

(x)(A(x) B(x)) Existe um nmero natural divisvel por 2 e divisvel por 3. (x)(A(x) B(y)) Existe um nmero natural divisvel por 2 ou divisvel por 3.

O domnio do discurso o universo dos nmeros naturais. Predicados e Constantes A(x, y) x maior que y. B(x, 100) x maior que 100.
Proposies Traduo

($x)($y)(A(x, y)) Existem alguns nmeros naturais maiores que alguns nmeros naturais. ($x)("y)(A(x, y)) Existem alguns nmeros maiores que qualquer nmero natural. ("x)($y)(A(x, y)) Qualquer nmero natural maior que algum nmero natural. ("x)("y)(A(x, y)) Todo nmero natural maior que qualquer nmero natural. ($x)(B(x, 100)) Algum nmero natural maior que 100. ("x)(B(x, 100)) Todo nmero natural maior que 100. Qualquer nmero natural no mai or que 100.ouNo exi ste nmero ("x)(B(x, 100)) natural maior que 100.

O domnio do discurso o universo dos pontos da geometria euclidiana. Predicados A(x, y, z) x est entre y e z.
Proposies (y)(z)(x)(A(x, y, z)) Traduo Existem dois pontos tais que todo ponto est entre eles. (y)(z)(x)(A(x, y, z)) Dados dois pontos quaisquer, existe um ponto entre eles.

O domnio do discurso o universo dos nmeros reais. Predicados e Constantes A(x1 , x, y, z) x1 a soma de x, y e z. B(x1 , x, 1, 2) x1 a soma de x, 1 e 2.

123

Proposies

Traduo

Dados trs nmeros reais, existe um nmero real que (x)(y)(z)(x1)(A(x1, x, y, z)) a soma deles. Existem trs nmeros reais cujo resultado da soma (x)(y)(z)(x1)(A(x1, x, y, z)) qualquer valor real. Para todo nmero real somado com 1 e 2, existe um (x)(x1)( B(x1 , x, 1, 2)) nmero real que o resultado desta soma.

O domnio do discurso o universo dos seres vivos. Predicados e Constantes A(x) x um velocista. B(x) x veloz. C(x) x to rpido quanto uma tartaruga.
Proposies (x)(A(x) B(x)) (x)(A(x) B(x)) (x)[A(x) (B(x))] (x)[A(x) (B(x))] Traduo Todos que so ciclistas so velozes.OuTodo ciclista veloz. Todos so ciclistas e todos so velozes Existem seres que so ciclistas e seres que no so velozes. Existem seres que so ciclistas e que no so velozes

O domnio do discurso o universo dos seres vivos. Predicados e Constantes A(x) x um animal. B(x) x um mamfero. C(x) x um homem.
Proposies 1. [ (x)(C(x) B(x) ) (x)(B(x) A(x) ) ] [ (x)(C(x) A(x) ) ]

Respectiva Traduo 1. Se todos os homens so mamferos e todos os mamferos so animais ento todo homem animal. No prximo tpico deste captulo, assim como fizemos na lgica proposicional, daremos um tratamento formalizado da lgica quantificacional, ou como mais conhecido, da lgica de predicados.

124

Exerccio 1. Traduza em smbolos, para isso, em cada bloco de sentenas, simbolize os predicados, as constantes e as variveis, e depois rescreva a sentena toda utilizando estes smbolos. 1. Todos so felizes. 2. Algumas pessoas felizes. 3. Nenhuma pessoa infeliz. 4. Joo no feliz. 5. Carlos e Carolina so felizes. Exerccio 2. Idem. Alguns animais so carnvoros. Alguns animais no so carnvoros. Todos os animais so carnvoros. Nem todos os animais so carnvoros. Nenhum animal carnvoro. Simba um animal carnvoro. Exerccio 3. Idem. No existem insetos que voem. Nem todos os insetos voam. Todas as moscas voam. Algumas moscas no voam. No existem moscas que voam. No existem moscas que no voam. Nenhuma barata voa. Nem toda barata no voa. Exerccio 4. Idem. Romeu ama Julieta. dipo ama Jocasta. Todos amam Maria. Maria no ama ningum Romeu ama Maria e Romeu no ama Julieta. Todos amam Romeu mas ele no ama ningum. Jane ama Tarzan que tambm ama Jane. Exerccio 5. Idem. Ana irm de Jos. Maria irm de Ana. Pedro pai de Ana. Pedro pai de Maria e de Jos. Ana irm de Jos e Maria irm de Ana ento Maria irm de Jos.

1. 2. 3. 4. 5. 6.

1. 2. 3. 4. 5. 6. 7. 8.

1. 2. 3. 4. 5. 6. 7.

1. 2. 3. 4. 5.

125

6. 7. 8. 9.

Tarso irmo de Pedro e tio de Ana. Tarso irmo de Pedro ento tio de Jos. Tarso tio de Maria. Tarso tio de Maria e Ana que so irms de Jos logo Tarso tio de Jos.

Exerccio 6. Idem. Todo animal mortal. Todo mamfero um animal. Alguns mamferos no so animais. Todo homem mamfero. Alguns homens no so mamferos. Nenhum homem animal Nem todo homem mortal Alguns homens so mortais. Existem homens que so mamferos mas no so animais e portanto so mortais. 10. No existem homens imortais. 11. Nenhum animal imortal. 1. 2. 3. 4. 5. 6. 7. 8. 9.

2.2 - Um sistema formal para a lgica de predicados Apresentamos neste pargrafo um estudo formal da lgica de predicados. Vamos iniciar estabelecendo o vocabulrio da linguagem de predicados. Esse vocabulrio consiste dos seguintes grupos de smbolos: 1.Variveis individuais: x1, x2 , .... 2. Constantes individuais: c1, c2 , ... 3. Smbolos funcionais: fnm , n, m = 1, 2, 3, ... 4. Smbolos predicativos: pnm , n, m = 1, 2, 3, ... 5. Conectivos lgicos: , , , . 6. Quantificadores: , . 7. Smbolos auxiliares: parntesis e vrgula. Estabelecido o vocabulrio da linguagem, passamos ao estudo da gramtica. Definio 1. (Expresso) Uma expresso qualquer seqncia finita de smbolos do vocabulrio. Exemplo 1. So exemplos de expresses : 1. x1(, 2. x1 p12(x1) 3. x1(

126

Intuitivamente, percebemos que as expresses 1 e 3 do exemplo anterior so destitudas de sentido, ao passo que a expresso 2 quer dizer algo. Desse modo, podemos perceber a necessidade de caracterizar as expresses que sero de utilidade para o discurso lgico. Definio 2. (Termo) O conceito de termo definido de modo recursivo, como se segue: 1. Variveis individuais so termos. 2. Constantes individuais so termos. 3. Se t1, ... ,tm so termos e fnm um smbolo funcional m-rio, ento fnm(t1, ... , tm) um termo. 4. Clusula Maximal : Uma dada expresso constitui um termo se, e somente se, foi obtida a partir de uma das regras (1 a 3) acima. Exemplo 2. So exemplos de termos: 1. c1 2. f12(x1) 3. x101 Definio 3 (Frmula). O conceito de frmula definido de modo recursivo, como se segue 1. Se t1 , ... , tm so termos e pnm um smbolo predicativo m-rio, ento pnm(t1 , ... , tm) uma frmula (dita atmica). 2. Se A e B so frmulas quaisquer, ento (A), (A B), (A B) e (A B) so frmulas. 3. Se x uma varivel individual e A uma frmula, ento, ( x)A e (x)A so frmulas. 4. Clusula Maximal : Uma dada expresso constitui uma frmula, se, e somente se, foi obtida a partir de uma das regras (1 a 3) acima. Dada uma expresso A, a expresso (A) chama-se a negao de A. Se A e B so expresses, (A B) chama-se a conjuno de A e B; (A B) chama-se a disjuno de A e B; (A B) chama-se a implicao de B por A; (A B) chama-se a bi-implicao de A e B; Dada uma varivel individual x e uma frmula A, a expresso ( x)A chama-se a generalizao de A por x e (x)A chama-se a instanciao de A por x. Exemplo 3. So exemplos de frmulas: 1) {[p11(x1) p23(c1, x4 , x2)] ( x1)((x2)p23(c1, c4 , x2))}.

127

Para ficar um pouco mais didtico, enumeramos em coluna: 1. 2. 3. 4. 5. 6. 7. (p11(x1), (atmica) p23(c1, x4 , x2), (atmica) (atmica) p23(c1, c4 , x2), [p11(x1) p23(c1, x4 , x2)], (1, 3, disjuno) (x2)p23(c1, c4 , x2), (instanciao de 4 por x2) ( x1)((x2)p23(c1, c4 , x2)), (generalizao de 5 por x1) {[p11(x1) p23(c1, x4 , x2)] ( x1)((x2)p23(c1, c4 , x2))} (4, 6, implicao).

De modo bvio possui a seguinte rvore de decomposio: {[p11(x1) p23(c1, x4 , x2)] ( x1)((x2)p23(c1, c4 , x2))} [p11(x1) p23(c1, x4 , x2)] ( x1)((x2)p23(c1, c4 , x2))} p11(x1) p23(c1, x4 , x2) (x2)p23(c1, c4 , x2) p23(c1, c4 , x2) Sejam A p12(x, y), B p23(c1 ,c4 ,x2) e C p13(x1 , y1 , c1) frmulas atmicas. So exemplos de frmulas: 2) ((A B) C). 1. A 2. B 3. C 4. (A B) 5. ((A B) C))

(atmica) (atmica) (atmica) (1, 2, disjuno) (4, 3, conjuno)

De modo bvio possui a seguinte rvore de decomposio: ((A B) C) (A B) A B

3) p33(x1 , y2 , z1)

128

Observao: Tendo em vista uma maior facilidade na leitura, doravante utilizaremos uma notao simplificada para as variveis individuais, smbolos predicativos e smbolos funcionais. Por motivos bvios, nossa escolha recair sobre smbolos tradicionalmente utilizados na matemtica. Assim , as variveis individuais sero indicadas por x, y, z, w, ... os smbolos predicativos, por p, q, r, ... e os smbolos funcionais, por f, g, h, ... Definio 4 (Subfrmula). Seja A uma frmula. 1. Se A uma frmula atmica p(t1, ... , tn), ento p(t1 ,... , tn) uma subfrmula de A. 2. Se A do tipo B, ento B uma subfrmula de A. 3. Se A do tipo B C, ento B e C so subfrmulas de A. 4. Se A do tipo B C, ento B e C so subfrmulas de A. 5. Se A do tipo B C, ento B e C so subfrmulas de A. 6. Se A do tipo xB, ento B subfrmula de A. 7. Se A do tipo xB, ento B subfrmula de A. 8. Se B subfrmula de A e C subfrmula de B, ento C subfrmula de A. 9. As nicas subfrmulas de A so definidas pelas regras (1 a 8) acima, alm da prpria frmula A. Exemplo 4. Na frmula xy(p(x) z(q(z) p(z))) temos as seguintes sub-frmulas: 1. xy(p(x) z(q(z) p(z))) 2. y(p(x) z(q(z) p(z))) 3. (p(x) z(q(z) p(z))) 4. p(x) 5. p(x) 6. z(q(z) p(z)) 7. (q(z) p(z)) 8. q(z) 9. p(z) 10. p(z). Definio 5 (Escopo de quantificadores). Se x uma varivel individual e A uma frmula, definimos o escopo do quantificador x, na frmula xA, como sendo a frmula A. Analogamente, o escopo do quantificador x, na frmula xA, a frmula A. Exemplo 5. So exemplos de escopos : 1. (p(x) q(x)) o escopo de x, na frmula x(p(x) q(x)) 2. q(x) o escopo de x, na frmula p(x) y q(x) Definio 6 (Varivel livre e ligada). Dizemos que a ocorrncia de

129

uma varivel individual x livre em uma frmula A, se essa ocorrncia de x no se d no escopo de um quantificador ( x ou x) em uma subfrmula de A (do tipo xB ou xB). Caso contrrio, dizemos que a ocorrncia dessa varivel x ligada. Exemplo 6. So exemplos de ocorrncias de variveis livres e ligadas: 1. Na frmula x(p(x) q(y)), x ocorre ligada e y ocorre livre. 2. Na frmula q(x) yp(y) zq(y), x ocorre livre, a primeira ocorrncia de y ligada e a segunda ocorrncia de y livre. 3. Na frmula p(x) xq(x), a primeira ocorrncia de x livre e a segunda ligada. Definio 7 (Termo livre para uma varivel). Dizemos que um termo t livre para a varivel x em uma frmula A, se nenhuma ocorrncia livre de x est no escopo de um quantificador ( y ou y), onde y uma varivel que ocorre em t. Exemplo 7. Sejam t1 o termo x, t2 o termo y , t3 o termo f(x, y, z) e as frmulas A : z(p(z) q(x)) xr(w), B : p(x) x(r(x) q(z)) e C : y(p(y) q(y)). Neste caso, t2 livre para x em A , pois ao substituirmos t2 nas ocorrncias livres de x na frmula A, a varivel y no se torna ligada. Mas t3 no livre para w em A, pois ao substituir as ocorrncias livres de w na frmula A, pelo termo t3, a varivel x, presente no termo t3 , se torna ligada. Observamos tambm que o termo t1 livre para y em C, pois y no possui ocorrncias livres em C. Notao: Seja A uma frmula, x uma varivel e t um termo livre para x em A. Denotaremos por Ax [t] , a frmula obtida a partir de A, pela substituio da varivel x por t . 2.3 - Estrutura dedutiva A, B e C so frmulas, x uma varivel, A(x) uma frmula, t um termo que livre para x em A(x) e A(t) a frmula obtida a partir de A(x), substituindo-se as ocorrncias livres de x por t. (1) [A (B A)] (2) {[A (B C)] [(A B) (A C)]} (1) [(A B) A] (2) [(A B) B] (3) {A [B (A B)]} (1) [A (A B)]

130

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

[B (A B)] {(A C) [(B C) [(A B) C]]} {(A B) [[A (B)] (A)]} [((A)) A]

(MP) (Modus Ponens) (1) Ax [t]xA ( 2) xAAx [t] E, agora, apresentamos as Regras de Inferncia. Seja A uma frmula, x uma varivel, t um termo livre para x em A e C uma frmula que no possui ocorrncias livres de x. R1 R2 R3 A,(AB) B (CA) C( Ax) A) (AC ) ((x) AC)

Regras derivadas. As seguintes regras so sumamente importantes e teis: Seja A uma frmula. R4 De ( x)A podemos derivar ((x)(A)). De ((x)(A)) podemos derivar ( x)A. R5 R6 R7 R8 R9 De ( x)(A) podemos derivar ((x)A). De ((x)A) podemos derivar ( x)(A). De ( y)( x)A podemos derivar ( x)( y)A. De (x)A podemos derivar (( x)(A)). De (( x)(A)) podemos derivar (x)A. De (x)(A) podemos derivar (( x)A). De (( x)A) podemos derivar (x)(A). De (y)(x)A podemos derivar (x)(y)A.

131

R10

De (y)( x)A podemos derivar ( x)(y)A.

Sejam A e B frmulas. R11 R12 R13 R14 R15 De ( x)(A B) podemos derivar [( x)A ( x)B]. De [( x)A ( x)B] podemos derivar ( x)(A B). De (x)(A B) podemos derivar [(x)A (x)B]. De [(x)A (x)B] podemos derivar (x)(A B). De ( x)(A B) podemos derivar [( x)A ( x)B]. De (x)(A B) podemos derivar [(x)A (x)B]. De [( x)A ( x)B] podemos derivar ( x)(A B).

Se A e B so frmulas e x no livre em A. Temos: R16 R17 R18 R19 R20 R21 R20 R21 De ( x)(A B) podemos derivar (A ( x)B). De (A ( x)B) podemos derivar [( x)A ( x)B). De (x)(A B) podemos derivar (A (x)B). De (A (x)B) podemos derivar (x)(A B). De ( x)(A B) podemos derivar (A ( x)B). De (A ( x)B) podemos derivar ( x)(A B). De (x)(A B) podemos derivar (A (x)B). De (A (x)B) podemos derivar (x)(A B). De ( x)(A B) podemos derivar (A ( x)B). De (A ( x)B) podemos derivar ( x)(A B). De (x)(A B) podemos derivar (A (x)B). De (A (x)B) podemos derivar (x)(A B). De ( x)(A B) podemos derivar (x)(A B). De (x)(A B) podemos derivar ( x)(A B). De (x)(A B) podemos derivar ( x)(A B). De (( x)(A B) podemos derivar (x)(A B). Definio 8 (Premissa, Conseqncia Imediata). Nas regras de

132

inferncia, acima, as frmulas acima da linha so chamadas de premissas para aplicao das regras de inferncia, e a frmula abaixo da linha chamada de conseqncia imediata das premissas. Definio 9 (Deduo). Seja um conjunto de frmulas onde no compaream axiomas, e A uma frmula. Uma deduo de A a partir de uma seqncia de frmulas A1, A2, ... An-1, An, tal que para todo i, 1 i n a ) ou Ai , b ) ou Ai um axioma, c ) ou Ai conseqncia imediata da frmulas anteriores da seqncia pela aplicao de uma das regras R1, R2 ou R3. d ) An = A Notao. Usamos a notao A para indicar que existe uma deduo de A a partir de um conjunto de frmulas. Observao. chamada de conjunto de premissas para a deduo. Assim, se uma frmula B pertence , diremos que B uma premissa se B comparecer a uma dada deduo. Definio 10 (Teorema). Se A uma deduo a partir de um conjunto vazio de frmulas ( = ) diremos que A um teorema da lgica de predicados, e indicaremos este fato por A. Definio 11 (Dependncia). Seja (A1, A2, ... , An) uma deduo de A a partir de , e P uma premissa (isto , P ). Diremos que Ai (para todo i, 1 i n ) depende de P se: a ) Ai a prpria frmula P, b ) Ai conseqncia imediata de frmulas que dependem de P, c ) Ai depende de P, somente como requerido pelas clusulas anteriores. Definio 12 (Variao). Seja (A1, A2, ... , An) uma deduo de A a partir de , dizemos que uma varivel x variada em uma certa deduo para uma premissa P se x ocorre livre em P, e alguma das frmulas Ai (para todo i, 1 i n ) na dada deduo conseqncia imediata de frmulas que dependem de P pela aplicao da regra R.2 ou da regra R.3 com respeito a varivel x. Notao: Se em uma dada deduo de A a partir de uma varivel x foi variada indicaremos esse fato por xA. Para apresentar uma deduo na prtica adotaremos um procedimento que consiste na construo de uma tabela com quatro colunas, assim indicada. Numerao da linha da deduo Passos da deduo Justificativa de

133

cada passo da deduo

Dependncia em relao a uma premissa

Esperamos por meio de exemplos elucidar este procedimento. Exemplo 1. Sejam x e y variveis, A e C frmulas tais que: a ) y livre para x em A, b ) y no ocorre livre em A, c ) C uma frmula que no possui ocorrncias livres de y. nessas condies, seja = { CAx[y]} o conjunto das premissas ( neste exemplo, um conjunto unitrio) ento afirmamos que y C Ax[y]. Vamos agora exibir uma deduo de C Ax[y] a partir de , vale a pena observarmos que a deduo no nica. Respeitando a formao da tabela Numerao da linha da deduo Passos da deduo Justificativa de cada passo da deduo Dependncia em relao a uma premissa temos a seguinte deduo: 1 2 3 4 5 Deduo Justificativa yAx[y] A Ax.12. yAx[y] xA 1, R2. C Ax[y] Premissa y C yAx[y] 3, R2. (yAx[y] xA) [C ( yAx[y] xA)] Ax.1. 6 C( yAx[y] xA) 2, 5, R1. 7 (C yAx[y])([C ( yAx[y] xA)](C xA) Ax.2. 8 y [C ( yAx[y] xA)] (C xA) 4, 7, R1. 9 y C xA. 6, 8, R1. 1 yAx[y] A yAx[y] Ax.12. xA 1, R2. Dependncia {3} {3} {3} {3}

Vamos algumas explicaes:

nesta linha apenas aplicamos o axioma 12. 2

nesta linha a justificativa diz que aplicamos a regra R2 na frmula da linha 1 para obtermos a frmula da linha 2. 3 C Ax[y] Premissa {3}

134

O passo da deduo contida na linha 3 nada mais do que a premissa, na coluna de Dependncia encontramos {3}, isto pois, se a frmula da linha 3 for uma premissa repetiremos o nmero da linha em que esta se encontra. 4
y

C yAx[y]

3, R2.

{3}

No passo da deduo desta linha a ocorrncia da varivel y em y indica que a regra R2 foi aplicada em uma frmula (CAx[y]) que depende de uma premissa (no caso dela prpria) e com respeito a varivel y (por causa da quantificao y) A justificativa desta linha diz que aplicamos a regra R2 na frmula da linha 3 para obter a frmula da linha 4. Novamente na coluna de Dependncia encontramos {3} isto pois a frmula da linha 4 conseqncia imediata da uma frmula que depende da premissa. 5 ( yAx[y] xA) [C ( yAx[y] xA)] C yAx[y] xA) 2, 5, R1. Ax.1.

Apenas aplicamos o axioma um. 6

Modus Ponens 7 Ax.2. (C yAx[y]) ([C ( yAx[y] xA)] (C xA)

Aplicao do axioma dois. 8 {3}


y

[C ( yAx[y] xA)] (C xA)

4, 7, R1.

Neste passo da deduo a varivel y continua ocorrendo em y pois a deduo da linha 8 dependeu da deduo feita na linha 4, onde a varivel y foi vaiada. 9
y

C xA.

6, 8, R1.

{3}

Observao. Observe que na linha 2 quando aplicamos a regra R2 com respeito a varivel x no aparece x , assim como foi feito para a varivel y, isto porque a frmula na qual foi aplicada a regra R2 no dependia de nenhuma premissa; j que era um axioma. Uma outra questo a seguinte. A regra 1 necessita de duas premissas. Na linha 8, aplicamos a regra 1, tendo como premissas as frmulas da linha 4 e da linha 7. Como vemos na quarta coluna, a frmula da linha 4, de fato, depende de uma premissa mas a frmula da linha 7 no depende de premissa alguma. No entanto, vemos que a conseqncia imediata da aplicao dessa

135

regra, a saber, a frmula da linha 9, manteve a dependncia com a premissa. correto o raciocnio? A resposta afirmativa. Passaremos, agora, a um dos mais importantes resultados deste captulo que certamente facilitar muito o trabalho de deduzir frmulas a partir de premissas. Trata-se do Teorema da Deduo, que enunciaremos sem demonstrao. Teorema 6 (da Deduo): Seja A e B frmulas e um conjunto de frmulas. Se , A B (isto ser uma abreviao para {A} B), de maneira que na deduo no haja aplicaes da regra R2 ou R3 sobre que dependem da premissa A, com respeito s variveis livres de A, ento A B. Quando for conveniente, poderemos explicitar as frmulas de assim, ao invs de P R, podemos escrever, P Q, Q R P R 1 2 3 4 5 6 Deduo , P PQ , P P , P Q , P QR , P R , P PR Justificativa Dependncia premissa {1} premissa {2} 2, 5, R1. {1, 2} premissa {4} 2, 5, R1. {1, 2, 4} 5, T.D. {1, 4}

Faamos duas importantes observaes: neste exemplo, no precisamos nos preocupar com a restrio quanto variao da varivel, pois na deduo no foi utilizada a regra R2 nem a regra R3; aplicamos o Teorema da Deduo na linha 5, onde podemos ver que na deduo auxiliar , P R, a dependncia das premissas P Q, P e Q R, presentes nas linhas 1, 2 e 4. Entretanto, aps o uso do Teorema na deduo, P R, no h mais dependncia da premissa P (dizemos que a premissa P foi descartada na deduo P R). Exemplo 2. Sejam x e y variveis, A e C frmulas tais que: a y livre para x em A; b y no ocorre livre em A; a C no possui ocorrncias livres de y. Mostraremos que (C Ax[y]) (CAx[y]), (observe que = )

136

Deduo 1 C Ax[y] yAx[y] A 2 2 C Ax[y] yAx[y] xA 3 (C Ax[y]) [ yAx[y] xA]

Justificativa Dependncia Ax.12. 1, R2. 2 , T.D. -

Aqui aplicamos a regra R2, mas no sobre frmulas que dependam da premissa descartada (CAx[y]) Como ltimo exemplo, vamos mostrar uma utilizao indevida do Teorema da Deduo. Seja A uma frmula que possua ocorrncias livres da varivel x e C uma sentena. Estaria correta a seguinte deduo? Deduo CA CA C A C xA (C A) [C xA] Justificativa Premissa 1, R2. 2 , T.D. Dependncia {1} {1} -

1 2 3

Na linha 2 no poderamos ter usado o teorema da deduo (T.D.), pois houve uma aplicao da regra R2 em uma frmula que dependia de (C A). O Teorema da Deduo o principal exemplo das chamadas regras derivadas. As regras derivadas so dedues auxiliares j demonstradas que podem ser utilizadas em uma outra deduo com o objetivo de simplificla. Em uma linguagem computacional, poderamos dizer que as regras derivadas funcionam como sub-rotinas dentro de um programa. A seguir, veremos algumas regras derivadas bsicas: Mais Regras Derivadas Apresentaremos ao todo doze regras, para as regras D1, D2, D3, ..., D9,, vale o seguinte: A, B, C, so frmulas e um conjunto de frmulas. D1) A, A B 1 2 3 B. A AB B Justificativa premissa premissa 1, 2, R1. Dependncia {1} {2} {1, 2} Deduo A, A B A, A B A, A B

D2) A, B A B. 1 2 3 4 Deduo A, B A (B (A B)) A, B A A, B B (A B) A, B B Justificativa Dependncia Ax.3. premissa {2} 1, 2, R1. {2} premissa {4}

137

A, B

AB A.

3, 4, R1. Justificativa Ax.4. premissa 1, 2, R1. Justificativa Ax.5. premissa 1, 2, R1. Justificativa Ax.6. premissa 1, 2, R1.

{2, 4}

D3) A B 1 2 3

Deduo A B (A B) A AB AB AB A

Dependncia {2} {2}

D4) A B B. 1 2 3 Deduo A B (A B) B AB AB AB B Dependncia {2} {2}

D5) A A B. 1 2 3 Deduo A AAB A A A A B. Dependncia {2} {2}

D6) A B A. Anlogo ao D5). D7) A A. 1 2 3 Deduo A A A A A A A. Justificativa Ax.10. premissa 1, 2, R1. Dependncia {2} {2}

D8) Se , A C e , B C ento , A B C. Deduo 1 , A C 2 AC 3 (A C) [(B C) (A B C)] 4 (B C) (A B C) 5 , B C 6 BC 7 A B C 8 , A B A B C Justificativa hiptese 1, T.D. Ax.8. 2, 3, R1. hiptese 5, T.D. 4, 6, R1. 7 Dependncia -

138

9 , A B 10 , A B

AB C

premissa 8, 9, R1.

{9} {9}

D9) Se , A B e , A B ento A. 1 2 3 4 5 6 7 Deduo , A B AB (A B) [(A B) A] (A B) A , A B A B A Justificativa Dependncia hiptese 1, T.D. Ax.9. 2, 3, R1. hiptese 5, T.D. 4, 6, R1. -

Para as regras D10, D11 e D12, x uma varivel, P uma frmula e t um termo livre para x em P, e seja D um axioma qualquer que no possua ocorrncias livres de x. D10) P 1 2 3 4 5 6 D11) 1 2 3
x

xP. Justificativa Ax.1. premissa 1, 2, R1. 3, R2. um axioma 4, 5, R1. Justificativa Ax.12. premissa 1, 2, R1. Dependncia {2} {2} {2} {2}

Deduo P P (D P) P P P D P. P x D xP P D P x xP. xP
x

Px[k]. Dependncia {2} {2}

Deduo xP xP Px[k]. xP xP xP xPx[t]. xP.

D12) Px[t] 1 2 3

Deduo Justificativa Dependncia Px[t] Px[t].premissa {1} Px[t] Px[t]xP Ax.11. Px[t] xP. 1, 2, R1. {1} Convidamos o leitor a encontrar as seguintes dedues:

D13) PQ D14) PQ

xP xQ. xPxQ.

139

2.4 - Semntica At agora estudamos o que se chama sintaxe da linguagem (de predicados). Ela um puro jogo simblico. Entretanto, toda linguagem se refere a objetos ou estados de coisas. A semntica da linguagem trata precisamente das interconexes entre a mesma e aquilo a que ela se refere. Este por sua vez so certos contrutos conjuntistas que o denominamos estruturas. Tais estruturas podem refletir certos aspectos relevantes de pores da realidade. Uma esquematizao simplificada como abaixo:

Modelos (abstratos)

Linguagem Artificiais

Poro da Realidade

Logo, interpretar uma linguagem , em ltima anlise, relacion-lo com uma certa estrutura (conjuntista). Definio 1. Uma estrutura E para uma linguagem L consiste dos seguintes objetos: 1. Um conjunto no-vazio D, denominado o universo de E. Os seus elementos chamam-se indivduos de E. 2. Para cada smbolo funcional n-rio f, uma operao n-ria fE de D em D. 3. Para cada smbolo predicativo n-rio p, uma relao n-ria pE sobre D. 4. Para cada constante individual c, um indivduo cE de D. Seja E uma estrutura para L. Para cada indivduo a de E escolhemos uma nova constante, denominada o nome de a. Convenciona-se que diferentes nomes so escolhidos para diferentes indivduos. A nova linguagem acrescida dos nomes de indivduos de E chama-se linguagem diagrama de L e a denotamos por L(E). Usamos i e j como meta-variveis para nomes. Uma expresso diz-se livre de variveis se no contiver variveis individuais. Definimos agora um indivduo E(a) de E para cada termo a livre

140

de variveis de L(E). Se a um nome, E(a) o prprio indivduo do qual a seu nome. Se a no um nome, a da forma f(a1, ... , an) (dado que a livre de variveis), onde f um smbolo funcional de L. Pomos E(a) = fE(E(a1), ... , E(an)). Uma frmula fechada A uma frmula que no possui variveis livres. Isto quer dizer que A possui um s significado. Definimos o valor-verdade V(A) de uma frmula A de cada frmula fechada A de L(E). Se A a = b, ento V(A) = 1 E(a) = E(b). Se A p(a1, ... , an), ento V(A) = 1 pE(E(a1), ... , E(an)).3 Se A (B), ento V(A) = 1 V(B) = 0. Se A (B C), ento V(A) = 1 V(B) = 1 e V(C) = 1. Se A (B C), ento V(A) = 1 V(B) = 1 ou V(C) = 1. Se A (B C), ento V(A) = 1 V(B) = 0 ou V(C) = 1. Se A ( x)B, ento V(A) = 1 V(Bx[i]) = 1 para todo i (em L(E)). Se A (x)B, ento V(A) = 1 V(Bx[i]) = 1 para algum i (em L(E)). Definio 2 (Conseqncia semntica). Seja um conjunto de frmulas e A uma frmula. Diz-se que A conseqncia semntica de se para toda interpretao E temos que V(A) = 1, sempre que V(B) =1, qualquer que seja B . Neste caso, simbolizamos por ? A. No caso de = , escreve-se ? A e A chama-se frmula logicamente vlida ou, simplesmente, frmula vlida. Teorema 1. Se A uma tautologia, ento ? A. O seguinte teorema mostra que se existe uma deduo de A a partir de , ento A conseqncia semntica de . Tal teorema nos mostra que o clculo de predicados correto. Teorema 2 (da Correo). Se ? A, ento ? A. Exerccio 1. Mostre que as seguintes frmulas so logicamente vlidas. [A (B A)] {[A (B C)] [(A B) (A C)]} [(A B) A] [(A B) B] {A [B (A B)]} [A (A B)]

1. 2. 3. 4. 5. 6.
3

pE(E(a1), ... , E(an)) indica que (E(a1), ... , E(an)) pE

141

7. 8. 9. 10. 11. 12.

[B (A B)] {(A C) [(B C) [(A B) C]]} {(A B) [[A (B)] (A)]} [((A)) A] Ax [t]xA xAAx[t] Passemos questo da completeza do clculo de predicados. Esta questo consiste em analisar se uma frmula A conseqncia semntica de , ento h uma deduo de A a partir de . A resposta afirmativa e conhecida como teorema da completeza do clculo de predicados.

Definio 3 (Conjunto inconsistente de frmulas). Um conjunto de frmulas diz-se inconsistente se existir uma frmula A tal que A e (A). Caso contrrio, diz-se consistente. Definio 4 (Conjunto trivial de frmulas). Um conjunto de frmulas diz-se trivial A, para qualquer frmula A. Caso contrrio, diz-se notrivial. Teorema 3. Um conjunto de frmulas trivial se e somente se for inconsistente. Demonstrao. Se for trivial, ento obviamente inconsistente. Se for inconsistente, ento existe uma frmula A tal que A e (A). Porm, temos ? A [(A) B]. Combinando-se os resultados acima, obtemos B. Como B arbitrrio, advm que trivial. Definio 5 (Conjunto consistente maximal de frmulas). Um conjunto de frmulas diz-se consistente maximal se for consistente e no estiver contido propriamente em nenhum outro conjunto consistente. Definio 6 (Modelo). Seja E uma estrutura e um conjunto de frmulas. E diz-se um modelo de se V(A) = 1 para toda frmula A . Teorema 4. {A}. Definio 7 (Satisfao). Diz-se que uma estrutura E satisfaz um conjunto de frmulas se for modelo do mesmo. E diz-se um modelo de se V(A) = 1, para todo A . Em particular, E satisfaz um frmula A se for modelo de A. Teorema 5 (Compacidade). Um conjunto de frmulas consistente A se e somente se todo modelo de for modelo de

142

se e somente se qualquer de seus conjuntos finitos for consistente. Demonstrao. Se consistente ento imediato que qualquer de seus conjuntos finitos consistente. Se qualquer de seus conjuntos finitos for consistente, admitamos que seja inconsistente. Logo, existe uma frmula A tal que A e (A). da, temos [A (A)], o que utiliza um conjunto finito de frmulas de . Logo, tal conjunto finito inconsistente, o que constitui absurdo. Definio 8 (Conjunto de Henkin). Um conjunto de frmulas chamase conjunto de Henkin se para cada instanciao fechada xA tal que xA, existe uma constante e tal que xA Ax[e].4 Teorema 6 (Conjunto maximal). Todo conjunto consistente de frmulas est contido num conjunto consistente maximal de frmulas. Demonstrao. Seja um conjunto consistente de frmulas. Vamos fazer uma restrio: admitimos que o nmero cardinal do conjunto de frmulas enumervel:5 A0, A1, ... , An, ... Construamos uma seqncia de conjuntos de frmulas 0, 1, ... , n, ... assim: 0 = i+1 = para i 0. Observemos que cada i consistente. Tambm, i, para todo i. Seja * = . Temos *. Afirmamos que * consistente. Com efeito, se * for inconsistente, h uma frmula A tal que temos * [A (A)]. Logo, h uma deduo de tal frmula a partir de * que consiste em um nmero finito de frmulas. Logo, h seguramente um n tal que n [A (A)], o que absurdo, porquanto n consistente. Finalmente, provemos que * maximal. Com efeito, admitamos que exista uma frmula B * tal que {B} seja consistente. A frmula B uma das frmulas da seqncia A0, A1, ... , An, ... Seja B = Ak. Como Ak *, isto significa que k {Ak} inconsistente e, em conseqncia, * inconsistente, o que contraria o que se demonstrou acima. Definio 9. Seja t um termo livre para a varivel x. Diz-se que que t satisfaz uma frmula A(x) se A(t). Teorema 7. Seja um conjunto consistente maximal de frmulas. Temos: 1. A A (em particular, todo axioma A ) 2. A B A e B 3. A B A ou B
4

Que escrevemos tambm for modelo de A. Para cardinais quaisquer, recomendamos a obra [Shoenfield 67].

143

4. 5. 6. 7. 8.

A B A ou B Para toda frmula A, A ou (A) Se A e (A B) , ento B xA todo termo t -satisfaz A(x) xA algum termo t -satisfaz A(x)

Teorema 8. Todo conjunto de Henkin consistente de frmulas possui modelo. Demonstrao. Seja um conjunto consistente. Ele est contido num conjunto consistente maximal . Provemos que possui modelo. Sejam t e s termos livres de variveis 6 . Pomos t s se t = s. Pode-se provar que constitui uma relao de eqivalncia sobre o conjunto dos termos livres de variveis. Denotemos a classe de eqivalncia determinada por t por t*. O modelo que construiremos possui como universo o conjunto quociente do conjunto dos termos pela relao . Estabeleamos as correspondncias. A cada smbolo predicativo n-rio p associamos a relao pE definida por pE(t1*, ... , tn*) se e somente se ? p(t1, ... , tn) Pode se verificar que a definio precedente independente dos representantes escolhidos e, portanto, est bem definida. Alm disso, o smbolo de igualdade corresponde igualdade entre classes de eqivalncia, como fcil de verificar. A cada smbolo funcional n-rio f associamos a funo fE definida por fE(t1*, ... , tn*) = f(t1, ... , tn)* A cada constante individual c associamos o indivduo cE definido por cE = c* Pode se verificar que as definies precedentes so independentes dos representantes escolhidos e, portanto, esto bem definidas. Teorema 9. Seja um conjunto de Henkin. Seja E a estrutura obtida no teorema anterior (denominada estrutura cannica). Seja A uma frmula fechada. Ento E(A) = 1 se e somente se A. Teorema 10. (Completeza forte). Se A, ento A. Demonstrao. Suponha-se que A. Se ? A, ento {(A)} consistente. Da {(A)} possui um modelo E. Em particular, E modelo de , E modelo de {A}, o que contraria o fato de E ser modelo de {(A)}, em particular, de (A). Logo, ? A.
Sobre os conceitos da teoria intuitiva dos conjuntos recomendamos a obra [Abe & Papavero 92].
6

144

Teorema 11. (Completeza fraca). Se

A, ento

A.

Teorema 12. (Consistncia). Um conjunto de frmulas possui modelo se e somente se for consistente.

145

3 ALGUNS ASPECTOS DE PROGRAMAO EM LGICA E PROLOG


3.1 - Introduo A lgica, desde Aristteles, sempre esteve ligada ao pensamento cientfico. Ela constitui a base para deduzir conseqncias a partir de certas premissas; para estudar a validade ou a falsidade de sentenas dada a validade ou a falsidade de outras sentenas; para verificar a validade de argumentaes; e para estabelecer a consistncia de um conjunto de sentenas. J os computadores surgiram na histria h muito pouco tempo, ao compar-los com a lgica. Quase todos os computadores de hoje em dia so baseados no modelo (ou mquina) de von Neumann que surgiu na dcada de 40. Esta mquina uma concretizao da mquina (ideal) de Alain Turing. A mquina proposta por von Neumann constituda por um grande conjunto de clulas de memria e uma unidade de processamento com algumas clulas de memria locais chamadas registradores.

Figura 1: Esquema bsico da mquina de von Neumann. A unidade de processamento pode copiar dados armazenados nas clulas de memria para os registradores, realizar operaes com esses dados nos registradores e transferir os resultados de volta para as clulas de memria. Um programa para a mquina de von Neumann dever fornecer

147

instrues que realizem as operaes descritas acima. O desenvolvimento de computadores baseados na mquina de von Neumann encontrou muitas limitaes tecnolgicas e de engenharia que foram sendo resolvidas atravs dos anos. Porm, medida que os problemas relativos construo de computadores eram resolvidos, os problemas relativos a como utiliz-los apareciam. Em outras palavras, os computadores eram capazes de realizar as instrues fornecidas pelo homem porm o homem ainda no era plenamente apto a programar os computadores para resolver problemas prticos que surgiam. A nica linguagem disponvel na poca era a linguagem especfica de cada mquina atravs da qual o programador fornecia instrues ao estilo von Neumann. A construo de programas escritos em linguagem de mquina era complexa e tomava muito tempo. A partir da, linguagens mais fceis para a compreenso humana comearam a aparecer: Fortran, Algol e Pascal mas todas elas apresentavam caractersticas marcantes da mquina de von Neumann subjacente. Notamos que apesar dessas linguagens serem mais fceis para a compreenso do homem, elas ainda eram orientadas mquina, isto , o homem contrua programas nessas linguagens pensando em termos de operaes do computador. 3.2 - A proposta da programao em lgica Seria muito interessante se, ao invs de termos linguagens orientadas mquina, tivssemos linguagens orientadas ao homem, ou seja, linguagens que no fossem meras abstraes do modelo de von Neumann mas que fossem derivadas de um modelo abstrato que no tivesse relao direta ou dependncia com nenhuma mquina. Felizmente isso foi possvel atravs da lgica. At o incio da dcada de 70 utilizava-se a lgica apenas como uma ferramenta para projetar computadores (mais especificamente para projetar circuitos) e para auxiliar na construo de programas escritos em Algol ou Fortran . A partir do incio da dcada de 70, trabalhos de Robert Kowalski propunham a utilizao da lgica diretamente como uma linguagem de programao. A essa nova rea da cincia que nascia, deu-se o nome de programao em lgica. Os programas contrudos utilizando a lgica diretamente como linguagem de programao receberam o nome de programas lgicos. Em termos gerais, a proposta da programao em lgica a seguinte: um programa lgico constitudo por um conjunto de axiomas e por um conjunto de regras de inferncia. De posse desse programa podemos fazer perguntas a ele. Essas perguntas na verdade so frmulas as quais desejamos saber se podem ser deduzidas (ou no) a partir dos axiomas e regras de inferncia contidos no programa lgico. Observando a Figura 2, temos:
1

O conceito de mquina de Turing apia toda a Teoria da Computabilidade que contm problemas em aberto que desafiam pesquisadores do mundo todo. 2 A citada linguagem especfica de cada mquina na verdade a linguagem do microprocessador com o qual a mquina (o computador) foi construdo.

148

Figura 2: Funcionamento de um programa lgico. Em outras palavras, as perguntas nada mais so do que frmulas as quais desejamos saber se so teoremas na teoria formal fornecida pelo programa lgico. Essa teoria formal seria constituda pelos axiomas e regras de inferncia do programa lgico. Dizemos que as perguntas, que na verdade so frmulas, as quais submetemos ao programa lgico constituem a entrada do programa lgico. Dada uma entrada, dizemos que o processo de tentarmos demonstrar essa entrada a partir dos axiomas e regras de inferncia do programa lgico a execuo do programa lgico. Esta noo se identifica com a noo de computao da mquina de Turing. Paralelamente aos trabalhos de Robert Kowalski, Alain Colmerauer e seus colegas desenvolveram um programa que capturava a idia do mecanismo de tentar provar as perguntas (frmulas) a partir de um conjunto de axiomas e regras de inferncia. Esse programa recebeu o nome PROLOG (do francs PROgramation et LOGique). Mais adiante veremos um pouco sobre o PROLOG mas antes disso veremos os principais conceitos e ferramentas da programao em lgica. Para comear, teremos uma seo totalmente dedicada s clusulas de Horn pois atravs delas que poderemos escrever os programas lgicos. Depois, teremos uma seo dedicada a exemplos e mais conceitos ligados aos programas lgicos. 4.3 - Clusula de Horn A linguagem que utilizamos para trabalhar com a programao em lgica um subconjunto da linguagem do clculo de predicados vista no captulo 3 e recebe o nome de linguagem das clusulas de Horn. Portanto, trabalharemos com o clculo de predicados restrito linguagem das clusulas de Horn. Esquematicamente, temos:

Algol e Fortran eram as linguagens mais famosas at essa poca.

149

Figura 3: Clusulas de Horn. O objetivo desta seo estudar as clusulas de Horn de tal modo que na prxima seo estaremos em condies de utiliz-las para escrever os primeiros programas lgicos. Para isso, primeiramente destacaremos algumas das regras que j utilizamos no clculo proposicional e de predicados bem como um pouco do jargo da programao em lgica. Depois, estudaremos as clusulas de programa e as clusulas gol (que so os dois tipos de clusulas de Horn). 3.4 - Consideraes preliminares O objetivo desta sub-seo fixar parte do jargo da lgica e de programao em lgica que utilizaremos daqui em diante. A toda hora utilizaremos predicados na construo de programas lgicos. Por isso, apesar de termos definido que apenas letras tais como p, q com ou sem ndices denotam predicados, tomaremos a liberdade de utilizar, por exemplo, casados ( x, y ) para denotar que x casado com y ao invs de p6(x,y) que seria muito menos ilustrativo. Dizemos que uma frmula do clculo do predicados atmica quando ela do tipo p(t1 ,t2,...,tn) na qual: p um predicado n-rio; t1 , t2 , ..., tn so termos. Como exemplos de frmulas atmicas, podemos escrever: Exemplos: 1. p(x).

150

2. q2 (x,y). 3. me(y,x). 4. q3 (x,y,z). Podemos dizer que uma frmula atmica uma literal positiva. Portanto, os exemplos dados acima, alm de serem exemplos de frmulas atmicas, tambm so exemplos de literais positivas. A negao de uma frmula atmica dita literal negativa. Como exemplos de literais negativas, podemos citar: Exemplos: 1. q4 (x,y). 2. tio(y,x). 3. q5 (x,y,z). 4. av(x,y). Em programao em lgica, podemos escrever uma implicao do tipo: AB de maneira inversa, ou seja, BA

O motivo disso simplesmente destacar a concluso da implicao. Isto ficar mais claro quando estivermos utilizando a regra de resoluo que apresentaremos mais adiante. Ainda com respeito s implicaes, diremos que B a cabea e A o corpo da implicao. Observemos os seguintes exemplos: Exemplos: 1. x y ( p(x,y) q(x,y) ). Escrita de maneira inversa: x y ( q(x,y) p(x,y) ). Cabea: q(x,y). Corpo: p(x,y). 2. x y z ( ( p2 (x,y,z) q5 (x,z) q1 (z) ) ( q3 (z) q4 (x) ) ). Escrita de maneira inversa: xyz ((q 3 (z) q 4 (x)) (p2(x,y,z)q5(x,z)p1 (z))). Cabea: q3 (z) q4 (x). Corpo: p2 (x,y,z) q5 (x,z) p1 (z). 3. x y z ( ( namorados (x, y) namorados (y, z) ) tringulo (x, y, z ) Escrita de maneira inversa: x y z ( tringulo (x, y, z ) ( namorados (x, y) namorados (y, z))). Cabea: tringulo (x, y, z ). Corpo: namorados (x, y) namorados (y, z). ).

151

Observao: Os predicados acima se referem a pessoas e so definidos da seguinte maneira: namorados(x,y) x e y namoram; tringulo(x,y,z) x, y, z formam um tringulo amoroso.. 4. x ( ( perto-da-praia(x) grande(x) ) casa-boa(x) ). Escrita de maneira inversa: x (casa-boa(x)(perto-da-praia(x) grande(x) )). Cabea: casa-boa(x). Corpo: perto-da-praia(x) grande(x). Observao: Os predicados acima se referem a casas e so definidos da seguinte maneira: perto-da-praia(x) x uma casa localizada perto da praia.; grande(x) x uma casa grande.; casa-boa(x) x uma boa casa para morar.. 5. x y z ( ( pai(x,y) irmos(x,z) ) tio(z,x) ). Escrita de maneira inversa: x y z (tio(z,x) ( pai(x,y) irmos(x,z) )). Cabea: tio(z,x). Corpo: pai(x,y) irmos(x,z). Observao: Os predicados acima se referem a pessoas e so definidos da seguinte maneira: pai(x,y) x pai de y.; irmos(x,z) x e z so irmos.; tio(z,x) z tio de x. No decorrer do texto, utilizaremos, basicamente, duas regras de inferncia que vimos no clculo de predicados de primeira ordem. So elas a regra de modus ponens e a regra de particularizao. Alm disso, em alguns momentos, utilizaremos a contrapositiva de uma implicao confome vista no clculo proposicional e de predicados. Eis aqui alguns exemplos de contrapositivas de implicaes: 1. x ( q(x) p(x) ) cuja contrapositiva : x ( p(x) q(x) ). Escrevendo a clusula de maneira inversa, teramos: x ( p(x) q(x) ) cuja contrapositiva : x ( q(x) p(x) ). 2. x y z ( ( p4 (x,y,z) q(x) ) ( q4 (x,y) q3 (z) ) ) cuja contrapositiva : x y z ( ( q4 (x,y) q3 (z) ) ( p4(x,y,z) q(x) ) ). Escrevendo a clusula de maneira inversa, teramos:

152

x y z( (q4 (x,y) q3 (z) ) ( p4 (x,y,z) q(x) ) ) cuja contrapositiva : x y z ( ( p4 (x,y,z) q(x) ) (q4 (x,y) q3 (z) ) ). 3. x y z ( ( pai(x,y) irmos(x,z) ) tio(z,x) ) cuja contrapositiva : x y z (tio(z,x) (pai(x,y) irmos(x,z) ) ). Escrevendo a clusula de maneira inversa, temos: x y z (tio(z,x) ( pai(x,y) irmos(x,z) ) ) cuja contrapositiva : x y z ( (pai(x,y) irmos(x,z) ) tio(z,x) ). 3.5 - Clusula Uma clusula uma frmula (do clculo de predicados) do seguinte tipo: x1 , ... , xk ( L1 ... Lm ) (1) na qual Li uma literal positiva ou negativa e x1 , ..., xk so as variveis que ocorrem em L1 ... Lm. Exemplos: (Clusulas) 1. x y z ( p(x) q(y,z) p2 (x,y,z) ). 2. x p5 (x). 3. y z ( p6 (y) q3 (z) ). 4. x y ( tio (x) pai (y) ). 5. x z ( maior(x,z) menor(x,z) igual(x,z) ). 6. x ( solteiro(x) casado(x) vivo(x) divorciado(x) ). Diremos que a clusula, tal como escrita em (1) , est no formato original de disjuno. Porm, para escrevermos os programas lgicos, conveniente escrever (1), na notao clausal. Escrever uma clusula na notao clausal reescrev-la utilizando-se o conectivo de implicao (). Para entendermos melhor, vamos reescrever a clusula (1) na notao clausal, explicitando cada passo: Passo 1 : Separao das literais positivas e negativas: j que temos a lei comutativa e associativa para o conectivo de disjuno, podemos escrever primeiro as literais negativas seguidas das positivas. Deste modo, podemos reescrever (1) assim: x1 , ... , xk ( (B1 ... Bs ) (A1 ... Ar ) ) (2) na qual B1 , ..., Bs so as literais negativas e A1 , ..., Ar so as literais positivas. Passo 2 : Aplicao das leis de De Morgan: observemos que em (2) temos uma disjuno de literais negativas, a saber, B1 ... Bs. Atravs das leis de De Morgan, podemos escrever que: (B1 ... Bs ) ( B1 ... Bs ).

153

Ento, podemos escrever (2) da seguinte maneira: x1 , ... , xk ( ( B1 ... Bs ) (A1 ... Ar ) ) (3) Passo 3 : Formato de implicao: Lembremos que: ( A B ) ( A B ) e, portanto, podemos escrever (3) do seguinte modo: x1 , ... , xk ( ( B1 ... Bs ) ( A1 ... Ar ) ) (4 ) Passo 4 : Notao Clausal: Conforme vimos na sub-seo 4.3.1 podemos escrever (4) de maneira inversa: x1 , ..., xk ( (A1 ... Ar ) ( B1 ... Bs ) ) (5) Observao: Todas as variveis que ocorrem nas literais componentes de (5) esto quantificadas universalmente : ento, se no escrevermos x1 ,..., x2 no tem problema pois j saberemos que todas as variveis que ocorrem em (5) j esto quantificadas universalmente; O corpo de (5) composta de uma conjuno de literais: ento ao invs de escrevermos o conectivo poderemos escrever uma vrgula (,) e no haver perigo de confuso; A cabea de (5) composta de uma disjuno de literais: ento ao invs de escrevermos o conectivo poderemos escrever uma vrgula (,) e no haver perigo de confuso. Com isso em mente, podemos escrever (5) da seguinte maneira: A1 , ..., Ar B1 , ..., Bs (6) e dizemos que (6) est escrita na notao clausal. Dizemos que uma clusula tem corpo vazio se no possui literais negativas no formato original de disjuno. Dizemos que uma clusula tem cabea vazia se no possui literais positivas no formato original de disjuno. Vamos fazer alguns exemplos de escrever clusulas nesta notao atravs dos passos vistos anteriormente? Exemplos: 1. clusula x y ( p(x) q(x) q2(x,y) ). Passo 1 : Separao de literais: x y ( q2 (x,y) (p(x) q(x)) ). Passo 2 : Aplicao das leis de De Morgan: como s h uma literal negativa, no precisamos aplicar. Passo 3 : Formato de implicao: x y ( q2 (x,y) (p(x) q(x)) ). Passo 4 : Notao clausal: p(x), q(x) q2 (x,y). Vamos examinar mais um exemplo no qual ocorra mais literais negativas para que possamos aplicar as leis de De Morgan.

154

2. clusula x y z ( p2 (x,y) q1 (x) p3 (x,y) q3 (z) ). Passo 1: Separao de literais: x y z ( (q1 (x) q3 (z)) (p2 (x,y) p3 (x,z)) ). Passo 2: Aplicao das leis de De Morgan: x y z (( q1 (x) q3 (z) ) (p2 (x, y) p3 (x, z))). Passo 3: Formato de implicao: x y ( (q1 (x) q3 (z)) (p2 (x,y) p3 (x,z)) ). Passo 4: Notao clausal: p2 (x,y), p3 (x,z) q1 (x), q3 (z). 3. clusula x y z ( pai(y,x) irmo(y,z) tio(z,x) ). Passo 1 : Separao de literais: x y z ( (pai(y,x) irmo(y,z)) tio(z,x) ). Passo 2 : Aplicao das leis de De Morgan: x y z ( ( pai(y,x) irmo(y,z) ) tio(z,x)) . Passo 3 : Formato de implicao: x y z ( (pai(y,x) irmo(y,z)) tio(z,x)). Passo 4 : Notao clausal: tio(z,x) pai(y,x), irmo(y,z). Observao: A notao clausal compacta e muito conveniente. A seguir, estudaremos alguns tipos especiais de clusulas. 3.6 - Clusula de Programa Dizemos que uma clusula uma clusula de programa se: Possuir apenas uma literal na cabea: conseqentemente, no formato original de disjuno, a clusula de programa possui apenas uma literal positiva; O corpo pode ou no ser vazio. O formato de uma clusula de programa pode ser: A B1 , ... , Bn (corpo no vazio) ou A (corpo vazio)

Vejamos alguns exemplos de clusulas de programa: Exemplos: 1. p(x)q(x), r(x); 2. r(y) ; 3. gripe(x) febre(x),mal-estar(x). 4. q(x)q1 (x,y), q2 (x,z); 5. q3 (z) ; 6. festa-ruim(x) pessoal-chato(x),comida-ruim(x); 7. aprovado(x) media-maior-sete(x),presena-ok(x);

155

8. r1 (x,y,z) r2 (x,y),r3 (y,z),r4 (z,w); 9. q3 (x,y,z,w) . 4.7 - Clusula de Programa Condicional. Dizemos que uma clusula de programa condicional se: O corpo da clusula tiver pelo menos uma literal: conseqentemente, no formato original de disjuno, a clusula de programa condicional contm pelo menos uma literal negativa e A cabea da clusula tiver exatamente uma literal: conseqentemente, no formato original de disjuno, a clusula de programa condicional contm exatamente uma literal positiva. O jeito das clusulas de programa condicionais o seguinte: A B1 , ..., Bn. Podemos interpret-la do seguinte modo: Para toda atribuio de valores s variveis que ocorrem na clusula, se B1 , B2, ... , Bn so todas verdadeiras ento A verdadeira. Vejamos alguns exemplos de clusulas de programa condicionais: Exemplos: 1.) Veja os exemplos 1, 3, 4, 6, 7 e 8 da definio 5.3.3; 2.) p2 (x)p3 (x), q2 (y): Podemos ler esta clusula do seguinte modo: Para toda atribuio de valores s variveis x e y, se p3 (x) e q2 (y) forem ambas verdadeiras ento p2 (x) tambm o ser; 3. q1 (x)r2 (x,y), r5 (y,z), p3 (x,y): Podemos ler esta clusula do seguinte modo: Para toda atribuio de valores s variveis x, y e z, se r2 (x,y), r5 (y,z) e p3 (x,y) forem verdadeiras ao mesmo tempo, q1 (x) tambm o ser; 4. p3 (x)q2 (x,y,z): Podemos ler esta clusula do seguinte modo: Para toda a atribuio de valores s variveis x, y e z, se q2 (x,y,z) for verdadeira ento p3 (x) tambm o ser. 5. tio(z,x)pai(y,x),irmo(y,z): Podemos ler esta clusula do seguinte modo: Para toda a atribuio de valores s variveis x, y e z, se pai(y,x) for verdadeiro ( se y for pai de x) e irmo(y,z) tambm o for (se y for irmo de z) ento tio(z,x) tambm o ser (z tio de x). Agora vejamos o caso em que as clusulas tem o corpo vazio pois ela recebem uma denominao especial.

156

4.8 - Clusula de Programa Incondicional Dizemos que uma clusula de programa incondicional se: O corpo dela for vazio: conseqentemente, no formato original de disjuno, a clusula de programa incondicional no contm literais negativas e A cabea dela contiver exatamente uma literal: conseqentemente, no formato original de disjuno, a clusula de programa incondicional contm exatamente uma literal positiva. O jeito das clusulas de programa incondicionais o seguinte: A . Isso, na forma original de disjuno, o seguinte: x1 ,..., xk A (7) na qual x1 ,..., xk so as variveis que ocorrem na literal A. Podemos interpretar (7) do seguinte modo : Para toda atribuio de valores s variveis da clusula, A verdadeira. As clusulas de programa incondicionais so tambm chamadas de clusulas unidade ou clusulas com antecedente vazio. Alguns exemplos nos ajudaro a entender melhor a idia das clusulas de programa incondicionais. Observaes: 1. exemplos 2, 5 e 9 da definio 4.3.3; 2. q2 (x) e podemos ler esta clusula do seguinte modo: Para toda a atribuio de valores varivel x, q2 (x) verdadeira; 3. r2 (x,y,z) e podemos ler esta clusula do seguinte modo: Para toda a atribuio de valores s variveis x, y e z, r2 (x,y,z) verdadeira; 4. p7 (x,y,z,w) e podemos ler esta clusula do seguinte modo: Para toda atribuio de valores s variveis x, y, z e w, p7 (x,y,z,w) verdadeira; 5. p(x,y,z) e podemos ler esta clusula do seguinte modo: Para toda atribuio de valores s variveis x,y,z, p(x,y,z) verdadeira; 6. respira(x) e podemos ler esta clusula do seguinte modo: Para toda atribuio de valores varivel x, respira(x) verdadeira ( todo humano respira! ); Notemos que clusulas de programa (tanto as condicionais quanto as incondicionais) podem ser encaradas como axiomas. Tambm notemos que as regras apresentadas na sub-seo 4.3.1 podem ser encaradas como regras de inferncia.

157

Isso parece com algo que j vimos! Se tivermos axiomas e regras de inferncia, podemos falar em teorias formais axiomticas e podemos deduzir (pelo menos, tentar!) fatos dessa teoria. Dada uma teoria formal axiomtica T, formada por axiomas (clusulas de programa) e por regras de inferncia (subseo 4.3.1) e dada uma frmula F, podemos tentar demonstrar F em T. A seguir, comearemos a ver como podemos tentar demonstrar uma dada frmula F a partir de T tal como descrita acima. 3.9 - Clusula gol 4 Dizemos que uma clusula de programa uma clusula gol se: A cabea vazia: conseqentemente, no formato original de disjuno, a clusula gol no contm literais positivas e Contiver pelo menos uma literal no corpo: conseqentemente, no formato original de disjuno, a clusula gol contm pelo menos uma literal negativa. Uma clusula gol, portanto, tem o seguinte formato: B1 , B2 , ..., Bn. (8) Suponhamos que as variveis que ocorrem em (8) so y1 , ... , yr . Podemos escrever (8) no formato original de disjuno do seguinte modo: y1 , ..., yr ( B1 ... Bn ) (9) Pelas leis de De Morgan, sabemos que: (B1 ... Bn ) ( B1 ... Bn ). e podemos escrever (9) da seguinte maneira: y1 , ..., yr (B1 ... Bn ) (10). Sabemos que: ( x A ) ( x A) (11) e, ento, podemos escrever (10) da seguinte maneira: ( y1 , ..., yr (B1 ... Bn ) ) (12). Para entendermos melhor o que significa uma clusula gol, vejamos os seguintes exemplos: Exemplos: 1. p(x) que o mesmo que escrever : ( x p(x) ); 2. p(x), q(y) que o mesmo que escrever : ( x y p(x) q(y) ); 3. p1 (x), q2 (x,y), r3 (x,y,z) que o mesmo que escrever: ( x y z p1 (x) q2 (x,y) r3 (x,y,z) );
4

do ingls goal clause A palavra goal podde ser traduzida tambm como meta porm preferimos a palavra gol por ser mais familiar

158

4. p2 (x,y,z), q5 (x,y,z,w), r6 (x) que o mesmo que escrever: ( x y z w p2 (x,y,z) q5 (x,y,z,w) r6 (x) ). 5. q3 (x,y,z) que o mesmo que escrever: ( x y z q3 (x,y,z) ); 6. gripe(x) que o mesmo que escrever: x gripe(x); 7. pai(x,y) que o mesmo que escrever: (x y pai(x,y) ). Surge, ento, a pergunta: Ser que o fato de clusulas gol serem, no fundo, negaes contribui para alguma coisa??? A resposta Sim. Ainda bem! Geralmente, quando temos uma teoria formal axiomtica T e uma frmula F e desejamos saber se h uma demonstrao para F em T, um dos procedimentos a tomar admitir como hiptese que F verdadeira. A partir da, utilizando os axiomas e regras de inferncia de T, tentamos obter alguma frmula que seja a negao de algum axioma de T. Se conseguirmos demonstrar uma frmula que seja a negao de algum axioma de T, isso quer dizer que F falso e, portanto, F pode ser demonstrada em T. A esse tipo de demostrao damos o nome de demonstrao por reduo ao absurdo. 3.10 - Clusula vazia A clusula vazia, denotada por, a clusula de programa sem corpo e sem cabea (isso mesmo!). Deve ser interpretada como uma contradio. Para entender melhor a clusula vazia, consideremos o seguinte exemplo do clculo proposicional: se tivermos A1 , A2 , ..., An , B letras do clculo proposicional e considerar B a disjuno A1 ... An, B assumir valor verdade 1 se algum dos A i assumir valor verdade 1. Em outras palavras, basta que um Ai assuma valor verdade 1 para que B assuma valor verdade 1. Agora imaginemos que no temos Ai algum para compor a disjuno. Logo, B sempre assumir valor verdade 0, ou seja, B ser uma contradio. A clusula vazia ( ) nos ajudar a indicar quando conseguimos refutar a negao de uma frmula F numa teoria formal axiomtica T fornecida por um programa lgico. 3.11 - Clusula de Horn Uma clusula de Horn uma clusula de programa ou uma clusula gol. A seguir, vejamos alguns exemplos de clusulas de Horn: Exemplos: 1. todos os exemplos da seo 4.3.3;

159

2. todos os exemplos da seo 4.3.4; 3. todos os exemplos da seo 4.3.5; 4. q(x) p(x), p2 (x,y,z), q4 (x,z,y); 5. av(z,x) pai(z,y), pai(y,x). O que temos at agora. Aps examinarmos vrias definies, chegou o momento de dar uma pausa e examinarmos, sucintamente, as ferramentas que temos at agora. Voltando Figura 1, podemos detalhar o conjunto das clusulas de Horn da seguinte maneira:

Figura 5: Tipos de clusulas de Horn. Na prxima seo, utilizaremos todos estes tipos de clusulas de Horn para construir alguns programas lgicos, porm antes disso, alguns exerccios. Exerccios 1) Escreva as seguintes implicaes na notao clausal. a) x ( p(x) s(x) q(x) r(x) ). b) x y ( p1 (x,y) p2 (x,y) p3 (x,y) p4 (x,y) ).

160

c) d) e) f) g)

x y z ( q1 (x) q2 (x,y) q3 (x,y,z) ). x y z ( p(x,y,z) q(x,z,y) q2 (z,x,y) p3 (z,y,x) ). x y ( p(x) r(y,z) q(x,y,z) q(y) p4 (x,y,z) ). x y z ( ( pai(x,y) pai(z,x) ) av(z,y) ). x ( ( febre(x) manchas-vermelhas(x) ) sarampo(x) ).

2) Dadas as seguintes clusulas de Horn, escreva-as na forma original de disjuno. Considere x, y, z as variveis envolvidas. a) A B, C. b) p(x). c) q(x) r(x,y), s(x,y,z). d) r(x,y,z), s(x,y,z). e) q2(x,y,z) . f) q1(x,z,y) q2(x,y,z), p3(x,y). g) p2(x,y). 3) Escreva as seguintes implicaes na notao clausal. a) x ( p1(x) p2(x) p3(x) q1(x) q2(x) ). b) x y ( p6(x) p5(x,y) p4(x,y) q3(y) q4(x) ). c) x y z ( p7(x,y,z) p8(x,y) q5(z) q7(y) ). d) x y ( r(x,y) s(x,z) t(y,z) ). e) x y z ( p(x,y,z) q(x,y,z) r(x) s(y) ). f) x ( ( gripe(x) toma-chuva(x) ) pneumonia(x) ). g) x ( ( estrada(x,y) estrada(y,z) ) estrada(x,z) ). 4) Dadas as seguintes clusulas de Horn, escreva-as na forma original de disjuno. Considere x,y,z e w as variveis envolvidas. Tambm diga se so clusulas condicionais, incondicionais ou gol. a.) C, D, E A, B, F. b.) p(x), q(y,z), r(y,x). c.) s(y) . d.) p(x) q(y), r(x,y,z). e.) q(x,y,z) r(x,y), s(x,z). f.) q2(x,y,z,w), q4(y,x,w), q5(x) q6(x,y,w,z). g.) p(x,y,z), q5(y,x,w,z). h.) r2(x,y,z,w) . i.) p4(x,y,w,z), q4(x,y), r4(x). sobrinho(x,y) pai(z,x),irmos(z,y) 3.12 - Programas lgicos e teorias. Na ltima seo estudamos as clusulas de Horn que constituem uma das ferramentas bsicas da programao em lgica. O objetivo principal desta seo introduzir programas lgicos bem como mtodos para a computao dos mesmos. Para tanto, inicialmente vamos estudar alguns exemplos de programas lgicos de uma maneira informal. Aps esses exemplos, estudaremos alguns outros conceitos relacionados com a computao de programas lgicos.

161

4.13 - Programa Lgico Um programa lgico um conjunto finito de clusulas de programa. Vejamos alguns exemplos de programas lgicos: Exemplos: 1.)- Programa P1. (1) p(a) . (2) q(b) . (3) q(x) p(x). 2.) - Programa P2. (1) p(a,b). (2) q(a,b). (3) r(x,y) p(x,y). (4) s(x,y) q(y,x). 3.) - Programa P3. (1) p(a,b) . (2) q(b,c) . (3) r(x,z) p(x,y), q(y,z). 4.) - Programa P4. (1) p(x) p(x). (2) p(a) . (3) q(c) . (4) p(b) . Daqui em diante, em nome da simplicidade, escreveremos programa ao invs de programa lgico. Comentamos na seo anterior que um programa constitudo por um conjunto finito de axiomas sobre os quais podemos aplicar modus ponens e particularizao (4.3.1) como regras de inferncia. Observemos o programa P1 do exemplo 1 acima. Podemos dizer que: p(a) axioma; q(b) axioma; Para todo x, se q(x) verdadeiro ento p(x) verdadeiro. Estranho! Ao invs de escrever para todo x, se p(x) verdadeiro ento q(x) verdadeiro conforme a linha (3) de P1, escrevemos a sua contrapositiva. Bem, no h nenhum problema pois a clusula de programa escrita na linha (3) e a sua contrapositiva so logicamente equivalentes. O motivo por havermos escrito a contrapositiva ficar mais claro adiante.

162

Juntamente com esses trs axiomas, podemos considerar: A regra de modus ponens e A regra de particularizao. Notemos que com esses cinco itens, temos uma teoria formal axiomtica fornecida pelo programa P1. Ento, dado qualquer programa, podemos construir uma teoria formal axiomtica a partir dele de acordo com a Figura 6 e dizemos que essa teoria formal axiomtica foi fornecida pelo programa.

Figura 6: Construo de uma teoria formal axiomtica a partir de um programa. Podemos demonstrar teoremas na teoria T acima. Dada uma frmula atmica F de T, por exemplo, podemos tentar demonstrar F em T. A frmula F, neste caso, chamada de consulta ao programa P. Se F for teorema em T dizemos que F foi deduzida a partir do programa P. 3.13 - Computao de gols A computao de um gol consiste em tentarmos provar que uma consulta a um programa um teorema na teoria axiomtica que o programa fornece, tal como na Figura 6. No nosso texto, vamos s considerar as consultas que so frmulas atmicas ou frmulas que so conjunes de frmulas atmicas. A seguir, descrevemos um mtodo para computar gols que utiliza a idia da demonstrao por absurdo. Dado um programa P e uma

163

consulta F, podemos executar os seguintes passos para verificar se F pode ser deduzida a partir de P: Mtodo para computao de gols: Passo 1 : construo de T: construimos T conforme a Figura 6; Passo 2 : construo do gol F: a partir de F, construimos o gol F F. Notemos que F a negao de F, conforme a seo 4.3.6; Passo 3 : obteno de contradio: assumimos Fcomo verdadeira em T e tentamos demonstrar atravs dos axiomas e das regras de inferncia de T que a clusula gol F implica em uma contradio em T (computao de gols via demonstrao por absurdo). Passo 4 : trmino da computao : se conseguirmos deduzir que F implica em uma contradio, conseguimos provar que F um teorema em T que o mesmo que dizer que F foi deduzida a partir de P. Caso contrrio, se ao longo da tentativa de deduzir uma contradio obtivermos uma frmula F tal que: F no est na lista de axiomas ou No podemos aplicar regras de inferncia em F e mais outro axioma ento dizemos que F no um teorema de T e, portanto, F no pode ser deduzida a partir de P. Agora ficou mais claro porque chamamos de computao de gols o mtodo de tentar provar teoremas na teoria T fornecida pelo programa P: simplesmente porque construmos uma clusula gol com a consulta F candidata teorema em T. De acordo com o passo 2 do mtodo acima, F a negao de F. De acordo com o passo 3, tomaremos F como verdadeira e utilizaremos os axiomas e regras de inferncia para tentar deduzir uma contradio. Tambm dizemos que a computao do gol F foi bem sucedida. Sem mais discusses, vamos dar uma olhada nos exemplos da subseo anterior. Tnhamos o programa P1 do exemplo 1 que transcrevemos: Exemplos: Exemplo 1) - Programa P1. p(a) . q(b) . q(x) p(x). Seguindo o passo 1 do mtodo descrito acima, temos a seguinte teoria fornecida por P1: Teoria T1. Axiomas: (A1). p(a) (A2). q(b) (A3). ( q(x) p(x) ) Regras de inferncia:

164

Modus ponens; Particularizao. Ok! Agora, consideremos algumas consultas a P1. Para computar gols, vamos utilizar o mtodo descrito acima. Consulta 1 - F p(a). Passo 1: Teoria T1 j foi construda; Passo 2: Podemos construir a clusula gol F p(a). Lembremos que a clusula gol F a negao de F e, portanto, F p(a); Passo 3: Vamos assumir que F verdadeira em T1. Notemos que F por si mesma j contradiz (A1). Portanto, F implica em uma contradio em T1; Passo 4: Ento F teorema em T1 que o mesmo que dizer que F foi deduzida a partir de P1. Consulta 2 - F q(a). Passo 1: Teoria T1 j foi construda; Passo 2: Podemos construir a clusula gol F q(a) que significa q(a); Passo 3: Vamos assumir que F verdadeira em T1. Observamos (A1) e (A2) e no podemos utiliz-los para q(a) (o bom seria que ou (A1) ou (A2) fosse um axioma do tipo q(a) e a j teramos uma contradio!) porm podemos utilizar o (A3) com particularizao. Temos que: q(a) p(a). Utilizando a regra de modus ponens, temos: q(a). q(a) p(a). p(a). Notemos que p(a) o mesmo que p(a) que uma nova clusula gol. De posse da nova clusula gol, damos uma nova olhada nos axiomas. Ao observamos os axiomas de T1, vemos que p(a) contradiz o axioma (A2). Portanto, F implica em uma contradio em P 1; Passo 4: Ento, F teorema em T1 que o mesmo que dizer que F foi deduzida a partir de P1. Consulta 3 - F p(b). Passo 1: Teoria T1 j foi construda; Passo 2: Podemos construir a clusula gol F p(b) que significa p(b); Passo 3: Vamos assumir que F verdadeira em T1. Olhando para os axiomas (A1) e (A2) concluimos que no podemos utiliz-los para chegar a lugar algum com p(b). Olhando para o axioma (A3) conclumos que tambm no

165

podemos utiliz-lo; Passo 4: Concluimos que F no um teorema de T1 e, portanto, F no pode ser deduzida de P1. Vamos dar uma olhada no programa P2 do Exemplo 2 o qual transcreveremos: Exemplo 2) - Programa P2. p(a,b). q(a,b). r(x,y) p(x,y). s(x,y) q(y,x). Construindo a teoria T2 associada ao Programa P2 (Passo 1), temos: Teoria T2. Axiomas: (A1) p(a,b) (A2) q(a,b) (A3) x y (r(x,y) p(x,y) ) (A4).x y (s(x,y) q(y,x) ) Regras de inferncia: Modus ponens; Particularizao. Consideremos algumas consultas a P2. Consulta 1 - F r(a,b). Passo 1: Teoria T2 j construda; Passo 2: Considere a clusula gol F r(a,b) que significa r(a,b); Passo 3: Vamos assumir que F verdadeira em T2. Ao olharmos para os axiomas de T2 notemos que o nico axioma que podemos utilizar o (A3). Utilizando particularizao em (A3) podemos escrever: r(a,b) p(a,b). Utilizando a regra de modus ponens, temos: r(a,b) r(a,b) p(a,b) p(a,b). Notemos que p(a,b) uma nova clusula gol pois o mesmo que p(a,b). De posse da nova clusula gol, damos uma nova olhada nos axiomas. Podemos ver que a nova clusula gol j contradiz o axioma (A1). Portanto F implica em uma contradio em T2; Passo 4: Portanto, F um teorema em T 2 que o mesmo que dizer que F foi

166

deduzida a partir de P2. Consulta 2 - F s(a,b). Passo 1: Teoria T2 j foi construda; Passo 2: Considere a clusula gol F s(a,b) que significa s(a,b); Passo 3: Vamos assumir que F verdadeira em T2. Olhando para os axiomas de T2, no podemos utilizar nenhum deles bem como no podemos utilizar nenhuma regra de inferncia; Passo 4: Portanto, conclumos que F no teorema de T 2 que o mesmo que dizer que F no pode ser deduzida a partir de P2. Exemplo 3) - Examinemos o programa P4 o qual o seguinte: Programa P4. (A1) p(x) p(x). (A2) p(a) . (A3) p(b) . (A4) q(c) . Construindo a teoria T4 associada ao P4 (atravs do Passo 1 do Algoritmo 4.4.2.) , temos: Teoria T4. Axiomas: (A1) p(x) p(x) (A2) p(a). (A3) q(c). (A4) p(b). Regras de inferncia: Modus ponens; Particularizao. Consideremos algumas consultas a P4: Consulta 1 - F p(a). Passo 1: Teoria T4 j foi construda; Passo 2: Consideremos a clusula gol F p(a) que significa p(a); Passo 3: Vamos assumir que F verdade em T4. Olhando para os axiomas, podemos afirmar que p(a) e o axioma (A2) j se contradizem em T4; Passo 4: Portanto, F teorema em T4 que o mesmo que dizer que F pode ser deduzida a partir de P4. Vamos supor que, por algum motivo, no tenhamos visto o axioma (A2) mas sim o axioma (A1): afinal, o axioma (A1) o primeiro axioma da lista de axiomas e podemos utiliz-lo. Aplicando particularizao em (A1) para x =

167

a, temos: p(a) p(a) e aplicando modus ponens, temos: p(a). Ah! Obtivemos p(a) que exatamente a clusula gol inicial. Sem problemas! Continuemos a tentar obter uma contradio: devemos dar uma nova olhada nos axiomas e verificar se podemos utilizar algum deles. Suponhamos que tenhamos escolhido o axioma (A1) novamente (nem vimos o axioma (A2)!). Vamos obter p(a) novamente! Notemos que se insistirmos em utilizar (A1), no pararemos a computao. Note que podemos adotar certas estratgias para efetuarmos computao de gols. Vejamos que utilizar o primeiro axioma que aparece na lista de axiomas pode ser um mau negcio como vimos no exemplo acima: mesmo existindo o axioma (A2) que j resolveria o problema, insistimos em utilizar o axioma (A1) que nos levaria a uma computao sem trmino. Em termos gerais, as computaes de gol que fizemos aqui se resumiram no seguinte (j supondo a teoria fornecida pelo programa): 1. comevamos com uma clusula gol (que na verdade era uma negao que assumamos como verdade); 2. utilizvamos a regra de modus ponens; 3. utilizvamos a regra de particularizao que no fundo era a substituio da varivel no axioma por uma constante da teoria fornecida pelo programa; 4. obtnhamos uma nova clusula gol que geralmente era originria da aplicao de modus ponens. Com isso em mente, podemos dizer que para uma computao (finita ou infinita): Temos uma seqncia C0,C1,... (finita ou infinita) dos axiomas da teoria (fornecida pelo programa) que so usados. Notemos que um axioma pode aparecer vrias vezes nesta seqncia, porm, podem estar particularizados para constantes distintas; Temos uma seqncia G0, G1,... (finita ou infinita) de clusulas gol que vo sendo obtidas a partir das regras de inferncia; Temos uma seqncia S0, S1,... (finita ou infinita) de substituies decorrentes das particularizaes. Na seo 4.6, apresentaremos um novo mtodo de computao de gols chamado SLD-derivao. Este mtodo vai nos poupar o trabalho de termos que escrever a teoria fornecida pelo programa e poderemos fazer consultas a ele diretamente. Alm disso, um mtodo mais rpido e prtico. No entanto, veremos que ao utilizarmos a SLD-derivao estaremos implicitamente fazendo o mesmo servio de demonstrar teoremas em uma

168

teoria fornecida por um programa. Antes disso, na seo 4.5 (a prxima seo) veremos alguns conceitos bem importantes relacionados SLDderivao. Exemplo 4) Dado o programa abaixo e algumas consultas, escreva a teoria a ele associada e faa a computao das clusulas gol tambm dadas. Programa P3. p(a,b) . q(b,c) . r(x,z) p(x,y), q(y,z). Construindo a teoria T3 associada a P3 (passo 1 do Algoritmo 4.4.2. acima), temos: Teoria T3 Axiomas: (A1) p(a,b). (A2) q(b,c). (A3) x y z ( r(x,z) ( p(x,y) q(y,z) ) ). Regras de inferncia: modus ponens; particularizao. Vamos fazer algumas consultas a P3. Consulta 1 - F r(a,c). Passo 1: Teoria T3 j foi construda; Passo 2: Devemos construir a clusula gol Fr(a,c). Lembremos, mais uma vez, que podemos escrever a clusula Fdo seguinte modo: F r(a,c); Passo 3: Vamos assumir que F verdadeira em T3. Olhando para os axiomas, notamos que podemos utilizar o axioma (A3). Utilizando trs vezes, em seguida, particularizao, respectivamente, para x = a, y = b e z = c, temos: r(a,c) (p(a,b) q(b,c). Note que a premissa da frmula acima poderia ser vista como uma clusula gol ( p(a,b) q(b,c) ). Aplicando as leis de De Morgan, na frmula acima, temos:

169

r(a,c) (p(a,b) q(b,c) ). Utilizando modus ponens, temos: r(a,c). r(a,c) (p(a,b) q(b,c)) p(a,b) q(b,c). Notemos que p(a,b) e q(b,c) contradizem os axiomas (A1) e (A2) de P3; Passo 4: Portanto conclumos que F teorema de T3 que o mesmo que dizer que F pode ser deduzida de P3. Consulta 2 - F r(c,a). Passo 1: Teoria T3 j construda; Passo 2: Considere a clusula gol F r(c,a) que significa r(c,a); Passo 3: Vamos assumir que F verdadeira em T3. Olhando para os axiomas , mais uma vez, utilizaremos o axioma (A3). Utilizando particularizao trs vezes respectivamente para x = c, y = b, z = a, temos: r(c,a) (p(c,b) q(b,a) ). Aplicando as leis de De Morgan na frmula acima , temos: r(c,a) (p(c,b) q(b,a) ). Utilizando modus ponens, temos: r(c,a). r(c,a) (p(c,b) q(b,a) ). p(c,b) q(b,a). Notemos agora que de posse de p(c,b) e de q(b,a) no encontramos nenhum axioma que possamos utilizar: os axiomas (A1) e (A2) so frmulas base bem como p(c,b) e q(b,a) e estas ltimas duas frmulas no contradizem (A1) e (A2). No podemos aplicar o axioma (A3) pelo mesmo motivo: pelo fato de p(c,b) e q(b,a) serem frmulas base. No obtivemos uma contradio e no podemos aplicar nem axiomas e nem regras de inferncia; Passo 4: Portanto, F no um teorema de T3 o que o mesmo que dizer que F no pode ser deduzida a partir de T3.

170

Exerccios 5) Cada item abaixo contm um programa lgico. Para cada um deles, escreva a teoria finita associada e faa a computao das clusulas gol dadas. a) Programa: p(x)q(x). q(a). Consultas: p(a) , p(b) , p(c) , q(a) , q(b) , q(c). b) Programa: p(x)q(x,y),q(y,x). q(x,y)r(x,y,z),r(x,z,y),q(y,z). r(x,y,z)s(x,y). r(x,y,z)r(y,x,z),s(y,z). q(a,a). q(b,b). s(a,b). p(b). Consultas: p(b) , s(b,a) , s(a,b) , r(a,b,c) , q(a,b) , r(b,a,c). c) Programa: p(x)p(y),q(x,y). q(x,y)q(y,x). q(a,b). p(a). Consultas: p(b) , p(a) , q(b,a) , q(a,b). d) Programa: p(x)p(x). p(a). q(a). Consultas : p(a) , p(b) , q(a) , q(b). e) Programa: p(x,z)q(x,y,z), q(y,x,z). q(a,b,e). q(a,c,e). q(b,a,e). Consultas: p(a,c) , p(c,a) , q(a,b,e) , p(a,e) , p(e,a).

171

f) Aplicao de programas lgicos em diagnstico mdico: mal-estar(Pedro). temp-maior-37(Maria). bolhinhas(Maria). mal-estar(Maria). manchas-verm(Pedro). gland-inflam(Pedro). febre(x) temp-maior-37(x). gripe(x) mal-estar(x), febre(x). sarampo(x) manchas-verm(x),febre(x). caxumba(x) gland-inflam(x),febre(x). catapora(x) bolhinhas(x),febre(x),mal-estar(x). Consultas: catapora(Pedro), catapora(Maria), sarampo(Pedro).

3.14 - Substituies e unificadores Nesta sub-seo, veremos os conceitos de substituio, unificador e unificador mais geral. Terminaremos esta sub-seo apresentando o algoritmo da unificao que ser uma ferramenta importante para a prxima sub-seo na qual veremos as SLD-derivaes. A idia de utilizar os unificadores bem intuitiva: quando estvamos computando alguns gols na seo passada, ns tentvamos achar um axioma tal que, particularizado convenientemente, poderamos usar modus ponens para esse axioma e para a clusula gol. Exemplo: Se tnhamos uma clusula gol p(a) e tnhamos um axioma, x ( p(x) q(x) ) ns particularizvamos este axioma com a constante a para podermos aplicar modus ponens depois: p(a) p(a) q(a) (axioma particularizado) q(a). O que acabamos de fazer pode ser dito da seguinte maneira utilizando unificadores: a frmula p(a) foi unificada com a frmula x ( p(x) q(x) ) . O intuito do algoritmo de unificao fornecer um mtodo mecnico

172

para que algum possa decidir se duas frmulas podem ser unificadas ou no. Alm disso, se o algoritmo decidir que as duas frmulas podem ser unificadas ele tambm fornece o unificador mais geral, ou seja, a melhor particularizao possvel para o axioma utilizado na computao. 3.15 - Substituio Uma substituio ? um conjunto finito da forma { v1/t1, v2/t2, ..., vn/tn } e cada vi uma varivel; cada ti um termo distinto de vi; as variveis v1,...,vn so distintas. Cada elemento vi/ti chamado de ligao. chamada de : substituio base se ti so todos termos que no contm variveis; substituio pura de variveis se os termos ti so todos variveis; renomeao se os termos ti so todos variveis distintas. substituio identidade quando o conjunto de ligaes for vazio. Exemplos: (Substituies) 1. 1 = { x1/a , x2/x1 }. 2. 2 = { x2/b , y/x2 , z/x1 }. 3. 3 = { x/y , z/y }. 4. 4 = { x/a , y/b , z/x2 }. 5. 5 = { x3/x2 , x4/y2 , x5/x3 }. 6. 6 = { }. 4.16 - Instncia de uma substituio. Seja = {v1/t1, ..., vn/tn} uma substituio e E uma expresso. Ento a instncia de E por representada por E a expresso obtida de E substituindo simultaneamente cada ocorrncia da varivel vi em E pelo termo ti ( i = 1,2,...,n ). Se E no contiver variveis, ento E chamada de instncia base de E. Exemplos: 1. Considere a expresso E1 p(x,y) e a substituio 1 = { x/a , y/b }. Temos que E11 p(a,b). 2. Considere a expresso E2 p(x,y) e a substituio 2 = { x/a }. Temos que E22 p(a,y). 3. Considere a expresso E3 q2(x,y,z) q5(x,y) e a substituio 3 = { x/y , y/

173

z , z/x }. Temos que E33 q2(y,z,x) q5(y,z). 4. Considere a expresso E4 p(x,y) p5(y,z,x,z2) e a substituio 4 = { x/a , y/x , z/b , z2/y}. Temos que E44 p(a,x) p5(x,b,a,y). 3.17 - Composio de substituies Considere duas substituies = {u1/s1, ..., um/sm} e ={v1/t1, ..., vn/tn}. A composio de e a substituio obtida pelo conjunto: {u1/s1, ..., um/sm, v1/t1,..., vn/tn} de onde devemos retirar as eventuais ligaes do tipo: ui/si para as quais ui si e vj/tj para as quais vj { u1, ..., um }. Exemplos: (Composio de substituies) 1. Considere as substituies 1 = { x/y , z/x2} e 2 = { y/c , x2/d }. Temos que 1 2 = { x/y2 , z/x22 , y/c , x2/d } = { x/c , z/d , y/c , x2/d }. 2. Considere as substituies 3 = { x2/z2 , y2/y3 , z3/x1 } e 4 = { y3/b , z2/x2 , y3/ y2 }. Temos que 2? 34 = { x2/z24 , y2/y34 , z3/x14 , y3/b , z2/x2 , y3/y2 } = = { x2/x2 , y2/b , z3/x1 , y3/b , z2/x2 , y3/y2 } = = { y2/b , z3/x1 , y3/b , z2/x2 , y3/y2 } = = { y2/b , z3/x1 , y3/b , z2/x2 }. 3. Considere as substituies 5 = { x/y } e 6 = { y/b , z/d }. Temos que 3 56 = { x/y6 , y/b , z/d } = { x/b , y/b , z/d }. 3.18 - Variante Consideremos duas expresses E e F. Dizemos que E e F so variantes se existirem substituies e tais que E F e F E. Tambm dizemos que E variante de F ou F variante de E. Exemplos: 1. Considere as expresses E q(x,y,a) e F q(z,y2,a). E e F so variantes pois dadas as substituies: = { z/x , y2/y } e ?= { x/z , y/y2 } temos que F E e E F. 2. Considere as expresses E p(x1,x2,x3,b) e F p(x3,x1,x2,b). E e F so variantes pois dadas as substituies:

174

= { x3/x1 , x1/x2 , x2/x3 } e = { x1/x3 , x2/x1 , x3/x2 } temos que F E e E F . 3. Considere as expresses E p2(x) q3(y) q5(x,z) e F q3(x) p2(z) q5(z,y). E e F so variantes pois dadas as substituies: = { z/x , x/y , y/z } e = { x/z , y/x , z/y } temos que F E e E F . 3.19 - Proposio Para quaisquer substituies , e e uma expresso E, temos que: (i ) () (ii) () ( ) Demonstrao : Exerccio 11.4. 4.20 - Substituio mais geral Considere duas substituies e . Dizemos que mais geral que se existir uma substituio tal que = . Como exemplos de substituies mais gerais utilizaremos os exemplos dados no tpico 4.5.4. Observemos que: 1. 3 mais geral que 2 pois existe uma substituio 4 tal que 2 3=43. 2. 5 mais geral que 3 pois existe uma substituio 6 tal que 3 5 =65. 3.21 - Unificador Considere duas expresses A e B e uma substituio . Se tivermos que A B ento dizemos que a substituio um unificador de A e B. Tambm podemos dizer que A e B so unificveis. Exemplos: Considere as expresses E q(x,y,a) e F q(z,y2,a) e a substituio ={ x/d , y/e , z/d , y2/e }. Aplicando a substituio em E e F, temos: E q(d,e,a) e F q(d,e,a). Notemos que E F e, portanto, um unificador de E e F. Considere as expresses E p(x,y) q(y,z) e F p(z,w) q(x2,x3) e a substituio = { x/z , y/w , x2/w , x3/z }. Aplicando a substituio em E e F,

175

temos: E p(x,w) q(w,z) e F? p(z,w) q(w,z). Notemos que E F e, portanto, um unificador de E e F. Considere as expresses E p2(x,y,z) e F p2(x2,y2,z2) e a substituio = { x/x2 , y2/y , z/z2}. Aplicando a substituio em E e F, temos: E p2(x2,y,z2) e F p2(x2,y,z2). Notemos que E F e, portanto, um unificador de E e F. 3.22 - Unificador mais geral - u.m.g. Considere duas expresses A e B e um unificador de A e B. Dizemos que um unificador mais geral (umg) de A e B se for (uma substituio) mais geral do que qualquer outro unificador de A e B. Dadas duas expresses E e F, para efetivamente encontrarmos um umg para elas (caso exista) devemos: achar uma substituio tal que E F (unificador); provar que para qualquer outra substituio , mais geral que (umg). Dependendo da substituio, o segundo item pode proporcionar um certo trabalho! Para evitar isso, o prximo tpico apresenta o algoritmo de unificao : um algoritmo determina se duas frmulas atmicas tm um umg ou no. Em caso afirmativo, o algoritmo tambm fornece o umg das duas frmulas atmicas. Este algoritmo no unifica expresses em geral uma vez que o que nos importar unificar apenas pares de frmulas atmicas. 4.23 - Algoritmo de unificao Aqui apresentamos um algoritmo que como entrada recebe um par de frmulas atmicas A e B e diz se A e B tm um unificador mais geral ou no. Se ele disser que A e B tm um umg, o algoritmo tambm o fornece. Algoritmo de unificao Entrada: par de frmulas atmicas (A , B). Sada: no, se no for possvel obter um umg para A e B. sim, se for possvel obter um umg para A e B alm do prprio umg de A e B. Passo 0 : se o smbolo de predicado de A for diferente do smbolo de

176

predicado de B ento emitir no como sada e parar o algoritmo indicando uma falha, seno criar uma coleo P constitudo por pares de termos (t i, si) (i = { 1,2, ..., n } ) tais que C p(t1, ..., tn) e D p(s1,..., sn). Passo 1 : escolher aleatoriamente um par (C , D) de P; Passo 2 : se C f(s1,...,sn) e D f(t1,...,tn) ento remover o par (C , D) de P e incluir os pares (s1,t1), ..., (sn, tn) em P e voltar ao Passo 1, seno Passo 3 : se C f(s1,...,sn) e D g(t1,...,tm) ento emitir no como sada e parar algoritmo indicando uma falha, seno Passo 4 : se C D x (x varivel) ou C D c ( c constante ) ento remover o par (C , D) de P e voltar ao Passo 1, e se C c (constante) e D d ( constante) ento emitir no! e parar o algoritmo indicando falha seno Passo 5 : se C t (t termo que no varivel) e D x (x varivel) remover o par (C , D) de P e incluir o par (D , C) em P e voltar ao Passo 1, seno Passo 6 : se C x (x varivel) e D t ( t termo) e x t e x ocorre em algum par de P Alm disso, se x ocorrer em t, emitir nocomo sada e parar o algoritmo indicando uma falha, seno substituir cada x pelo termo t em todos os outros pares de P e voltar ao Passo 1. Passo 7 : se nenhum passo anterior puder ser executado ento emitir sim e parar o algoritmo. O umg de A e B dado pela substituio cujas ligaes so dadas pelos pares (C , D) que pertencem ao conjunto P. Exemplos: (Utilizao do algoritmo de unificao) Considere A p(x,y,z) e B q(x,y,z). Passo 0 : o smbolo de predicado de A diferente do smbolo de predicado de B. Portanto, o algoritmo emite no! (pois no possvel unificar A e B) e pra. 2. Considere A p(x,y,z) e B q(x2,y2,z5). Passo 0 : Os smbolos de predicado de A e de B so o mesmo. Portanto, criamos a coleo P de pares: P = { (x , x2) ; (y , y2) ; (z , z5) }. Passo 1 : Escolhemos o primeiro par (x , x 2). Observemos que: - no possvel aplicarmos o Passo 2 e o Passo 3 pois no h smbolo funcional; - no possvel aplicarmos o Passo 4 pois no temos que x x2; - no possvel aplicarmos o Passo 5 pois x2 varivel; - no possvel aplicarmos o Passo 6 pois x no ocorre em outros pares de P.

177

Notemos que para o par ( x , x2 ) no pudemos fazer muita coisa. Acontecer o mesmo ao escolhermos o segundo ou o terceiro par. Notemos que P permanecer inalterado e a teremos: Passo 7 : Portanto, o algoritmo de unificao emite sim! e fornece o umg para A e B a substituio cujas ligaes so x/x2 , y/y2 e z/z5. 3. Considere A p(x,g(a,y)) e B p(y,g (a,x)). Passo 0 : Os smbolos de predicado de A e de B so o mesmo. Portanto, criamos a coleo P de pares: P = { (x,y) ; ( g(a,y) , g(a,x) ) }. Passo 1 : Escolhemos o primeiro par (x,y). Notemos que: - no possvel aplicarmos o Passo 2 e o Passo 3 pois no h smbolo funcional; - no possvel aplicarmos o Passo 4 pois no temos que x y; - no possvel aplicarmos o Passo 5 pois os dois elementos do par so variveis; Passo 6 : x varivel e y termo (pois uma varivel). Devemos substituir x por y em outros pares em que x ocorra. Ento temos que: P = { (x,y) ; ( g(a,y) , g(a,y) ) }. e voltamos ao Passo 1. Passo 1 : j que trabalhamos anteriormente com o par (x,y), vamos escolher o par ( g(a,y),g(a,y) ). Passo 2 : os dois elementos do par tm o mesmo smbolo funcional. Portanto P fica: P = { (x,y) ; (a,a) ; (y;y) } e voltamos ao Passo 1. Passo 1 : escolhemos o par (a,a); Notemos que no aplicamos o Passo 2 nem o Passo 3 pois no h smbolo funcional. Passo 4 : removemos o par (a,a) e P fica:

178

P = { (x,y) ; (y,y) } e voltamos ao Passo 1. Ao escolhermos o par (y,y) aplicaremos o Passo 4 novamente e acabaremos por eliminar o par (y,y) de P. Portanto P fica: P = { (x,y) }. Assim, no poderemos mais aplicar nenhum dos 6 primeiros passos e teremos o Passo 7 : o algoritmo emite sim! e fornece o umg para A e B cuja nica ligao x/y. Exerccios Resolvidos. 10.1. Em cada item, dada a substituio ? e a expresso E, obtenha a instncia E?? a) E p(x,y,z2 ) e = { x/y }. b) E q(x,y) r(x,z) p(x,y,z) e = { x/a , y/b , z/x }. c) E q4(x,y,z2) e = { x/c , y/d }. d) E p(x,y,z) e = { }. Resoluo: a) Temos que substituir todas as ocorrncias de da varivel x pela varivel y e teremos E p(y,y,z2). b) Substituindo todas as ocorrncias da varivel x pela constante a, todas as ocorrncias da varivel y pela constante b e todas as ocorrncias da varivel z pela varivel y, teremos que: E q(a,b) r(a,x) p(a,b,x). c) Substituindo todas as ocorrncias da varivel x pela constante c e todas as ocorrncias da varivel y pela constante d termos: E q4 (c,d,z2). d) Aqui temos que no possui nenhuma ligao pois a substituio identidade. Temos que E p(x,y,z). 10.2. Em cada item sero dadas duas substituies e . Obtenha a composio de e ? a) = { x/a , y/b , z/x } e = { a/c}; b) = { y/b , z/x } e = { y/z}; c) = { x/y , z/y } e = { x/a , y/b}; d) = { x1/z , y/z } e = { z/c }. Resoluo: a) Temos que a composio = { x/a , y/ b , z/x , a/c } = { x/c , y/b , z/ c , a/c }; b) Temos que a composio = { y/b z/x y/z } = { y/b , z/x , y/z }; c) Temos que a composio = { x/y z/y x/a , y/b } = { x/b , z/b , y/b };

179

d) Temos que a composio = { x1 /z y/ z z/c } = { x1 /c , y/c , z/c }. 10.3. Em cada item ser dado um par de expresses (E,F). Decida se E e F so variantes. Se forem, exiba tambm substituies e tais que E F e F E. a) E p(x,y,z) e F p(y,z,x). b) E q(x) e F p(y). c) E p(x,y,z) q(x,y) e F q(y,x,z) q(z,x). d) E q(x1 ,x2 ) p(z,w) e F q(x,y) p(w,z). Resoluo: a) Temos que E e F so variantes pois tomando as substituies = { x/y , y/ z , z/x } e ={ y/x , z/y , x/z } teremos que E F. b) Temos que E e F no so variantes pois no existem substituies e tais que E F. Na verdade, o que realmente impede que E e F sejam variantes que o smbolo de predicado de E diferente do smbolo de predicado de F. c) Temos que E e F no so variantes pois no existem substituies e tais que E F. Alm disso, temos o mesmo problema do item anterior. d) Temos que E e F so variantes pois tomando as substituies ={ x1 /x, x2 /y , z/w , w/z } e = { x/x1 , y/x2 , w/z , z/w } teremos que E F. 10.4. Em cada item sero dados: uma substituio e duas expresses A e B. Verifique se um unificador de A e B. a) A p(x,y,z) , B p(y1 ,w,x1 ) e ={ x/a , y/b , z/w , y1 /a , w/b , x1 /w}; b) A q(x,y,f(w)) , B p(w,y,f(w)) e ={ x/a , y/c }; c) A tio(x,z) pai(y,w) , B tio(w,z1 ) pai(y,w) e ={ x/b , z/c , y/x , w/y , w/ b , z1 /c , w/y}; Resoluo: a) A p(a,b,w) e B p(a,b,w). Portanto, A B e um unificador para A e B; b) A q(a,c,f(w)) e B p(w,c,f(w)). Portanto, no um unificador de A e B; c) A tio(b,c) pai(x,y) e B tio(y,c) pai(x,y). Portanto, A B e um unificador para A e B; Exerccios Propostos. 11.1. Em cada item, dada a substituio e a expresso E, obtenha a instncia E.? a) E p(x,y,z) q(y,x,z,w) r(x,y) e = { x/c, y/x }; b) E p1 (x,y,z2 ) q4(x,y) r(x,y,z) e = { z2 /x , y/c , x/y };

180

c) E tio(x,z) me(x) casados(x,w) e = { x/z , w/y}; d) E casados(x,y) irmos(x,w) e = { y/w , x/a }; e) E irmo(x,y) irmo(y,z) irmo(x,z) e = { x/y , y/z , z/x }; f) E pai(x,y) irmo(x,z) tio(z,y) e = { x/a , y/b , z/c }; g) E namorados(x,y) namorados(x,z) problema(x,y,z) e = {x/y , z/x , y/ z }; h) E p(x,y,z,w) q(x) e = { }; i) E q(x) p(y) e = { w/y , x2 /a }; j) E p(x,y,z) q(x,y,z) r(x,y) e = { z/a }. 11.2. Em cada item sero dadas duas substituies e . Obtenha a composio de e :? a) = { x/a , y/b , z/x, x1 / z } e = { x/c, y/z }; b) = { y/b , z/x , x/y} e = { y/z, x/a}; c) = { y/z, x/y , z/y } e = { w/c , x/a , y/b}; d) = { x1/z , y/z , z/x , w/x} e = {y/a , z/c }; e) = { x/y , y/z , z/w } e = { y/w , x/w , z/y}; f) = { x2 /x , y2/y , z2 /z } e = { }; g) = { x/y , y/w} e = { w/x }; h) = { } e = { }; i) = { y/w , x/y } e = { y/a , z/c }; j) = { w1 /w , x2 / x} e = { x1 / z}; 11.3. Em cada item ser dado um par de expresses (E,F). Decida se E e F so variantes. Se forem, exiba tambm substituies e tais que E F e F E.? a) E p(x) q(y) e F p(z) q(w); b) E q(x,y,z) e F p(x,y,z); c) E p(x1 , x2 , z ) e F p(y,x,z); d) E pai(x,z) pai(x,y) e F pai(w,y) me (z,w); e) E p(x,y,z3) q(x,y) e F p(w1 ,w2 ,w3 ) q(x1 ,x2); f) E pai(x,z) irmos(x,y) e F pai(w1 , w2 ) irmos(x,y); g) E p(x,y,z1 , z2 ) e F q(x,y,z,w); h) E filho(x,y) filho(z,y) e F filho ( x1 , y1 ) filho ( z1 , y1 ); i) E q(y,x) e F q2 (x,y,z); j) E me(x,y) pai(z,y) e F me(y,x) pai(y,z). 11.4 Prove a Proposio 5. 11.5 Utilize o algoritmo de unificao para obter um umg para os seguintes pares de frmulas: a) A p(x,y,z) e B p(f(y) ,w,x); b) A q(x,y,z) e B p(w,y,z); c) A q(x,g(y),z) e B q(w,g(y), x1 ); d) A p6 (x,y,g(x,y) ) e B p6 ( w,z, h(w,z) ); e) A p4 ( x,y,z,w) e B p4 (x,y,g(x),w)); f) A tio(x,y,g(x,y,z) ) e B tio (w1 , w2 , g ( w1 ,w2 , w)); g) A colineares(x,g(x,y) ) e B colineares(w,g(w,x) );

181

Programas lgicos e a SLD-derivao. Nesta seo, apresentaremos o conceito de SLD-derivao. Conforme j havamos adiantado anteriormente, este conceito vem a ser um mtodo de computao de gols tal que no temos a necessidade de escrever a teoria associada ao programa: as clusulas gol podem ser diretamente submetidas ao programa. 3.24 - Resolvente Seja P um programa lgico e G A1, ..., An uma clusula gol. Suponhamos que C A B1,...,Bk uma clusula de programa de P. Se para algum i, 1 i n, podemos unificar A e Ai atravs de um umg ento chamamos: G ( A1,...,Ai-1, B1,..., Bk, Ai+1, ..., An) de resolvente de G e C. Em resumo, o resolvente de G e C vem a ser o produto da unificao do corpo da clusula gol e da cabea de uma clusula de programa de P. Podemos escrever um algoritmo para obter um resolvente de uma clusula G e de uma clusula de programa C. Algoritmo para obter resolventes. Entrada : clusula gol G e clusula de programa C; Sada : resolvente G de G e C. Passo 1: selecionar Ai em G (Ai est no corpo de G); Passo 2: unificar (se possvel) A e Ai atravs de um umg de A e Ai (podemos utilizar o algoritmo de unificao). Notemos que A a cabea de C; Passo 3: se tivermos sucesso no Passo 2 ento substituir Ai por B 1,..., Bk em G obtendo uma clusula gol G; Passo 4: aplicar o umg obtido no Passo 2 em G obtendo uma clusula G que o resolvente de G e C. Exemplos: 1. Lembra do Programa P1 da sub-seo 4.4.1? Programa P1. p(a) . (1) q(b) . (2) q(x) p(x) . (3) e consideremos a clusula gol G q(a). Se tentarmos unificar q(a) de G com (1) ou (2), obteremos falha, ou

182

seja, q(a) no pode ser unificada nem com (1) (smbolo de predicado diferente) nem com (2) (smbolo de predicado o mesmo mas o argumento que uma constante diferente). A nica clusula de programa que poder ser unificada com q(a) a (3). Podemos considerar que: G p(a). e ento temos que A1 p(a); C q(x) p(x) , A q(x) e B1 p(x); { x/a }. Agora, aplicando o algoritmo acima para G e C, temos que: Passo 1 : selecionamos A1 p(a) (s temos ele!); Passo 2 : podemos unificar A1 e A atravs de { x/a } que um umg para A1 e A; Passo 3 : j que achamos um umg de A1 e A, podemos substituir A1 por B1 obtendo a clusula gol G p(x); Passo 4 : aplicar em G e obtemos: G p(a). que o resolvente de G q(a) e de C q(x) p(x). 2. Ainda com base no Programa P1, vamos considerar a clusula gol G p(a). Observemos que G pode ser unificada com a clusula de programa (1) de P1. Podemos escrever o seguinte: G p(a) e A1 p(a); C p(a) , A p(a) e B1 pois o corpo de C vazio; = { } que a substituio identidade. Agora, aplicando o algoritmo para calcular resolventes, temos: Passo 1 : selecionamos A1 p(a) (alis, s temos ele!); Passo 2 : podemos unificar A1 e A atravs de que um umg para A1 e A; Passo 3 : j que achamos um umg de A 1 e A, podemos substituir A1 por B1 obtendo a clusula gol G ; Passo 4 : aplicar em G e obtemos: G .

183

que o resolvente de G p(a) e de C p(a) . Depois de fazer alguns exemplos, podemos notar que obter resolventes um modo indireto de aplicar particularizao e modus ponens numa teoria fornecida por um programa sem ter que escrever a teoria propriamente dita. As demonstraes de teoremas na teoria fornecida por um programa so feitas indiretamente pelas sucessivas obtenes de resolventes. Na verdade, a SLD-derivao justamente isso: ela consiste, grosso modo, de utilizarmos sucessivamente o algoritmo para obteno de resolventes para computar uma clusula gol. 3.25 - SLD-derivao Considere um programa P e uma clusula gol G. Uma SLD-derivao de P {G} consiste de: uma seqncia (finita ou infinita) G=G0, G1, G2, ... de clusulas gol; uma seqncia (finita ou infinita) C0, C1, C2, ... de clusulas de programa de P; uma seqncia (finita ou infinita) ?? ?1 ?2 ??? de substituies tais que para i = 0, 1, 2, ... Gi+1 um resolvente de Gi e Ci; ?i o umg mencionado no Passo 2 do algoritmo para obter resolvente; Ci no tem variveis em comum com Gi. Dizemos que uma SLD-derivao finita quando as seqncias Gi, Ci e i so finitas.Podemos representar atravs de um esquema grfico o processo de SLD-derivao:

Figura 7: Esquema de uma SLD-derivao.

184

Existe um jeito muito prtico e til de representar o esquema acima. Ao efetuarmos um SLD-derivao, podemos representar os gols, clusulas de programa e unificadores mais gerais do seguinte modo:

Figura 8: Modo mais prtico de representar uma SLD-derivao. Esse esquema nos permite escrever de uma maneira compacta e clara a SLD-derivao que estamos construindo. Na primeira linha temos que o gol G0 ( esquerda) e a clusula C0 ( direita) so unificadas atravs do umg 1 ?ao lado direito na altura do trao)e obtemos o resolvente G1 que escrevemos na linha seguite ( esquerda). Podemos ver que uma SLDderivao (como havamos adiantado na sub-seo anterior) a aplicao sucessiva do algoritmo de obteno de resolventes. Como na sub-seo 4.4, o nosso objetivo na SLD-derivao obter a clusula vazia. A seguir, veremos a SLD-refutao que, em poucas palavras, a computao bem sucedida de um gol. 3.26 - SLD-refutao Considere um programa P e uma clusula gol G. Uma SLD-refutao de P {G} uma SLD-derivao finita de P { G } que tem a clusula vazia como ltima clusula gol da derivao. Se Gn = , dizemos que a SLD-refutao tem tamanho n. Neste caso dizemos que o gol G foi refutado, ou que a computao de G foi bem sucedida. J que uma clusula gol F a negao de uma outra frmula F, quando refutamos F, provamos F, ou seja, provamos que F pode ser deduzida a partir do programa.

185

Na prxima sub-seo, veremos apenas exemplos de programas e computaremos alguns gols a partir deles utilizando o novo conceito de SLDderivao. Exemplos. 1. O Programa P1 ataca novamente! Programa P1. p(a) . (1) q(b) . (2) q(x) p(x). (3) Vamos considerar as mesmas clusulas gol vistas na sub-seo 4.4.2: 1. p(a). De acordo com o algoritmo de obteno de resolventes, o objetivo tentar unificar o corpo da clusula gol com a cabea de alguma clusula de programa de P1. Notemos que podemos unificar p(a) com p(a). Podemos representar isso atravs de um esquema parecido com a Figura 8: p(a) p(a) C0 p(a); G G0 p(a) e C umg = {} G1

Notemos que o resolvente a clusula vazia pois a clusula de programa tem o corpo vazio. Notemos tambm que j que obtivemos a clusula vazia como resolvente e ento obtivemos uma SLD-refutao para o gol p(a) e isto significa que p(a) pode ser deduzida a partir de P1. A partir de agora, quando obtivermos uma SLD-refutao para um gol G, diremos apenas que refutamos o gol G. 2. q(a). O objetivo tentarmos unificar o corpo da clusula gol com a cabea de alguma clusula de programa de P1. Podemos unificar q(a) com q(x) em (3). Ento, representamos: q(a) q(x) p(x) C0 q(x) p(x) p(a). G G0 q(a) e C umg 1 ={ x/a} G1 p(a).

E temos uma nova clusula gol p(a). De posse da nova clusula gol, damos uma nova olhada nas clusulas de programa de P 1 e tentamos unificar o corpo da clusula gol com a cabea de alguma clusula de programa de P1. Escolhemos a clusula de programa (2) e temos: q(a) q(x) p(x) G G0 q(a) e C C0

186

q(x) p(x) p(a) p(a) p(a)

umg 1 ={ x/a} umg 2 ={}

G1 p(a) e G2

C1

Portanto, refutamos o gol q(a). 3. p(b). O objetivo tentar unificar o corpo da clusula gol com a cabea de alguma clusula de programa de P1. Notemos que no h clusula com a qual poderamos unificar p(b). Neste caso, como no conseguimos unificar uma clusula gol com clusula de programa alguma, no podemos deduzir p(b) a partir de P1 e portanto temos apenas que G G0 p(b) e no conseguimos refutar G. Agora, examinemos o no menos famoso Programa P3: Programa P3. p(a,b) . (1) q(b,c) . (2) r(x,z) p(x,y), q(y,z). (3) Vamos considerar as mesmas clusulas gol que estudamos em 4.4.2. 1. r(a,c). O objetivo tentar unificar o corpo da clusula com a cabea de alguma clusula de programa de P3. Podemos escolher a clusula de programa (3) e temos: r(a,c) r(x,z) p(x,y), q(y,z). G G0 r(a,c) e C C0 r(x,z)p(x,y),q(y,z) 1={x/a, z/c } p(a,y), q(y,c) G1 p(a,y),q(y,c). Agora temos que unificar p(a,y) e q(y,c) com duas clusulas de P3. Ao olharmos as clusulas de programa de P3, podemos escrever: r(a,c) r(x,z) p(x,y), q(y,z). G G0 r(a,c) e C C0 r(x,z)p(x,y),q(y,z) 1={x/a, z/c } p(a,y), q(y,c) p(a,b) G1 p(a,y),q(y,c) C1 p(a,b). 2={ y/b } q(y,c) q(b,c) G2 q(y,c) C2 q(b,c). 3={ y/b } G3 .

187

Portanto, conseguimos refutar o gol r(a,c). 2. r(c,a). O objetivo tentar unificar o corpo da clusula com a cabea de alguma clusula de programa de P3. Podemos escolher a clusula de programa (3) e temos: r(c,a) r(x,z) p(x,y), q(y,z). G G0 r(c,a) e C C0 r(x,z)p(x,y),q(y,z) 1={x/a, z/c } p(c,y), q(y,a) G1 p(c,y),q(y,a). Agora temos que unificar p(c,y) e q(y,a) com duas clusulas de P3. Ao olharmos as clusulas de programa de P3, observamos que no podemos unificar nem p(c,y) nem q(y,a) com alguma clusula de P3. Portanto, no temos uma SLD-refutao para r(c,a). Estudo de caso: relaes de parentesco. Para ilustrar toda essa teoria de programao em lgica, vamos ver um estudo de caso onde poderemos ver uma das aplicaes de programas lgicos. Atravs de programas lgicos podemos armazenar informaes sobre as relaes de parentesco de pessoas dentro de uma famlia. Consideremos, por exemplo, a seguinte rvore de famlia:

Jos

Maria

Fbio

Snia

Ana

Eduardo

Carlos

Mariana

Marcos

Ftima

Adriano

Cludia

Mrio

Paula

Atravs dos predicados: homem(x) x do sexo masculino e mulher(y) y do sexo feminino podemos escrever: homem(Jos). homem(Fbio). (1) (2)

188

(3) homem(Eduardo). 4) homem(Carlos). (5) homem(Marcos). (6) homem(Adriano). (7) homem(Mrio). e (8) mulher(Maria). (9) mulher(Snia). (10) mulher(Ana). (11) mulher(Mariana). (12) mulher(Ftima). (13) mulher(Cludia). (14) mulher(Paula). Podemos definir os predicados: pai(x,y) x pai de y me(z,w) z me de w e continuar a escrever: (15) pai(Jos,Fbio). (16) pai(Jos,Ana). (17) pai(Jos,Carlos). (18) pai(Fbio,Marcos) (19) pai(Fbio,Ftima). (20) pai(Eduardo,Adriano). (21) pai(Eduardo,Cludia). 22)pai(Carlos,Mrio). (23)pai(Carlos,Paula). (24)me(Maria,Fbio). (25)me(Maria,Ana). (26)me(Maria,Carlos). (27) me(Snia,Marcos). (28) me(Snia,Ftima). (29) me(Ana,Adriano) (30) me(Ana,Cludia). (31) me(Mariana, Mrio). (32) me(Mariana,Paula).

189

Tendo essas relaes de parentesco bsicas estabelecidas, podemos construir outros predicados baseados nesses mais bsicos. Um exemplo seria o predicado irmo . Como poderamos estabelecer que duas pessoas so irms baseados nos predicados que temos at agora? Uma sugesto seria o seguinte: irmos(x,y) pai(z,x),pai(z,y). (33) Para duas pessoas x e y serem irms, podemos ter que existe uma pessoa z tal que z pai de x e z pai de y. Dizer isto sufuciente? Considere o programa P formado pelas clusulas de (1) at (33). Faamos a seguinte consulta: irmos(Mrio,Paula). Temos, ento, o seguinte gol: G irmos(Mrio,Paula) e a seguinte SLD-derivao: irmos(Mrio,Paula) pai(z,Mrio), pai(z,Paula) irmos(x,y)pai(z,x),pai(z,y) umg = { x/Mrio , y/Paula } pai(Carlos,Mrio) umg = { z/Carlos }

Como a clusula G foi refutada (obtivemos uma SLD-refutao) ento irmos(Mrio,Paula) pode ser deduzida a partir de P. Portanto, Mrio e Paula so irmos. Poderamos definir outro predicado como, por exemplo, filho(x,y) x filho de y. Poderamos definir este predicado do seguinte modo: filho(x,y) pai(y,x),homem(x) (34) que quer dizer : para que x seja filho de y, y deve ser o pai de x e alm disso x deve ser do sexo masculino. Tambm poderamos ter definido o predicado de filho(x,y) por: filho(x,y) me(y,x),homem(x) (35) que significa : para que x seja filho de y, y deve ser a me de x e alm disso x deve ser do sexo masculino. Notemos que, no nosso caso, como para cada filho x temos uma clusula do tipo pai(y,x) e uma clusula do tipo me(z,x) ento qualquer uma das clusulas (34) ou (35) serve. Vamos manter as duas clusulas. Ao colocarmos todas as possibilidades de definio de um predicado, vamos obter informaes de rvores de famlia que podem no estar to completas como no nosso exemplo. Vamos considerar a clusula gol G filho(Marcos,Jos). S dando

190

uma olhada na rvore, j podemos dizer que esta clusula gol no poder ser refutada pois Marcos , na verdade, neto de Jos. Vejamos: filho(Marcos,Jos) filho(x,y) pai(y,x),homem(x) umg = { x/Marcos , y/Jos } pai(Jos,Marcos),homem(Marcos) homem(Marcos). umg = { }

pai(Jos,Marcos) E a no conseguimos mais continuar a SLD-derivao. Notemos que no obtivemos uma SLD-refutao da clusula gol G. Portanto, no podemos deduzir filho(Marcos,Jos) a partir de P. Portanto, Marcos no filho de Jos. Qual seria uma maneira de definir o predicado tio(x,y) x tio de y Uma das maneiras seria: tio(x,y) pai(z,y),irmos(x,z) (36). Considerando a clusula gol G tio(Carlos,Marcos), vamos tentar obter uma SLD-refutao. Pela rvore de famlia, sabemos que Carlos tio de Marcos. tio(Carlos, Marcos) Carlos , y/Marcos} pai(z,Marcos),irmos(Carlos,z) irmos(Carlos,Fbio) pai(z,Carlos),pai(z,Fbio) pai(Jos,Fabio) tio(x,y) pai(z,y),irmos(x,z) umg = { x/ pai(Fbio,Marcos). umg = { z/Fbio} irmos(x,y)pai(z,x),pai(z,y) umg = { x/Carlos , y/Fbio } pai(Jos,Carlos) umg = { z/Jos} pai(Jos,Fbio) umg = { }

E portanto o gol G pode ser deduzido a partir de P. Portanto, Carlos tio de Marcos. Outro modo de definir o predicado tio(x,y) o seguinte: tio(x,y) me(z,y),irmos(x,z). Exerccios Propostos. 7.1. Considere o exerccio proposto 4.4.4.1. Para cada item do exerccio 4.4.4.1. faa a computao das clusulas gol dadas diretamente a partir do programa.

191

7.2. Consideremos o problema de relaes de parentesco. Cada item um predicado a ser definido. Para cada predicado, escreva todas as maneiras como podemos defini-lo: a) tia(x,y) x tia de y; b) sobrinho(x,y) x sobrinho de y; c) sobrinha(x,y) x sobrinha de y; d) av(x,y) x av de y; e) av(x,y) x av de y; f) neta(x,y) x neto de y; g) neta(x,y) x neta de y; h) primos(x,y) x e y so primos. 7.3. Considere a rvore da sua prpria famlia. Primeiramente, faa um esboo desta rvore: incluindo seus pais, tios, avs, primos, cnjuge, filhos. Escreva clusulas incondicionais para relaes de parentesco do tipo pai, me,etc., como fizemos na sub-seo 4.6.5 e depois inclua as clusulas condicionais que definem os predicados vistos at gora.

3.27 - Um pouco de PROLOG O PROLOG, grosso modo, o concretizador dos programas lgicos: Fornecemos a ele um programa lgico e depois podemos fazer vrias consultas ao programa. O PROLOG ao ler a consulta, a transforma num gol e tenta uma SLD-refutao deste gol no programa lgico que ele tem dentro de si. Se conseguir, ele responde sim! o que significa que ele conseguiu refutar o gol que o mesmo que dizer que a consulta pode ser deduzida a partir do programa. Ele tambm pode responder no! quando um determinado gol Gi da SLD-derivao no puder mais ser unificado com alguma das clusulas do programa. Alm de sim! e no! o PROLOG pode no responder nada. Isso mesmo! Parece estranho mas verdade! Na sub-seo 7.1 vamos mostrar como escrever programas PROLOG. Por exemplo, no poderemos utilizar a nossa tradicional para escrever programas PROLOG. Na sub-seo 7.2 veremos um pouco mais o que estvamos comentando no pargrafo anterior: a estratgia ingnua de refutao do PROLOG. 4.28 - A notao do PROLOG A nica diferena entre um programa lgico e um programa PROLOG a notao. Vamos escrever o Programa P1 da sub-seo 4.4.1 na notao de PROLOG. Programa P1 (notao de programa lgico). p(a) .

192

q(b) . q(x) p(x). Escrevendo P1 na notao de PROLOG, temos: Programa P1 (notao de PROLOG). p(a). q(b). q(X) :- p(X). Observaes: constantes so representadas por letras minsculas e as variveis, por letras maisculas; todas as clusulas de programa so finalizadas com . (ponto final); clusulas de programa incondicionais no necessitam de no final. Apenas devemos escrever a(s) frmula(s) seguidas do ponto final; o conectivo de implicao das clusulas de programa condicionais representado por :- (dois pontos seguidos de um hfen). As consultas so representadas por ?-p(a) (por exemplo) ao invs de p(a). Escrevendo o Programa P3 da sub-seo 4.4.1 na notao de PROLOG, temos: p(a,b). q(b,c). r(X,Z) :- p(X,Y),q(Y,Z). E o Programa P4, fica: p(X) :- p(X). p(a). q(c). p(b). Conforme vimos na seo 4.4, o programa P4 tem uma peculiaridade: ao considerarmos a consulta ?-p(a) ou seja, tentar refutar o gol p(a), tnhamos dois caminhos: j podamos unificar o gol p(a) com a clusula p(a) diretamente e a j obteramos a clusula vazia. Alternativamente, poderamos unificar o gol p(a) com a primeira clusula obtendo o mesmo gol p(a) e acabaramos por ter uma computao sem trmino. Cabe a ns escolher a clusula de programa que nos leve mais facilmente clusula vazia. Tendo isso em mente, no escolheramos a primeira clusula para o gol p(a) porm escolheramos a segunda clusula. Esse tipo de raciocnio que fizemos se constituiu numa estratgia, ou seja, fizemos uma espcie de anlise

193

antes de escolher uma clusula de programa. Comentamos a estratgia que ns, humanos, adotaramos para tentar refutar gols em um programa lgico. Vimos que o PROLOG faz esse servio para ns. Ser que ele possui a sua prpria estratgia??? A resposta est na prxima sub-seo. 3.29 - A estratgia do PROLOG Suponhamos que temos um programa P e as suas clusulas de programa so C1, C2, ..., Ck onde Ci a clusula de programa de P que est escrita na i-sima linha do programa. Dado Ci, dizemos que i o ndice da clusula Ci. Suponhamos tambm que temos um gol G que desejamos refutar a partir de P. Como j vimos, a idia e achar um i tal que podemos unificar a cabea de Ci com o corpo de G. Caso 1. pode ser que tais clusulas no existam; Caso 2. pode ser que exista apenas uma clusula e Caso 3. pode ser que existam vrias clusulas de programa de P cujas cabeas podem ser unificadas com o corpo de G. No Caso 1, o PROLOG (assim como ns) diremos que G no pode ser refutado e paramos a computao. No Caso 2, suponhamos que a clusula de programa de P cuja cabea unificvel com o corpo de G Ci. O PROLOG (assim como ns) unificar G e Ci e obter um resolvente. No Caso 3, consideremos Q, o conjunto formado por mais de uma clusula de programa de P cuja cabea unificvel com o corpo de G. Neste caso, ns, humanos, vamos escolher, atravs de algum julgamento, a melhor clusula de Q que ser unificada com G. J o PROLOG sempre escolher a clusula de programa de Q de ndice mnimo. Este jeito de escolher a clusula para unificao muito importante: pode haver uma diferena de resposta entre ns, humanos, e o PROLOG. Lembra do Programa P4? Programa P4. p(X):-p(X). p(a). q(c). p(b). (1) (2) (3) (4)

Se fizermos a consulta ?-p(a), ns, humanos, escolheramos a clusula (2) para a unificao e j obteramos a clusula vazia, refutando o gol p(a) correspondente consulta ?-p(a). Porm, o PROLOG escolher (1) e obter novamente o mesmo gol como resolvente, a saber , p(a). De posse do novo gol, o PROLOG ler a lista de axiomas de P4 e escolher (1) novamente

194

para a unificao obtendo, como resolvente, o mesmo gol p(a) e assim por diante. Enquanto que ns, humanos j obtemos uma refutao para o gol p(a), o PROLOG prosseguir a SLD-derivao sempre utilizando a clusula (1) e no parar a computao. Neste caso de computao sem trmino, o PROLOG no emite resposta alguma. Este modo atravs do qual o PROLOG escolhe as clusulas para unificao um tipo de estratgia determinstica que, grosso modo, um mtodo precisamente definido de, no nosso caso, escolha de clusulas. J o modo com ns, humanos, escolhemos uma clusula a ser unificada um tipo de estratgia no-determinstica, ou seja, no existe uma regra ou um mtodo precisamente definido para a escolha de clusulas de programa. 3.30 - Interpretador PROLOG Para fazer com que o computador faa as SLD-derviaes para ns, necessrio ter um interpretador PROLOG. Um interpretador um programa que capaz de ler programas lgicos e, ao ser perguntado, consegue fazer a SLD-derivao da clusula gol que foi perguntada. Um interpretador PROLOG tradicional aps ser chamado, exibir o seguinte prompt : ?A partir desse prompt podemos pedir a ele que leia programas lgicos e uma vez que j temos o programa carregado, podemos fazer consultas. Por exemplo, suponhamos que j temos o Programa P1 (aquele mesmo!) carregado pelo interpretador PROLOG. Podemos fazer as seguintes consultas: ?- p(a). yes. ?-p(c). no. Como carregar programas e outros detalhes tcnicos so coisas especficas de cada interpretador PROLOG e deixamos o estudo destes detalhes a cargo do leitor. Estudo de caso: Alice, o Leo e o Unicrnio. O problema que vamos estudar agora uma passagem do livro Alice no pas das maravilhas de Lewis Carol. Poucas pessoas sabem que Lewis Carol era um lgico. Se lermos o livro Alice no pas das maravilhas mais atentamente perceberemos um certo contedo de lgica por trs do texto. A passagem do texto a seguinte: Alice entra em uma floresta e perde a noo dos dias da semana. O Leo e o Unicrnio eram duas das criaturas

195

que habitavam a floresta. Alice os encontra e deseja obter alguma informao sobre o dia da semana. O problema que o Leo mente em determinados dias da semana e o mesmo acontece com o Unicrnio. Alice sabe que eles mentem e sabe em que dia cada um mente. Naquela poca o Leo mentia s segundas, teras e quartas e falava a verdade nos outros dias da semana. O Unicrnio mentia s quintas, sextas e sbados e falava a verdade nos outros dias da semana. Quando Alice os encontra o Leo diz: Ontem foi um dos meus dias de mentir! e o Unicrnio diz: Ontem foi um dos meus dias de mentir! A partir dessas informaes, Alice descobriu o dia da semana. Qual era? A idia implementar um programa lgico que dadas as informaes sobre os dias que o Leo e o Unicrnio mentem, o programa determina em que dia Alice, o Leo e o Unicrnio se encontraram. Inicialmente, devemos criar o predicado ontem cuja a funo fornecer a seqncia dos dias da semana para o programa. Este predicado tem o seguinte formato: ontem (x,y) x dia da semana que vem depois do y. Isto posto, podemos escrever: ontem(domingo, sbado) . ontem(segunda, domingo) . ontem(tera, segunda) . ontem(quarta, tera) . ontem(quinta, quarta) . ontem(sexta, quinta) . ontem(sbado, sexta) . Agora, precisamos criar um predicado que relacione o Leo e o Unicrnio aos dias em que eles mentem. O predicado mentira faz este servio: mentira (x, y) x mente no dia y e temos que x pode ser o Leo ou o Unicrnio. A varivel y um dos dias da semana. Podemos, de acordo com o que foi fornecido sobre os dias em que os dois mentem, escrever o seguinte: mentira(leo, segunda). mentira(leo, tera).

196

mentira(leo, sbado). mentira(leo, domingo). mentira(unicrnio, segunda). mentira(unicrnio, quarta). mentira(unicrnio, sexta). mentira(unicrnio, domingo). Temos que o programa completo : ontem(domingo, sbado) . ontem(segunda, domingo) . ontem(tera, segunda) . ontem(quarta, tera) . ontem(quinta, quarta) . ontem(sexta, quinta) . ontem(sbado, sexta) . mentira(leo, segunda). mentira(leo, tera). mentira(leo, sbado). mentira(leo, domingo). mentira(unicrnio, segunda). mentira(unicrnio, quarta). mentira(unicrnio, sexta). mentira(unicrnio, domingo). Este programa suficiente para Alice determinar o dia em que ela conversou com o Leo e o Unicrnio porm devemos fazer as consultas corretamente para obtermos alguma resposta. Quando o Leo (ou o Unicrnio) diz que o dia anterior era um dos dias dele mentir ele pode estar mentindo. Como temos o Leo e o Unicrnio, temos quatro possibilidades: os dois podem estar mentindo no dia em que falam, um mentir, outro no e assim por diante. Isto posto, podemos fazer as seguintes quatro consultas: ontem(X,Y), mentira(leo,Y), verdade(leo,X) : o leo est mentindo no dia em que ele conversa com a Alice e diz a verdade no dia anterior. Se aplicarmos a regra de resoluo para esta consulta composta de trs predicados, obteremos que X = qui e Y = qua. ontem(X,Y), mentira(unic,Y), verdade(unic,X) : mesma situao acima s que para o unicrnio. Se aplicarmos a regra de resoluo, obteremos X = dom e Y = sab; a) a)

197

ontem(X,Y), verdade(leo, Y), mentira(leo, X) : quando o leo falou com Alice ele disse a verdade sobre o dia anterior. Obtemos X = seg e Y = dom; ontem(X,Y), verdade(unic, Y), mentira(unic, X) : mesma situao acima para o unicrnio. Obtemos X = qui e Y = qua. Notemos que nas consultas a) e d) temos que X = qua e Y = qui e o dia em que os trs conversaram foi quinta-feira. 3.31 - Assuntos relacionados programao em lgica O que fizemos neste captulo foi apenas dar uma pequena introduo programao em lgica e ao PROLOG. Na verdade, o PROLOG apenas um instrumento de concretizao da teoria de programao em lgica. A teoria de programao em lgica constitui a base para a construo de sistemas especialistas. Estes sistemas especialistas so programas construdos para armazenar informaes sobre um determinado assunto e ser capaz de responder perguntas (consultas) sobre esse assunto quando perguntado. O programa de relaes de parentesco um pequeno exemplo de sistema especialista. A teoria de programao em lgica que apresentamos a teoria de programao em lgica clssica. Existem muitas lgicas no-clssicas, isto , lgicas cujos valores verdade no so apenas V ou F. Em alguns casos tambm temos teorias de programao em lgicas no-clssicas. Exerccios Propostos. 4.1. Refaa o exerccio 4.6.7.2. s que desta vez utililize a notao do PROLOG. 4.2. Refaa o exerccio 4.6.7.3. utilizando a notao do PROLOG. 4.3. Refaa o exerccio 4.6.7.3. e implemente o programa num interpretador PROLOG. Para cada consulta, faa primeiro a SLD-derivao no papel e depois submeta a consulta ao interpretador PROLOG. 4.4. Alice encontra o Leo e ele diz: Eu menti ontem e mentirei amanh. . Aproveitando a tabela de mentiras j colocada anteriormente, faa um programa e construa consultas convenientes para Alice poder descobrir em que dia ela encontrou o Leo. a)

a)

198

3.5. Desta vez o Unicrnio encontra Alice e diz: Eu menti antes de ontem e mentirei depois de amanh.. Aproveitando a tabela de mentiras j colocada anteriormente, faa um programa e construa consultas convenientes para Alice poder descobrir em que dia ela encontrou o Leo.

199

4 CIRCUITOS LGICOS DE CHAVEAMENTO


Introduo Neste captulo abordaremos as aplicaes da Lgica em circuitos eltricos e eletrnicos simulados por meio de chaves. A Lgica aplicada em circuitos eltricos com chaves que impedem ou deixam passar sinais forma os chamados circuitos de chaveamento ou circuitos lgicos. Os circuitos de chaveamento permitem a elaborao de projetos e circuitos Lgicos para serem utilizados em Sistemas digitais complexos aplicados em vrios campos da Engenharia. Os circuitos de Chaveamento so aqueles representados por meio de chaves que ligam e desligam conforme o estado binrio Verdadeiro ou Falso da sentena Lgica. Configuraes destes circuitos vo formar as Portas Lgicas primitivas que iro representar as equaes booleanas com utilizao particular a cada situao. Os circuitos estudados sero limitados queles chamados combinacionais, isto , circuitos nos quais a sada depende apenas dos valores das entradas, portanto no levam em considerao valores prvios (memorizados) utilizados nos circuitos chamados de seqenciais. 4.1. A lgebra da Lgica As operaes sobre proposies lgicas podem ser feitas atravs das chamadas funes de verdade. As funes de verdade so aquelas que trabalham com valores-verdade das proposies, valores estes ditos: falso ou verdadeiro. O estudo deste tipo de funo que determina a veracidade ou a falsidade das proposies chamado de calculo proposicional ou Lgica Algbrica. Representaes das Funes Para possibilitar a representao da funo verdade por meio de circuitos de chaveamento so utilizados alguns dispositivos dos circuitos eltricos.

201

Entre estes dispositivos o mais importante a Chave eltrica do tipo liga-desliga. So estas chaves que vo representar os estados lgicos das proposies reconhecidas como sinais das entradas (A, B, C, etc..). Uma chave um dispositivo ligado um ponto do circuito eltrico que pode assumir apenas um dos dois estados, aberto ou fechado. No estado aberto a chave permite que a corrente eltrica passe atravs do ponto e no estado fechado a chave impede a passagem da corrente. Indicaremos uma chave por meio de smbolos correspondentes s letras A, B, C, etc., onde cada uma das letras simboliza uma sentena. Considerando uma chave como representante de uma sentena A temos que: a chave estar fechada quando a sentena A for verdadeira e estar aberta quando sentena A for Falsa. Veja o smbolos na figura a seguir onde as chaves A e B representam as proposies A e B, respectivamente.

Chave A Desligado A=0

Ligada A=1

Quando as chaves (A ou B) estiverem ligadas estaro representando estados lgicos Verdadeiros com valores iguais a 1 e quando desligadas representam os estados lgicos Falsos com valores iguais a 0. As chaves A e B so completamente independentes e podem ser interligadas em diferentes configuraes representando as diferentes funes verdades. Outros dispositivos utilizados no apoio das representaes so: fontes de tenso contnua E (bateria ou pilha) que vai nos fornecer uma diferena de Potencial ou tenso eltrica proporcionando capacidade para fazer fluir uma corrente eltrica no circuito, Resistor R que permite a limitao de corrente evitando curtos-circuitos e lmpadas L que acesas ou apagadas representaro os estados Lgicos dos sinais de sada. Os dispositivos que serviro para representar as funes com os modos de representao esto apresentados nas prximas figuras. A Fonte de tenso contnua E fornece a voltagem necessria para possibilitar passagem pelo circuito de uma corrente eltrica I que vai acender as lmpadas. Uma corrente eltrica um fluxo direcionado de eltrons. Os eltrons ao passarem no filamento da lmpada sofrem resistncia sua movimentao e provocam atrito resultando em aquecimento e incandescncia no material. O filamento incandescente produz a luz. Em um circuito eltrico de chaveamento a lmpada se acender

202

quando as chaves eltricas estiverem fechadas e interligadas numa configurao tal que crie um caminho que permita a passagem da corrente de eltrons at a lmpada.

Resistncia eltrica a propriedade que certos materiais possuem de resistir passagem da corrente eltrica. Por exemplo, o filamento da lmpada feito de tungstnio tem maior resistncia passagem dos eltrons do que os fios condutores que so feitos de cobre. A resistncia eltrica uma grandeza fsica medida em Ohms (). O Resistor um dispositivo que apresenta esta propriedade, portanto, uma da sua aplicao ser inserido nos circuitos para limitar a passagem da corrente. R

Resistor As lmpadas vo representar os estados lgicos da sada S. O seu estado, acesas = 1 e apagada S= 0 so dependentes exclusivamente das configuraes das chaves que esto representando nos circuitos de chaveamento as funes verdade. Na notao adotada, quando a lmpada estiver acesa porque existe uma corrente eltrica I fluindo pelo seu filamento. Portanto a lmpada acesa representa o estado lgico Verdadeiro de valor igual a 1. Se a lmpada estiver apagada, no existe corrente, portanto, o estado Lgico Falso e tem valor 0.

203

Lmpada L I Tem corrente: Lmpada acessa S=1

No tem corrente: Lmpada apagada S=0 4.2. Negao Lgica - circuito no Para construo dos circuitos de chaveamento que vo simular as funes lgicas, vamos iniciar por aquele que representa a negao lgica. A negao lgica o exemplo mais comum de uma operao com funo de verdade. Como vimos no captulo 2, a negao Lgica enunciada da seguinte forma,: Se A uma proposio, sua negao A, verdadeira quando A falsa e falsa quando A verdadeira. A relao entre os valores verdade de A e de (A) pode ser representada atravs da seguinte tabela verdade:

A 1 0 Circuito Lgico

(A) 0 1

O circuito que representa uma funo de negao Lgica conhecido como inversor lgico e sua configurao mostrada na figura a seguir:
I + E R Lmpada L

S=1

204

Observao: No circuito do Inversor Lgico foi acrescido um resistor R para limitar a corrente eltrica evitando-se o curto-circuito no fechamento da chave A. Funcionamento: Com a chave A aberta teremos o valor da Proposio representando Falsidade portanto, valor lgico A=0. Considerando o sentido convencional da corrente eltrica, isto , o fluxo ordenado de eltrons saindo do terminal positivo da bateria passando pelos componentes e retornando pelo terminal negativo, verificamos que a corrente impulsionada pela fonte de tenso E, passa pela Lmpada L e pelo resistor R. A passagem da corrente de eltrons pela lmpada produz o seu acendimento simbolizando uma sada S=1, portanto A=0 resulta em S=1. Verifique a figura a seguir onde ocorre o fechamento da chave A:

I
+ E R I

Lmpada L S=0

R A chave A ligada representa uma proposio com estado lgico Verdadeiro, portanto, de valor lgico igual a 1. Nestas condies verifica-se que toda a corrente eltrica passa atravs da chave e vai direto para o resistor R. Como a corrente de eltrons sempre procura o caminho mais fcil, nos terminais da Lmpada a intensidade da corrente eltrica nula e ela est apagada. Sem a corrente eltrica passando pelo seu filamento, a lmpada L no acender simbolizando uma sada S de estado lgico Falso, portanto de valor igual a 0. Para facilitar a representao de circuitos de chaveamento que simule equaes lgicas com vrias proposies, vamos utilizar na representao de uma negao Lgica a chave da proposio funcionando em conjunto com uma chave especial. Esta chave especial representada pelo smbolo de negao , conforme mostra a figura a seguir.

205

Este conjunto funcionar da seguinte forma: A chave da negao Lgica depende exclusivamente do estado da chave que representa a Proposio. Se a proposio A for verdadeira o resultado do seu estado lgico A=1 e a chave da negao Lgica estar fechada, o que vai ocasionar o estado da Lmpada desligada, isto , o estado Lgico da sada Falso com S = 0. Caso a chave que representa a proposio A esteja aberta, simboliza um estado Lgico Falso (A=0). Nestas condies, chave da negao Lgica estar desligada e a Lmpada estar acesa representando um estado Lgico Verdadeiro com S=1. 4.3. Conjuno Lgica - Circuito E A Conjuno Lgica tambm pode ser representada por meio de configuraes de chaves representativas de Proposies. Conforme foi visto no captulo 2, a conjuno Lgica enunciada da seguinte forma: Se A e B so sentenas quaisquer em U, a forma conjuntiva (A B) Falsa se, e somente se, A for Falsa ou B for Falsa ou ambas forem Falsas. O valor verdade de ( A B ) pode ser representada atravs da seguinte tabela de valores verdade: A B (A B) 1 1 1 1 0 0 0 1 0 0 0 0 Na tabela podemos observar que as entradas representadas pelas proposies A e B podem ser relacionadas sada recebendo as seguintes afirmativas: A sada S s verdadeira se, e somente se, A e B forem verdadeiras, em qualquer outro caso a sada S Falsa. Em outras palavras, a sada s ter nvel Lgico 1 se ambas as entradas estiverem com nvel Lgico 1. Basta que uma das entradas apresente nvel Lgico 0 para produzir um nvel Lgico 0 na sada. O circuito E que representa uma funo da conjuno Lgica pode ser configurado por meio de chaves, conforme a figura a seguir:
x + E AA B

S=0

S=AB

206

Funcionamento: com as duas chaves desligadas representando as proposies A e B como Falsas, no h passagem de corrente eltrica para a Lmpada, ficando a mesma apagada. Neste caso, o estado Lgico resultante da sada tem nvel 0. Se apenas uma das chaves for ligada permanecendo a outra desligada, no o suficiente para permitir a passagem da corrente eltrica para a lmpada. Como os eltrons vo circular por apenas um nico caminho condio necessria que as duas chaves sejam ligadas para permitir que a corrente flua para a lmpada, acendendo-a e representando o estado lgico Verdadeiro com valor 1 na sada. Conforme foi visto, no circuito de chaveamento lgico da Conjuno a corrente eltrica vai passar pelos pontos x e y se, e somente se (A B) verdadeira. Diz-se que as duas chaves esto em srie. Este caso pode ser generalizado para qualquer nmero finito de chaves ligadas em srie conforme mostra a prxima figura.

A1 x

A2

A3

An y

Na Conjuno a condio para a corrente eltrica passar atravs do circuito a de (A1 A2 A3 ... An ) ser Verdadeira. O conectivo da conjuno aquele onde, para se obter o estado lgico da sada, liga-se as duas condies de entrada pela letra e. Por isto este circuito conhecido como circuito Lgico E, ou pelo termo originado da lngua inglesa, circuito lgico AND. 4.4. Disjuno Lgica - Circuito OU No captulo 2, a disjuno Lgica foi enunciada em linguagem natural da seguinte forma: Se A e B so sentenas quaisquer em U, a forma disjuntiva (A V B) Falsa se, e somente se, A for Falsa e B for Falsa. Como foi feito na conjuno Lgica, a disjuno pode ser representada por uma relao entre os valores verdade de A e B atravs da seguinte tabela: A B (A B) 1 1 1 1 0 1 0 1 1 0 0 0 verificado nos valores da tabela que as entradas representadas

207

pelas Proposies A e B podem ser relacionadas sada recebendo as seguintes afirmativas: Para a sada S ser verdadeira basta que apenas uma das entradas A ou B sejam verdadeiras. A sada S s ser falsa se ambas as entradas A e B forem Falsas. Em outras palavras, a sada ter nvel Lgico S=1 se pelo menos uma das entradas A ou B estiver com nvel Lgico 1. O circuito OR que representa uma funo da disjuno Lgica pode ser configurado por meio de chaves, conforme mostra a figura a seguir:
A

B + E S=0

S = (A V B)

Funcionamento: com as duas chaves desligadas representando as proposies A e B como Falsas, no h passagem de corrente eltrica para a Lmpada ficando a mesma apagada. Neste caso, o estado Lgico resultante da sada tem nvel 0. Se pelo menos uma das chaves A ou B for ligada suficiente para permitir a passagem da corrente eltrica para a lmpada. Como os eltrons podem circular atravs das chaves por caminhos diferentes, no necessrio que as duas chaves estejam ligadas para permitir que a corrente flua para a lmpada. Basta uma nica chave ligada para acende-la e assim representar o estado lgico verdadeiro com valor 1 na sada. Conforme foi visto, no circuito da disjuno a corrente eltrica passa entre os pontos x e y se e somente se, (A V B) verdadeira. Diz-se que as chaves esto ligadas em paralelo. Este exemplo pode ser generalizado para qualquer nmero finito de chaves ligadas em paralelo. Veja a figura a seguir:
A1

A2 x A3 y

An

208

Na Disjuno condio para a corrente eltrica passar atravs do circuito a de (A1 A2 A3 ... An ) ser Verdadeira. O conectivo da Disjuno aquele onde para se obter o estado lgico da sada, liga-se as duas condies de entrada pela letra ou. Por isto este circuito conhecido como circuito Lgico OU, ou pelo termo originado da lngua inglesa circuito lgico OR. 4.5. Exemplos de aplicaes Exemplo 1 - Dada a equao lgica: [ (A B )] = S construa o circuito de chaveamento que simule a equao. Resoluo: A equao dada expressa uma negao de uma conjuno lgica entre duas proposies A e B. Isto significa que a sada S s verdadeira ( S =1) se e somente se, a negao lgica da conjuno entre as proposies A e B for verdadeira. Esta condio descrita pela equao: [ (A B )] =1. Inicialmente elaboramos uma tabela verdade onde so consideradas todas as combinaes possveis entre as duas proposies e a sua negao. A B (A B) [ (A B )]

Condio 1 Condio 2 Condio 3 Condio 4

1110 1001 0101 0001


Estado Lgico da Sada S Estados Lgicos intermedirios

Pela coluna do resultado final visto que as situaes 2,3 e 4 so aquelas que satisfazem a condio de S=1. Pode-se notar que, basta que uma das chaves esteja aberta para que a lmpada seja acesa simbolizando uma condio Verdadeira. A partir desta anlise construdo o circuito. O diagrama do circuito de chaveamento apresentado na prxima

209

figura:
A + E B

S =[ (AB )]

Exemplo 2 - Construa o circuito de chaveamento para a equao Lgica : [ (A V B )] = S Resoluo: Esta equao expressa negao de uma disjuno lgica entre duas proposies A e B. Neste caso a negao da disjuno se caracteriza pela afirmao de que a sada S s verdadeira (S =1) se e somente se, a negao lgica da disjuno entre A e B for verdadeira, isto : [ (AVB )] =1. Usando do mesmo procedimento anterior, elaborado primeiramente uma tabela verdade onde so consideradas todas as combinaes possveis entre as proposies A e B e a sua negao Lgica.
A B (A B ) [ (A B )]
~ C o n d ica o 1 ~ C o n d ica o 2 ~ C o n d ica o 3 ~ C o n d ica o 4

11 1 0 10 01 01 01 00 01
E stad o L o g ic o s d a S a id a S

E sta do s L o gic o s inte rm e dia rio s

visto pela coluna do estado lgico resultante que nesta equao lgica somente a situao 4, onde as duas proposies tm valor lgico igual a 0, satisfaz a condio de S=1, portanto para que a lmpada seja acesa simbolizando uma condio Verdadeira necessrio que as duas chaves estejam desligadas. Com base nestas consideraes construdo o circuito de chaveamento lgico apresentado a seguir:
A

B S = [ (AVB )] + E -

210

Exemplo 3 - Construa o circuito de chaveamento que simule a equao: [( (A B ) ) (CVD)] = S Resoluo: O mtodo utilizado para construo do circuito segue os procedimentos anteriores: 1- Inicialmente construdo uma tabela verdade para analises das situaes entre as proposies A e B. 2- Em uma coluna, que extenso da tabela anterior, so tambm analisadas as situaes entre as proposies C e D. 3- Em seguida na outra coluna so analisados logicamente e colocados os resultados obtidos entre as duas anlises das colunas anteriores. As anlises so feitas obedecendo a equao e assim, obtm-se na ltima coluna o resultado final.

A B (A B ) ( (A B )) 11 1 0 10 01 01 01 00 01

CD ( C D) 11 1 10 1 01 1 00 0

[(

(A B ))

( C D )]

S aid a S

O circuito de chaveamento lgico que corresponde ao resultado da tabela verdade, portanto que simula a equao mostrado na prxima figura.

D A B

+ E R

Exemplo 4 - Considere um sistema de alarme residencial composto por trs

211

sensores sA, sB, e sC, do tipo chave liga-desliga, instalados em trs portas de entrada de um compartimento que se deseja proteger. Com o sistema ativo, na decorrncia de um dos sensores ser ligado se acender uma lmpada acusando uma anormalidade. Uma chave sD instalada do lado de fora do compartimento e em local secreto conhecido apenas pelo usurio, poder ser ligada para deixar o sistema inativo. Com base na descrio acima elabore a equao Lgica e o Circuito de chaveamento Lgico do Sistema. Resoluo: Vamos considerar os sensores como sendo as proposies de entrada tal que: Sensor sA = A Sensor sB, = B Sensor sC = C Chave secreta sD = D Lmpada de alarme L = Sada S Equao Lgica : Basta que uma das chaves A, B e C fique ligada para que a Lmpada acenda, portanto uma disjuno do tipo: (AV BVC )= S1 Conforme a descrio do funcionamento do Sistema para a equao acima ser verdade necessrio que a chave D esteja desligada, isto , a negao lgica de D (D) tem que ser Verdadeira. Portanto esta condio ligada anterior pela conjuno lgica. Deste modo a equao final que simula o sistema fica: [(AVBVC ) ( D)] = S Tabela verdade:
A

A B C B C [A B C )] A [(AVBVC)]
B 1 10 111 1 0 1 01 111 0 1 1 0 11 10 1 1 10 01 10 01 + E R D C

0 1 11

0111 0101 0011 0001

01 01 0 0 11

00 01

212

Exemplo 5 - Considere que a administrao de uma pequena empresa decida questes atravs de um comit composto pelas seguintes pessoas: a) O Presidente A. b) O Vice-Presidente B. c) O Gerente Industrial C. Cada membro do Comit tem em seu poder uma chave que acionada sinalizando aprovao quando a proposta de sua concordncia, caso contrrio, a chave permanece desligada. Para indicar a aprovao ou no de cada proposta h uma lmpada que se acender caso a proposta tenha sido aprovada pela maioria dos votos dos membros do comit. Pede-se: Elabore a equao Lgica, a tabela verdade e o circuito de chaveamento Lgico que simule este processo. Resoluo O processo pode ser visualizado mais facilmente atravs da tabela verdade mostrada a seguir:
A sada S s de valor Lgico 1 quando houver duas ou mais proposies de valor igual a 1. ABCS 1111 1101 1011 1000
Situao 4 Situao 1 Situao 2 Situao 3

0111 0100 0010 0000

Podemos verificar pela tabela verdade que as situaes onde a sada verdadeira so aquelas cujas equaes Lgicas so descritas abaixo: Situao 1 : A sada S s Verdadeira quando A, B e C so

213

Verdadeiras. Portanto uma conjuno entre as trs proposies: (A B ). Situao 2 : A sada S s Verdadeira quando A e B so Verdadeiras. Portanto uma conjuno entre as duas proposies: (A B ). Situao 3 : A sada S s Verdadeira quando A e C so Verdadeiras. Portanto uma conjuno entre as duas proposies: (A C ). Situao 4 : A sada S s Verdadeira quando B e C so Verdadeiras. Portanto uma Conjuno entre as duas proposies: (B C). Da anlise da tabela Verdade podemos concluir que A Sada S Verdadeira S=1 quando acontece uma das quatro situaes descritas anteriormente, portanto entre estas quatro situaes vai ocorrer uma disjuno. Com esta anlise podemos obter a equao final: [(A B C) V ( A B) V (A C) V (B C)] = S O circuito de chaveamento lgico fica:

C S

B + E R

No circuito visto que as chaves A, B e C formam um grupo em srie no primeiro ramo. Este grupo est em paralelo com as chaves em srie A e B e A e C do segundo e terceiro ramo. No acionamento das chaves do grupo do primeiro ramo (A, B e C em srie) fica irrelevante para o funcionamento do circuito, visto que ao serem acionadas estas chaves a corrente j passa pelos ramos de baixo. Frente a isto o circuito pode ser minimizado retirando o ramo irrelevante. A prxima figura apresenta o circuito minimizado

214

B + E R

A equao minimizada fica : [( A B) V (A C) V (B C)] = S. Existem processos que utilizam mtodos para minimizao de circuitos que infelizmente fogem do escopo deste livro. Exerccios 1Construa um circuito de chaveamento Lgico que simule a equao:

[(A B) ( C V D)] = S 2- A partir da equao lgica [( (A V B))] V [(C D)] = S construa uma tabela verdade onde so mostrados os valores Lgicos intermedirios e os valores finais da equao. Atravs da tabela verdade obtida construa o circuito de chaveamento Lgico. 3- Simule por meio de um circuito de chaveamento a equao lgica: [(( A) B) V C ] = S mostre a tabela Verdade e o circuito obtido. 4- Suponha um sistema de segurana que construdo com 4 sensores normalmente fechados (chaves que ao serem acionadas abrem) denominados com as letras A, B, C e D. O funcionamento do sistema de alarme consiste no seguinte procedimento: caso um destes quatro sensores seja desligado uma buzina ser acionada ( S=1) acusando anormalidade. Para que o guarda da segurana possa entrar sem acionar o alarme existe em seu poder uma chave (E) que quando ligada deixa sem ao apenas o sensor A instalado na porta principal permitido que ele entre no recinto . Conforme a descrio acima, pede-se: a) A equao Lgica do Sistema. b) A tabela Verdade do Sistema. c) O Circuito de chaveamento Lgico do Sistema. 5- Considere o mesmo enunciado do exerccio anterior modificando o fato dos sensores A, B e C serem agora normalmente abertos ( Chaves que fecham ao serem acionadas).

215

6-

Considere que a administrao de uma Indstria decida questes relativa produo atravs de um comit composto por cinco pessoas: a) O Presidente A. b) O Vice-Presidente B. c) O Gerente Industrial C. d) O Gerente de produo D. e) O Gerente de pessoal E. Cada membro do Comit tem em seu poder uma chave que acionada sinalizando o voto de aprovao quando a proposta de sua concordncia, caso contrrio, a chave permanece desligada. Para indicar a aprovao ou no de cada proposta h uma lmpada que ir se acender caso a proposta tenha sido aprovada pelo voto do presidente ou pela maioria dos votos dos membros do comit. Pede-se: Elabore a equao Lgica, a tabela verdade e o circuito de chaveamento Lgico que simule este processo.

216

5 PORTAS LGICAS
Introduo Para estudarmos os modos de representao das funes lgicas por meio de circuitos eltricos foram utilizadas no captulo anterior as chaves do tipo liga-desliga. Para o emprego da lgica em computadores e Sistemas digitais diversos, os circuitos de chaveamento lgicos, devem ser miniaturizados. Este processo de miniaturizao, traz inmeras vantagens, tanto nas propriedades construtivas, relativo ao menor espao ocupado, menor peso etc.., como nas propriedades fsicas que traz maior rapidez nas respostas, menor perdas por calor, etc.. Todas estas vantagens vo aumentar o rendimento do Sistema lgico quando no seu funcionamento para efetuar as suas anlises lgicas. Neste processo de diminuir as dimenses fsicas dos sistemas digitais, os circuitos lgicos do Inversor e de outras funes lgicas que foram estudados por meio de chaves no captulo anterior agora so geralmente construdos com transistores. Os transistores so dispositivos eletrnicos de pequenas dimenses e que funcionam com pequenas intensidades de tenso e corrente eltrica. Nestes circuitos eletrnicos os transistores vo atuar como chaves configuradas de diversas formas, conforme determinados circuitos de chaveamento lgico. Nestes circuitos transistor pequenos sinais de corrente aplicados nas entradas excitam os transistores que fecham e abrem deixando ou no passar corrente eltrica comportando-se como as chaves estudadas no captulo anterior. Atravs de tecnologia moderna empregada na construo dos chamados circuitos integrados (chips) consegue-se sistemas lgicos compostos de milhares de transistores de tamanho muito reduzido. O funcionamento dos transistores, bem como os funcionamentos internos destes circuitos, fogem do escopo deste livro, portanto, vamos estudar estes circuitos como um bloco onde s nos interessa os valores lgicos dos sinais de entrada e os de sadas. Os sinais eltricos aplicados s entradas do Bloco representam as proposies A, B, C, etc.. e os sinais eltricos resultantes nas sadas representam os estados lgicos das sadas S1, S2 , S3,... Sn resultantes das equaes representadas pelas funes verdades.

217

5.1. As Portas Lgicas Bsicas

Quando os circuitos so representados por blocos recebem a denominao de Portas Lgicas (Logic Gates). Neste captulo estudaremos as funes lgicas atravs de blocos funcionais denominados de Portas Lgicas. Inicialmente vamos estudar as chamadas portas lgicas bsicas ou primitivas e a partir das combinaes das portas lgicas bsicas sero obtidas as representaes de funes lgicas complexas. 5.2. Porta Lgica Inversora A porta lgica que representa o circuito Inversor aquela que inverte o estado lgico do sinal aplicado na sua entrada. Esta porta lgica tambm conhecida como operador da negao lgica NO ( ou pelo termo ingls Operador NOT). O smbolo da porta lgica Inversora e a sua tabela verdade apresentado na figura a seguir:

Em alguns circuitos lgicos, para facilitar a representao simblica a porta lgica Inversora representada apenas pelo smbolo simplificado que consiste de um pequeno crculo inserido no circuito. Veja a figura a seguir:

comum encontrar a representao da negao de A como sendo onde l-se: A barrado.

218

5.3. Porta Lgica E A porta Lgica E (ou utilizando o termo ingls, porta lgica AND) um bloco constitudo de circuitos elaborados com transistores cuja finalidade promover o chaveamento para simular eletricamente as funes da conjuno lgica. Uma porta Lgica E tem os sinais eltricos aplicados em suas entradas representando o estado lgico das proposies. Na sua sada obtido o estado Lgico resultante de uma conjuno Lgica efetuada entre as proposies representadas pelos sinais aplicados. O smbolo e a tabela verdade de uma porta E de duas variveis de entrada apresentado na figura a seguir.

comum na bibliografia de circuitos digitais ser utilizado um ponto ( . ) para representar a conjuno entre as proposies A e B. Por exemplo, a expresso: (S=A.B) lida como, S o resultado da expresso booleana entre A e B. Uma porta lgica E pode ter um nmero n finito de entradas onde n limitado pelas condies tcnicas construtivas da porta.

5.4. Porta Lgica NO-E ( NAND) Sabendo o comportamento da porta lgica Inversora e da porta lgica E, pode-se a partir destas duas portas implementar a porta lgica NO-E. A porta lgica NO-E obtida pela ligao em srie de uma porta lgica E com uma porta lgica Inversora NO. A prxima figura mostra esta ligao, a tabela verdade e o smbolo da porta NO-E de duas entradas.

219

Com a configurao das duas portas, Inversora e E, obtido como resultado o sinal que representa a negao da conjuno entre as proposies das entradas, portanto a negao da funo E. Uma notao muito utilizada em circuitos digitais : S=, onde l-se S igual a A e B barrados.

5.5. Porta Lgica OU A porta Lgica OU (ou utilizando o termo ingls OR) um bloco construdo com transistores para simular eletricamente as funes da disjuno lgica. Uma porta Lgica OU possui, aplicados em suas entradas os sinais eltricos representando os estados lgicos das proposies. Estes sinais so tratados internamente atravs dos transistores e uma sada S vai apresentar o estado lgico resultante. O estado lgico resultante ser uma disjuno lgica efetuada entre as proposies representadas pelos sinais aplicados entrada. O smbolo e a tabela verdade de uma porta OU de duas variveis de entrada apresentado na figura a seguir.

220

comum em bibliografia de circuitos digitais se encontrar um sinal de adio ( + ) para representar a disjuno entre as proposies A e B. Por exemplo a expresso: S=A+B lida como, S o resultado da expresso booleana entre A ou B. Uma porta lgica OU pode ter um nmero n finito de entradas onde n limitado pelas condies tcnicas construtivas da porta.

5.6. Porta Lgica NO-OU ( NOR) A porta lgica NO-OU obtida pela ligao em srie de uma porta lgica OU com uma porta lgica Inversora NO. A prxima figura mostra esta ligao com a tabela verdade e o smbolo da porta NO-OU de duas entradas.

221

Com a configurao das duas portas lgicas, a porta OU e a porta Inversora, obtida como resultado o sinal que representa a negao da disjuno entre as proposies das entradas. Portanto, a porta NO faz a negao da funo OU. Uma notao muito utilizada em circuitos digitais : S= , onde l-se S igual a A ou B barrados. 5.7. Combinao de Portas Lgicas possvel fazer vrias combinaes com as portas lgicas bsicas vistas at aqui. Estas combinaes servem para representar as funes lgicas estudadas nos captulos anteriores. Estas portas lgicas que na realidade so circuitos construdos com transistores so inseridas em circuitos integrados CI (chip) que funcionam com tenses eltricas que representam os estados lgicos das proposies. Os valores tpicos das tenses de um CI relacionado com os estados lgicos representativos das proposies so: + 5 volts=1 0 volts=0 Nos controladores lgicos os CIs so convenientemente interligados e instalados em circuitos impressos compondo Sistemas Lgicos Digitais de grande porte e complexidade. Neste captulo vamos utilizar as portas lgicas bsicas para projetar circuitos que vo simular as equaes lgicas estudadas. Nestas configuraes vamos utilizar as notaes mais comuns dos circuitos digitais. A figura a seguir mostra cada porta lgica bsica estudada at aqui com as suas funes representadas pelas equaes lgicas e respectivas notaes.

222

5.8. Exemplos de aplicao Exemplo 1 - Dada a equao lgica: [ (A B )] V [ (C V D)] = S a) Reescreva-a com a notao mais comumente utilizada em Circuitos Digitais. b) Construa o circuito com portas lgicas que simule a equao. Resoluo: a) A equivalncia das notaes: = . Conjuno V = + Disjuno = Negao nos permite reescrever a equao da seguinte forma: (AB )+ (C + D) = S Para padronizar, vamos utilizar no decorrer deste captulo todas as equaes com esta notao. Para construir o circuito com portas lgicas que simule esta equao devemos inicialmente relacionar as portas lgicas equivalentes as equaes dentro dos parnteses, No primeiro parnteses (AB) temos a equao de uma porta lgica NO-E. No segundo parnteses (C + D) temos a equao de uma porta lgica OU. As equaes dentro dos dois parnteses so relacionadas atravs de uma disjuno +, portanto a representao uma porta lgica OU. Com estas consideraes o circuito fica construdo da seguinte forma:

Exemplo 2 - Um sistema de alarme residencial composto por 4 sensores sA, sB, sC e sD instalados em janelas. Cada sensor instalado de modo que abra o contato caso a janela seja aberta indevidamente. A abertura do contato provoca o acionamento de uma lmpada sinalizadora de alarme.

223

Uma chave sE instalada do lado de fora, e em local secreto conhecido apenas pelo usurio, deixa o sistema inativo caso seja desligada. Com base na descrio acima elabore a equao Lgica e o Circuito construdo com portas lgicas do Sistema de alarme. Resoluo: Vamos considerar os sensores como proposies de entrada tal que: Sensor sA = A Sensor sB = B Sensor sC = C Sensor sD = D Chave secreta sE = E Lmpada de alarme L = Sada S Utilizando a notao dos circuitos digitais, conforme visto no exemplo anterior, a equao dos sensores a negao de uma conjuno do tipo: ABCD = S1 Resultando em uma porta Lgica NO-E de 4 entradas:

Com todos os sensores ligados (A=1, B=1, C=1 e D=1) a lmpada deve estar apagada. Isto significa que o estado lgico resultante de S igual a 0. Para esta equao resultar em um estado lgico verdadeiro, isto S=1lmpada acesa, basta que um dos sensores v para o estado lgico 0. Caso algum dos sensores esteja no estado lgico 0, significa que pelo menos uma das janelas foi aberta e o estado lgico da sada vai para o valor 1 provocando o acendimento da lmpada. Como a finalidade da chave sE quando desligada (E=0) deixar inativo o sistema de alarme, uma soluo a proposio E ser relacionada atravs de uma porta lgica de conjuno Porta E. Esta porta E vai ser analisada com o sinal S1 resultante das anlises dos sensores.

224

Pelo circuito, verifica-se que se a proposio E tiver valor lgico 1, a sada S ser dependente apenas do valor resultante de S1, caso a proposio E estiver com valor lgico 0, significa que a chave est desligada e a sada S ser obrigatoriamente igual a 0.

Exemplo 3 -Em uma indstria um comit administrativo composto por trs pessoas: a) O Presidente A. b) O Vice-Presidente B. c) O Gerente Industrial C. Este comit decide questes relativas ao gerenciamento da fbrica com os seguintes critrios: 1- O voto do Presidente A tem prioridade em relao aos demais membros, 2- Os votos da maioria tm poder de aprovar as resolues, independente do voto do Presidente. Cada membro do Comit tem em seu poder uma chave que acionada sinalizando um voto de aprovao quando a proposta de sua concordncia, caso contrrio, a chave permanece desligada. Pede-se: Elabore a equao Lgica, a tabela verdade e o circuito de portas lgicas capaz de simular este processo. Resoluo: O circuito e a equao lgica so originados da tabela verdade. Primeiramente veremos como fica a coluna da sada referente s condies possveis para as trs variveis A, B e C:

Analisando a tabela verdade verifica-se que as 5 situaes com as

225

condies de A, B e C sendo satisfeitas resulta verdadeira (S=1). Na situao 1- S igual a 1 se, e somente se, A=1, B=1 e C=1. Portanto, a situao 1 representada pela equao da conjuno entre as proposies: A.B.C =S Usando o mesmo raciocino para a situao 2 teremos S igual a 1 se, e somente se, A=1, B=1 e C=0. Portanto: A.B.C=S Para a situao 3 teremos: A.B.C =S Para a situao 4 teremos: A.B.C =S Para a situao 5 teremos: A.B.C =S Na tabela verdade nota-se que basta uma destas equaes, que foram elaboradas atravs das situaes 1, 2, 3, 4 e 5, ter como resultado 1 para que a proposta em pauta seja aprovada pelo comit. Para ligar entre si estas cinco equaes utilizado o conectivo da disjuno que acontece entre as trs proposies ligadas atravs de uma porta OU. A Equao final e o circuito ficam conforme o exposto na prxima figura.

O circuito completo fica conforme a figura a seguir:

226

Obs. Existem em bibliografia de circuitos digitais modos de minimizao de circuitos, que podem diminuir o nmero de portas utilizadas otimizando projetos mas estes procedimentos tcnicos fogem do escopo deste livro. Exemplo 4 -Os circuitos digitais, construdos com portas lgicas s trabalham com nmeros binrios. Os nmeros binrios so representados por apenas dois dgitos, 0 e 1, portanto para representar e efetuar operaes algbricas utiliza-se a base 2. As portas lgicas quando convenientemente interligadas efetuam soma e subtrao com nmeros binrios. Nos sistemas digitais, apesar de todas as operaes serem feitas com nmeros binrios, os resultados destas operaes algbricas devem ser apresentados na base dez, porque o sistema decimal mais familiar ao homem. Um dispositivo eletrnico utilizado para receber informaes em binrio e mostrar o resultado em decimal o conhecido Decodificador ou Display de 7 segmentos. O Display de 7 segmentos utilizado largamente em vrios aparelhos eletrnicos como, computadores, maquinas de calcular, radio, etc.. Este dispositivo composto de 7 Diodos emissores de luz (LEDS) dispostos de uma forma particular.

227

Estes diodos tm a propriedade de, ao serem excitados por uma corrente eltrica apresentar emisso de luz. Dependendo dos diodos que sero ligados e dada a sua disposio no conjunto ser formado visualmente no decodificador de 7 segmentos um nmero ou uma letra. Veja os exemplos de visualizao dos nmeros 0 9 a seguir:

a)

Com base no exposto acima elabore um circuito com portas lgicas que quando aplicado o equivalente binrio 0000 aparea o nmero zero no decodificador de 7 segmentos.

228

Resoluo: Conforme visto pela tabela, para aparecer o nmero decimal 0 no Decodificador de 7 segmentos necessrio que os diodos a, b, c, d, e, f estejam ativados com nvel lgico 1. Para o diodo a estar ativado, isto a=1 devemos ter a condio A=0, B=0, C=0, D=0. Se uma destas entradas estiver em nvel lgico 1 a sada a ser igual a 0 e no haver visualizao. Isto nos d para o diodo a uma funo verdade que uma caracterstica de uma porta lgica NO-OU. Para isto basta relembrar a tabela verdade da porta NO-OU.

Para representar visualmente o nmero zero as mesmas condies devero ser encontradas para as outras sadas de diodos (a, b, c, d, e, f ). A nica exceo no conjunto dos diodos o diodo g que dever estar necessariamente desligado. Isto significa que sero necessrios 6 circuitos implementados com portas lgicas NO- OU, iguais ao obtido acima, para visualizar o nmero zero. A sada para o diodo g no poder estar no estado lgico igual a 1, portanto para a sada g, uma das entradas dever ser invertida atravs de um

229

operador de negao. A figura a seguir mostra a porta lgica para a sada g.

b) Deseja-se implementar um circuito para um Display de 7 segmentos que ao ser aplicado os valores binrios 0000 at 1001 sero visualizados seus nmeros decimais correspondentes, isto , do nmero 0 ao nmero 9 decimal. Resoluo: Deve-se interpretar cada situao atravs das 4 variveis de entrada A, B, C, e D e fazer uma anlise detalhada para implementar cada porta lgica e as suas implicaes nos resultados. Depois de ser encontrada todas as equaes ento feita uma configurao conveniente para acender os diodos no display de 7 segmentos na seqncia correta. Uma tabela onde mostra o nvel lgico dos diodos para cada situao possvel de existir numa variao binria de 0000 1001, mostrado a seguir.

Situaes 1 2 3 4 5 6 7 8 9 10

Binrio Decimal 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9

a 1 0 1 0 0 0 1 0 1 0

b 1 0 0 0 1 1 1 0 1 1

c 1 0 1 1 0 1 0 1 1 1

d 1 1 1 1 1 0 0 1 1 1

e 1 1 0 1 1 1 1 1 1 1

f 1 0 1 1 0 1 1 0 1 0

g 0 0 1 1 1 1 1 0 1 1

Cada diodo vai ser analisado independentemente. Neste exemplo vamos construir o circuito apenas para o diodo a deixando os circuitos

230

restantes como exerccio. Verificando por exemplo a coluna do diodo a. As situaes onde ele vai ficar ativo, isto a=1, so: Situao 1 Situao 3 Situao 7 Situao 9 0000 - A.B.C.D. 0010 - A.B.C.D. 0110 - A.B.C.D. 1000 - A.B.C.D.

O diodo a ser 1 quando uma destas (isto , uma ou outra) quatro situaes ocorrerem, portanto vai ocorrer uma disjuno entre elas e a equao fica: a= A.B.C.D.+ A.B.C.D. + A.B.C.D. + A.B.C.D. Determinada a equao ento implementado o circuito com a configurao das portas lgicas. A prxima figura mostra o circuito correspondente a esta equao.

231

Para obter o circuito completo a anlise deve ser feita para cada coluna da tabela. Usando o processo da anlise de cada situao para determinar a equao lgica e as configuraes das portas, o circuito final vai ser composto por um nmero muito grande de portas. Existem vrios mtodos utilizados em projetos de circuitos digitais para obteno da minimizao dos circuitos como, os teoremas de De Morgan, utilizando princpios de Identidade, ou os diagramas de Karnaugt. Estes procedimentos no sero vistos aqui, mas so facilmente encontrados nas bibliografias que tratam de projetos de circuitos digitais. Exerccios 1- Utilizando os mesmos procedimentos do exemplo anterior (Exemplo 4.b) complete o circuito final implementando com configuraes de portas lgicas todo o circuito que permita o display de 7 segmentos apresentar os nmeros decimais de 0 a 9. Faa a anlises na tabela das colunas dos diodos b,c,d,e,f e g.

2- Dada a equao lgica: a)

[(A B )] [ (C V D)] = S

Rescreva-a com a notao mais comumente utilizada em Circuitos Digitais. b) Construa o circuito com portas lgicas que simule a equao. 3- Dada a equao lgica: S= A.B+CD a) Elabore a tabela verdade. b) Construa o Circuito com portas lgicas para simular esta equao. 4- A equao Lgica A.B + A.B. = S representa uma funo lgica muito importante em circuitos digitais chamada de OU-Exclusivo. Elabore a tabela verdade desta equao e construa o circuito com portas lgicas.

232

5)

Dada a equao lgica: S=(A.B) . (C+D)

a) Elabore a tabela verdade. b) Construa o Circuito com portas lgicas para simular esta equao. 6-Em uma fabrica um comit administrativo composto por quatro pessoas: 1234O Presidente A. O Vice-Presidente B. O Gerente Industrial C. O Gerente admistrativo D.

Este comit decide questes relativas ao gerenciamento da fbrica com os seguintes critrios: 1- Os votos da maioria tm poder de aprovar as resolues. 2- No caso de empate vence o voto do presidente. Cada membro do Comit tem em seu poder uma chave que acionada sinalizando um voto de aprovao quando a proposta de sua concordncia, caso contrrio, a chave permanece desligada. Elabore a equao Lgica, a tabela verdade e o circuito de portas lgicas capaz de simular este processo. 7- Utilizando os procedimentos de anlise do exemplo 4.b elabore um circuito que permita a partir de uma palavra com 4 dgitos (A, B, C, D) escrever no Display de 7 segmentos em seqncia as letras A L O.

233

APNDICE
1. ALGUMAS ESTRUTURAS ALGBRICAS O objetivo deste apndice apresentar algumas estruturas algbricas fundamentais subjacentes a este trabalho. Operao binria Se G um conjunto no vazio, uma operao binria sobre G uma funo : G G G. Exemplos: 1. A operao de adio sobre nmeros naturais uma operao binria: a um par de nmeros (a, b) est associado um nico nmero que a soma de a com b; 2. A operao de multiplicao sobre nmeros naturais tambm uma operao binria: a um par de nmeros (a, b) est associado um nico nmero que o produto de a e b. Por comodidade, indiquemos por uma operao binria sobre G. Operao associativa Uma operao binria sobre G diz-se associativa se (a b) c = a (b c) para quaisquer elementos a, b, c de G. Exemplos: 1. a operao de adio sobre os nmeros naturais associativa; 2. a operao de multiplicao sobre os nmeros naturais associativa; 3. a operao de subtrao sobre os nmeros naturais no associativa; 4. a operao de adio sobre o conjunto das matrizes quadradas de ordem 2 associativa. Operao Comutativa Uma operao binria diz-se comutativa se a b = b a para quaisquer elementos a e b de G.

235

Exemplos: 1. A operao de adio e de multiplicao sobre os nmeros naturais comutativa; 2. A operao de subtrao sobre os nmeros naturais no comutativa; 3. A operao de adio sobre as matrizes quadradas e ordem 2 comutativa. Semigrupo 1) 2) Um semigrupo um par ordenado (G, ) tal que: G um conjunto no vazio e uma operao binria associativa em G.

Exemplo: 1. (N, +) um semigrupo; 2. (N, .) um semigrupo; 3. (Z, +) um semigrupo; 4. (Q, .) um semigrupo. Monide Um monide uma tripla ordenada (G, , e) tal que: 1) G um conjunto no vazio 2) uma operao binria sobre G 3) e o elemento neutro de G isto , um elemento de G tal que e . a = a . e = a para todo elemento a de G. Exemplos: 1. (N, +, 0) um monide; 2. (N, ., 1) um monide; 3. (Q, ., 1) um monide; 4. (Q, +, 0) um monide. Observao: Um monide dito comutativo se a operao binria . for comutativa. Grupo Um grupo um semigrupo (G, ) tal que: 1) possui um elemento neutro e e 2) para todo elemento a de G, existe um elemento b de G tal que a b = e. Exemplos: 1. (Q, .) um grupo e o seu elemento neutro o 1; 2. (Q, +) um grupo e o seu elemento neutro o 0; 3. (M, +) um grupo. M o conjunto das matrizes quadradas de ordem n. O elemento neutro de M a matriz identicamente nula. Observao: Um grupo (G, .) dito abeliano se a operao . for uma operao comutativa.

236

Semi-anel 1) 2) 3) 4) 5) 6) Um semi-anel uma quntupla ordenada (A, +, . ,0, 1) tal que: A um conjunto no vazio; + e . sao duas operaes binrias em A; (A, +, 0) um monide comutativo; (A, . , 1) um monide; valem as seguintes leis distributivas: a . (b + c) = a . b + a . c quaisquer a, b, c em A. (a + b) . c = a . c + b . c quaisquer a, b, c em A. 0 . a = a . 0 = 0 qualquer a em A.

Exemplos: 1. (Q, +, ., 0, 1) um semi-anel; 2. (R, +, ., 0, 1) um semi-anel. Observao: Um semi-anel dito comutativo se a operao . for comutativa. Anel 1) 2) 3) Um anel uma quntupla ordenada (A, +, ., 0, 1) tal que: (A, +) um grupo Abeliano; . uma operao associativa; valem as leis distributivas do semi-anel. Exemplos: a.) (Q, +, ., 0, 1) um anel; b.) (R, +, .,0, 1) um anel.

Observao: 1) dizemos que um anel comutativo se a operao . comutativa; 2) dizemos que um anel um anel com unidade se 1 elemento neutro para a operao . . 2. LGICA PROPOSICIONAL E LGEBRA DE BOOLE Damos uma viso da estrutura algbrica subjacente lgica proposicional. Veremos que tal estrutura consiste de uma lgebra de Boole conhecida com o nome de lgebra de Lindembaum. Seja F o conjunto das frmulas do clculo proposicional. Definamos a seguinte relao sobre F: A B def se for teorema A B. Pode-se provar que tal relao se constitui numa relao de equivalncia (isto , reflexiva, simtrica e transitiva). Podemos portanto passar ao quociente obtendo o conjunto quociente. Neste conjunto, definamos as seguintes operaes e elementos distingidos: Sejam A e B frmulas. Temos:

237

1. [A] [B] = def [A B]; 2. [A] [B] = def[A B]; 3. [A] = def [A]; 4. 1 = def [tautologia]; 5. 0 = def [contradio]. Observao: Pode-se mostrar que as operaes acima definidas independe dos elementos escolhidos, ou seja, essas operaes esto bem definidas. Teorema: (F, , , , 1 , 0) constitui uma lgebra de Boole. Demonstrao: (Exerccio). Vemos assim um aspecto muito importante em lgica: ela pode receber diversas abordagens. Uma pessoa que esteja estudando lgica est estudando uma estrutura basilar da matemtica (anis). Tambm, o aluno que estuda teoria dos anis, sem saber est estudando lgica. Isto nos mostra uma faceta mgica da matemtica e da lgica: a unidade que subjaz essas disciplinas.

3. MODELOS DE HERBRAND O objetivo deste apndice apresentar os modelos de Herbrand por serem de grande utilidade na rea de programao em lgica. Dado um programa lgico P e uma consulta C, devemos provar C em P com base nos axiomas que P fornece e alm destes axiomas podemos utilizar modus ponens e particularizao. Podemos enxergar este processo que acabamos de descrever atravs de uma outra viso: queremos saber se o programa P fornece um modelo para a consulta C. Os modelos de Herbrand so muito teis por serem construtveis e alm disso existem dois resultados importantes relacionando modelos quaisquer com os modelos de Herbrand. Inicialmente, na seo 2 deste apndice damos algumas definies relacionadas com interpretaes e modelos quaiquer, na seo 3, falamos sobre os objetos de Herbrand (base, universo, interpretao e modelo) e na seo 4 apresentamos dois resultados importantes sobre os modelos de Herbrand. Interpretaes e modelos Pr-interpretao Uma pr-interpretao de uma linguagem de primeira ordem L consiste do seguinte: a.) Um conjunto no-vazio D, chamado de domnio da pr-interpretao; b.) Para cada constante em L est associado um elemento de D; c.) Para cada smbolo de funo n-ria em L est associada uma aplicao de Dn em D.

238

Exemplo: Lembremos a definio de grupo vista no Apndice 1. Um grupo um conjunto G no vazio munido de uma operao binria * tal que: 1.) x,y,z , (x * y ) * z = x * ( y * z ); 2.) e G tal que x G, x * e = x; 3.) para x G, y G tal que x * y = e. Notemos que os axiomas que definem um grupo formam uma linguagem de primeira ordem. O conjunto dos nmeros inteiros Z munido da operao de adio (+) uma pr-interpretao para a definio de grupo. Notemos que a constante e o zero de Z e a operao * a operao de adio (+). Interpretao Uma interpretao I de uma linguagem de primeira ordem L consiste de uma printerpretao J com domnio D de L e alm disso para cada smbolo de predicado em L est associada uma relao em Dn. Dizemos que I est baseada em J. Exemplo: Consideremos um grupo G qualquer. Seja o seguinte predicado em G: p(x,y) x * y = y * x. Consideremos agora seguinte relao R em Z: R = { (x,y) Z X Z : x + y = y + x } A pr-interpretao do item anterior (o grupo (Z,+) ) mais a relao R definida acima forma uma interpretao para a definio de grupo. Associao de variveis, termos e instncias Seja J uma pr-interpretao de uma linguagem de primeira ordem L. Uma associao de variveis uma associao de cada varivel de L a um elemento do domnio de J. Seja uma pr-interpretao J com domnio D de uma linguagem de primeira ordem L e seja V uma associao de variveis. A associao de termos dos termos de L definida a seguir: a.) cada varivel associada de acordo com V; b.) cada constante associada de acordo com J; c.) se t1, ..., tn so associaes de termos de t1 ,..., tn e f a associao do smbolo funo f, ento f ( t1 , ... , tn ) D a associao de termos para f ( t1 , ..., tn ). Seja J uma pr-interpretao de uma linguagem de primeira ordem L, V uma

239

associao de variveis e A uma frmula atmica. Suponha que A p(t1, ..., tn ) e d1, ..., dn D so as associaes de termos de t 1, ..., tn . Dizemos que AJ, = p (d1, ..., dn ) a J-instncia de A. V Exemplos: Consideremos a seguinte frmula atmica da linguagem de primeira ordem dos grupos: q(x,y, f(x,y) ) (1) Consideremos a pr-interpretao (Z,+) com f sendo a operao de multiplicao (.). Seja tambm a seguinte associao de variveis: x por 2, y por 3. Temos que a (Z,+)-instncia de (1) p(2,3, 2 . 3). Modelo para uma frmula, para uma teoria e para um conjunto de frmulas Seja I uma interpretao de uma linguagem de primeira ordem L e seja F uma sentena de L. Dizemos que I um modelo para F se F for verdadeira em I. Seja T uma teoria de primeira ordem e seja L uma linguagem de TT. Um modelo para T uma interpretao para L que um modelo para cada axioma de T. Se T tem um modelo dizemos que T consistente. Seja S um conjunto de sentenas de uma linguagem de primeira ordem L e seja I uma interpretao de L. Dizemos que I um modelo para S se I um modelo para cada frmula de S. Notemos que se S = { F1, ..., Fn } um conjunto finito de sentenas ento I um modelo para S se e somente se um modelo para F1 ... Fn. Exemplo: Retomemos o exemplo da teoria dos grupos. Temos que (Z,+ ) um modelo para a teoria de primeira ordem dos grupos pois cada axioma da teoria dos grupos verdadeira em (Z,+). Notemos que (Q, .) tambm um modelo para a teoria dos grupos de primeira ordem. Satisfatibilidade e Validade Seja S um conjunto de sentenas de uma linguagem de primeira ordem L. a.) S dita satisfatvel se L tem uma interpretao que modelo para S; b.) S vlida se toda interpretao de L modelo para S; c.) S insatisfatvel se nenhuma interpretao de L modelo para S; d.) S invlida se L tem uma interpretao que no um modelo para S. Conseqncia Lgica Seja S um conjunto de sentenas e F uma sentena de uma linguagem de primeira ordem L. Dizemos que F uma conseqncia lgica de S se para toda interpretao I de L tivermos que I um modelo para S implica que I um modelo para F.

240

Interpretaes e Modelos de Herbrand Universo de Herbrand Seja L uma linguagem de primeira ordem. O universo de Herbrand UL para L o conjunto de todos os termos que so formados das constantes e dos smbolos de funo que aparecem em L. Consideremos o seguinte programa lgico P1: p(a). p(b). q(X) :- p(X). A nossa linguagem de primeira ordem so as clusulas de programa de P1. Temos que o universo de Herbrand de P1 UL = { a, b }. Base de Herbrand Seja L uma linguagem de primeira ordem. A base de Herbrand BL para L o conjunto de todos os tomos que podem ser formados utilizando os smbolos de predicados de L com os termos do universo de Herbrand como argumentos. Temos para o programa P1 acima que a base de Herbrand BL = {p(a), p(b), q(a),q(b)}. Pr-interpretao de Herbrand Seja L uma linguagem de primeira ordem. A pr-interpretao de Herbrand para L a pr-interpretao dada como segue: a.) O domnio para pr-interpretao o universo de Herbrand UL; b.) Constantes em L so associadas a elas mesmas em UL; c.) Se f um smbolo de funo n-ria em L, ento a aplicao (UL)n em UL definida por (t1, ..., tn ) f(t1, ..., tn) est associada a f. Temos para o programa P1 a pr-interpretao dada como segue: Domnio = { a, b }. Constantes de P1 so associadas a elas mesmas. Funo f de P1 associada a ela mesma. Interpretao de Herbrand Uma interpretao de Herbrand para L uma interpretao baseada na pr-interpretao de Herbrand para L.

241

Modelo de Herbrand para um conjunto de frmulas Seja L uma linguagem de primeira ordem e S um conjunto de frmulas de L. Um modelo de Herbrand para S uma interpretao de Herbrand para L que um modelo de S. Consideremos novamente o programa P1 e seja S o conjunto formado pelas suas clusulas de programa. Vamos reescrever o programa: p(a). q(b). q(X) :- p(X). O domnio da pr-interpretao de Herbrand para este programa { a, b }. No temos funes. Consideremos os predicados p e q como predicados da interpretao de Herbrand. A interpretao de Herbrand que acabamos de construir um modelo de Herbrand para o programa acima pois todas as clusulas de programa so verdadeiras nesta interpretao. Dois resultados envolvendo os modelos de Herbrand Os seguintes dois resultados so muito importantes para a programao em lgica: relacionam a satisfatibilidade de sentenas em modelos quaisquer com os modelos de Herbrand que so construtveis. Proposio 1. Seja S um conjunto de clusulas e suponha que S tem um modelo. Ento S tem um modelo de Herbrand. Proposio 2. Seja S um conjunto de clusulas. Ento S insatisfatvel se e somente se no tem modelos de Herbrand (ou equivalentemente, S satisfatvel se e somente se tem modelo de Herbrand). Um programa lgico P um conjunto de clusulas. Se este programa tiver um modelo ento ele ter um modelo de Herbrand. Como os modelos de Herbrand podem ser construdos sem muitas dificuldades podemos verificar se as consultas a P so interpretaes do modelo de Herbrand associado a P. 4. A LGICA CLSSICA. Introduo. Neste pargrafo apresentamos, ainda que toscamente, uma viso panormica, de como se encontra a Cincia instituda por Aristteles. Restringir-nos-emos Lgica Clssica, deixando para uma prxima oportunidade as consideraes sobre os outros tipos de lgica. Desde j advertimos o leitor incauto e os especialistas que a classificao ou subdiviso que apresentamos uma das muitas possveis, qui at apresente incongruncias; tambm no tencionamos sermos

242

completos, nem entraremos em detalhes, de modo bvio num texto como este. Lgica Dedutiva Clssica. A Lgica Dedutiva Clssica se ocupa do que hoje conhecemos por Clculo de Predicados de Primeira Ordem com ou sem igualdade. Ela tem se estabelecido como sendo a parte nuclear da Lgica Clssica. Naturalmente ela engloba alguns sub-sistemas importantes como o clculo proposicional clssico, o clculo implicativo clssico e outros. A Lgica Dedutiva Clssica se subdivide nas seguintes teorias principais: Teoria dos Conjuntos. Teoria dos Tipos. Lgicas de Ordem Superior. Teoria das Categorias. Teoria dos Topos. Teoria das Alegorias.

1. A Teoria dos Conjuntos. A Teoria dos Conjuntos uma das teorias mais importantes de toda a Lgica, descoberta por G. Cantor no final do sculo passado. Porm, sendo uma teoria recm descoberta, inmeras dificuldades comearam a serem descobertas. A mais importante, devida a B. Russell, leva seu nome: o Paradoxo de Russell (vide na Introduo detalhes deste paradoxo). Sua restaurao foi efetuada com o emprego do mtodo axiomtico. Um dos resultados surpreendentes que se constatou que as diversas axiomticas que resultaram no se mostraram equivalentes entre si, surgindo, pois, a indagao: qual a teoria axiomtica que se aproxima mais da teoria intuitiva de Cantor? Uma definio que podemos dar para a Teoria dos Conjuntos que ela se constitui na disciplina que investiga matematicamente o smbolo de pertena . A Teoria dos Conjuntos se subdivide em dois grandes tipos; Teoria dos Conjuntos Cantorianas. Teoria dos Conjuntos No-Cantorianas.

1.1 Teoria dos Conjuntos Cantorianas. A Teoria dos Conjuntos Cantorianas, tambm cognominada Teoria Clssica de Conjuntos a teoria em que valem certos princpios tais como a Hiptese do Contnuo, o Axioma da Escolha, a Hiptese do Diamante ou a Hiptese de Suslin. Os principais sistemas Cantorianos so os seguintes

243

Teoria de Zermelo-Fraenkel. Esta teoria foi introduzida por E. Zermelo (1871-1953), melhorada posteriormente por A. Fraenkel (1929- ) e chegou uma teoria sensacional com T. Skolem (1887-1963). Talvez, a teoria ZF seja a teoria que mais se aproxime da teoria intuitiva de Cantor. nesta teoria que se desenvolve a Matemtica usual (espaos vetoriais, clculo diferencial e integral, topologia, lgebra, etc.) ensinada de modo regular. Teoria de von-Neumann-Bernays-Gdel. Sistema NF de Quine. Sistema ML de Quine. Sistema de Kelley-Morse. 1.2 Teoria dos Conjuntos No-Cantorianas. Nestas no valem alguns dos princpios que citamos no caso anterior. Podemos ter, ento teorias de conjuntos em que no valem o Axioma da Escolha na sua forma geral, ou a Hiptese do Contnuo, ou outros. Hoje so clebres os trabalhos devidos a: Sistemas de Solovay. Neste modelo de teoria dos conjuntos no vale o Axioma da Escolha na sua forma geral, mas uma forma particular conhecida como forma enumervel do Axioma da Escolha. Um resultado interessante num modelo dessa teoria dos conjuntos que todo subconjunto da reta real Lebesgue mensurvel. Outra diferena, em relao teoria cantoriana, que todo operador num espao de Hilbert limitado e, por conseguinte, contnuo. Muitas teorias da Fsica Quntica esto estruturadas atravs do conceito de espao de Hilbert e conceitos associados. Logo, advm uma indagao assaz delicada: como fica uma mesma teoria fsica acomodada em modelos de teorias de conjuntos distintas? Qual a verdadeira teoria dos conjuntos para a Fsica? Sistemas de Cohen Os resultados de independncia em Teoria dos Conjuntos obtidos por Cohen permitiu que tomssemos conhecimento de modelos da teoria em que no so vlidos certos princpios como, por exemplo, a Hiptese do Contnuo que afirma que no h nmero cardinal entre o enumervel e o contnuo dos nmeros reais. Tais consideraes, tambm, deram origem a Matemticas No-cantorianas. 2 A Teoria dos Tipos. A Teoria dos Tipos inicialmente foi proposta pelo prprio B. Russell para se superar a antinomia de Russell. Grosso modo, a Teoria dos Tipos pe uma tipificao nos objetos que se referem na linguagem, evitando-se, assim a formao de conjuntos muito grandes na teoria de Cantor, conjuntos esses, causadores dos paradoxos. A Teoria dos Tipos se subdivide em:

244

2.1 Teoria dos Tipos Russellianas Teoria Ramificada dos Tipos de Russell-Whitehead Teoria Simples dos Tipos de Ramsey-Chwistek Teoria Suplementar de Gdel Teoria de Quine Teorias Cumulativas

2.2 Teoria dos Tipos No-Russellianas. Assim como existem as Teorias Russellianas podemos cultivar as No-Russellianas, teorias estas em que no valham certos princpios bsicos da primeira. 3 Linguagens de Ordem Superior. As Linguagens de Ordem Superior predicam no somente os objetos em si, porm, predicam predicados da linguagem em apreo; neste exemplo, do origem a linguagens de segunda ordem. Muitos lgicos so de opinio que a verdadeira Matemtica s expressvel nestas linguagens (de segunda ordem). Quando se predica predicados de predicados, temos as linguagens de terceira ordem, e assim por diante. 4 Teoria das Categorias. A Teoria das Categorias surgiu da necessidade de se sistematizar teoria de teorias. Ela foi introduzida por S. McLane no incio da dcada de trinta. Como se discutiu anteriormente, se considerarmos a totalidade de uma certa teoria, por exemplo, a teoria dos grupos, esta no forma conjunto, e, por conseguinte, no conveniente que se faa ali. Para a questo da fundamentao da Teoria das Categorias foram investigados por matemticos como C. Ehressmann, Grothendieck, Houdebine, e outros, propondo sistemas fortes de teorias dos conjuntos. 5 Teoria dos Topos. 6 Teoria das Alegorias. Esquema da sub-diviso

245

246

REFERNCIA BIBLIOGFICA
[Abe & Papavero 92] ABE, J.M. & N. PAPAVERO, Teoria Intuitiva dos Conjuntos. Makron Books, 1992. [Iski & Abe 01] ISKI, K., & J.M. ABE, Lgica Matemtica e Aplicaes, 2001, em preparo. [Da Costa 80] DA COSTA, N. C. A., Introduo aos Fundamentos da Lgica. Hucitec, 1980. [Halmos 62] HALMOS, P., Algebraic Logic, Chelsea, 1962. [Kleene 52] KLEENE, S. C., Introduction to Metamathematics. Van Nostrand, 1952. [Kneale & Kneale 68] KNEALE, W & M. KNEALE, O Desenvolvimento da Lgica. Fundao Calouste Gulbenkian, 3a edio, 1968. [Lloyd 84] LLOYD, J. W., Foundations of Logic Programming. SpringerVerlag, 1984. [Mendelson 87] MENDELSON, E., Introduction to Mathematical Logic. Wadsworth & Brooks, 3a edio, 1987. [Mendelson 77] MENDELSON, E., lgebra Booleana e Circuitos de Chaveamento. McGraw-Hill do Brasil Ltda, 1977. [Shoenfield 67] SHOENFIELD, J. R., Mathematical Logic. Addison-Wesley, 1967. [Suppes 57] SUPPES, P., Introduction to Logic. Van Nostrand, 1957.

247

Você também pode gostar