Você está na página 1de 248

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

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
verdadeira

verdadeira

2) [(2 + 4 = 4) (1 2)]
verdadeira

falsa

falsa

verdadeira

3) [(2 + 4 4) (1 2)]
4) [(2 + 4 4) (1 2)]
falsa

Esta proposio falsa


Esta proposio falsa
Esta proposio falsa

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)]
verdadeira

2) [(2 + 4 = 4) (1 2)]
verdadeira

Esta proposio vardadeira

verdadeira

4) [(2 + 4 4) (1 2)]
falsa

Esta proposio verdadeira

falsa

3) [(2 + 4 4) (1 2)]
falsa

Esta proposio verdadeira

verdadeira

Esta proposio falsa

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)]
verdadeira

2) [(2 + 4 = 4) (1 2)]
verdadeira

Esta proposio verdadeira

verdadeira

Esta proposio falsa

falsa

3) [(2 + 4 4) (1 2)]
falsa

verdadeira

falsa

falsa

4) [(2 + 4 4) (1 2)]

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)]
verdadeira

verdadeira

verdadeira

falsa

2) [(2 + 4 = 4) (1 2)]
3) [(2 + 4 4) (1 2)]
falsa

verdadeira

falsa

falsa

4) [(2 + 4 4) (1 2)]

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)

(A B)

(A B)
(A B)

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;

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)

(B C)

(C D)

(D D)

((A (B C))

((A))

((C D) (B C))

...

((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)
A

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 frmula (B C) por sua vez foi obtida das frmulas atmicas B e C.


(B C)
B

A rvore final fica assim:


[A (B C)]
A

(B C)
B

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 C))]

(B)

((A))

(A)
A

((B C))
(B C)
B

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

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)]}
[C (A C)]

A
C

(A C)
A

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

[(E C) (A D)]

(A D)
C

(E C)
D

(A D)
C

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

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

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

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
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)

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

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

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


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

(B D)

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


decomposio:
(((A B)) (C))
((A B))

(C)

(A B)

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


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

((C))

(A B)
A

(C)

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


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

((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]]
B) (
C)] (
A)]
6. [[(
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

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

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

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

2.

(B C)

((B C))

B
1
1
0
0

C
1
0
1
0

(B )
0
0
1
1

((B) C)
(B)

52

((B C))
0
0
1
0

(D (E))

3.
D

(E)
E

D
1
1
0
0
4.

E
1
0
1
0

D ()
0
1
1
1

( )
1
0
0
0

A ( )
1
0
1
1

(A (B A))

(B A)

A
1
1
0
0
5.

()
0
1
0
1

B
1
0
1
0

(A ((B A)))

((B A))

(B A)
B

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

7.

B
1
0
1
0

(B A)
1
1
0
1

A
(A (B A)
1
1
1
1

((A B) A)

(A B)

B
A
1
1
0
0

B
1
0
1
0

(B A)
1
0
1
1

54

(B A)A )
1
1
0
0

((A B) A)

8.

(A B)

B
A
1
1
0
0

(A B)
1
0
0
1

B
1
0
1
0

((A B) A)
1
1
1
0

{A [(B) C]}

9.
A

[(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

55

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

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

10.

(A B)
A

[B (B A)]
B

(B A)

1
1
0
0

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

{[A (A)]}

11.

[A (A)]
A

(
A)

A
1
0

(A)
0
1

[A (A)]
0
0

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

12.

[(A B)]

[(A) (B)]

(A B)

(A)

(B)

56

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

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)]}

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

0
1
1
1

1
1
1
1

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

13.

[A (B C)]

[(A B) (A C)]

(B C)

C (B C)

1
1
1
1
0
0
0
0

1
1
0
0
1
1
0
0

1
0
0
0

1
0
1
0
1
0
1
0

(A B)
A

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

(A C)
B

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

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

(A B)

(B A)

57

1
1
1
1
1
0
1
0

C
[(A B) (A C)]

1
1
1
1
1
1
1
0

1
1
1
1
1
1
1
0

(B A)
1
0
0
0

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

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

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

(A A)
A

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


A

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

(A B)B

A
A

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
1
1
1

16. (A ((B A)))

((B A))

(B A)

58

1
0
1
1

A
1
1
0
0

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


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

B
1
0
1
0

(((A B)) A)

17)

((A B))

(A B)

A
A
1
1
0
0

18.

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


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

B
1
0
1
0

(((A B)) A)

((A B))

(A B)

59

A
1
1
0
0

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


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

B
1
0
1
0

((A C) (B C))

19.

(A C)

(B C)

C (A C) (B C)

1
1
1
1
0
0
0
0

1
1
0
0
1
1
0
0

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 B) (G (A)))

20.

(A B)

(G (A))

(A)

60

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

B G (A) (A B)

1
1
1
1
0

1
1
0
0
1

1
0
1
0
1

1
0
1
0
1

1
1
0
0
1

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

1
1
1
1
0

1
1
0
0
0

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

21.

(A C)

((B C) (B C))

(B C)

A
1
1
1
1
0
0
0
0

(G (A)))

B
1
1
0
0
1
1
0
0

(B C)

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

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

21.

(A B)

((C (B)) (D))

((C (B))

(B)

(D)

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

C D

1
1
1
1
1
1
1
0
0
0

1
1
1
0
0
0
0
1
1
1

1
0
0
1
1
0
0
1
1
0

0
1
0
1
0
1
0
1
0
1

0
0
0
1
1
1
1
0
0
0

1
0
1
0
1
0
1
0
1
0

1
1
1
0
0
0
0
1
1
1

0
1
1
1
1
1
1
0
0
1

0
0
1
0
1
0
1
1
0
0

0
0
1
1
1
1
1
1
0
0

0 0

0
0
0

1
0
0

0
1
0

1
1
1

1
0
1

1
1
1

1
1
1

1
0
1

1
0
1

0
0
0

62

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

22.

(A (B C))

((A C) (A D))

(B C)

B C

(A C)

(A D)

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

1
1
1
1
1
1
1
0
0

1
1
1
0
0
0
0
1
1

1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0

1
0
0
1
1
1
1
1
1

1
0
0
1
1
0
0
1
1

1
1
1
0
0
0
0
1
1

1
0
0
1
1
1
1
1
1

0
1
1
1
0
1
1
1
1

0
1
1
1
0
1
1
1
1

0 0

0
0
0

1
0
0

0
1
0

1
1
1

1
1
1

1
1
1

1
1
1

1
1
1

1
1
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

x2

f(x1, x2)

0
0

1
0

0
1

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


x1

x2

x3

f(x1, x2, x3)

1
1
0
0
0
0

0
0
1
1
0
0

1
0
1
0
1
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.
Exemplo 2. As seguintes frmulas so exemplos de tautologias:
((A B) B)

1.

(A B )
A

2.

B
A

(A B)

((A B) B)

0
0

1
0

0
0

1
1

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

(A)
A

(A)

(A (A))

((A (A)))

68

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

3.

(A (B C))

((A B) (A C))

(B C)

A
B

(A B)

(A C)
A

(B C)

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


1

1
1
1
0
0
0
0

1
0
0
1
1
0
0

0
1
0
1
0
1
0

0
1
1
1
0
1
1

1
0
0
1
1
1
1

0
1
0
1
1
1
1

0
1
1
1
1
1
1

0
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.

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))]

3)

Quais das seguintes frmulas logicamente equivalente frmula (A


B) ?
1. [B (A)]
2. [B (C (A))]
3. (B A)

4)

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

A2

(A1 A2)

((A1 A2) A1)

0
0

1
0

0
0

1
1

A2

(A1 A2)

A1

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

E (E C) (C D) (((E C) (C D))

1
1
1
0
0
0
0

1
0
0
1
1
0
0

1
1
1
1
0
1
0

1
1
1
1
0
1
0

1
0
0
0
0
0
0

1
0
0
0
0
0
0

1
1
1
1
1
1
1

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

2.

B)

A)]

Justificativa

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)

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)]

Falseamento

4.

Tab.

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)

A)]

0
0

Justificativa
Falseamento

5.

Justificativa

Tab.
Tab.

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

0
1
1

Falseamento
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)

(B

A))

0
1

0
0

0
0

2o caso:

((A

B)

(B

A))

1
0
0

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))

(A

B))

C))

0
1

0
0

0
0

0
0

74

2o caso:

((A

B)

C)

C))

0
0

0
0

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))

((

(A

C)))

1
0

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))

((

(A

C)))

0
0

1
1
1

0
1
1
0

1
1

0
1

75

2o sub-caso.
(((A

(B

C ))

((

(A

C)))

0
0

1
0

1
1

1
0
1
1

1
1

3o sub-caso.
(((A

(B

C))

((

(A

C)))

0
0

1
1
1
1

1
1

1
1

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

0
1
0

0
0

76

2o caso:
((A

(A

(A

0
0
1

1
1

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

(A

0
1

0
1
0

2o caso:
((A

A))

0
0

1
0
1

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
0

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:
(

((A

A)))

0
1
1

1
0

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:
((

((B

C)

(A

C)))

0
0
1

0
1
0

0
1

0
0

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)

0
1

0
1

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:

((

((

A)))

0
1

0
1

0
0

0
0

2o caso:
((

((

A)))

0
0
1

1
0
0

0
0

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 (A))

(A)

82

2.

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

(A)

A
B

( )

((A B) (A))

()

0
0

1
0

0
0

1
1

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)]
[

((A

A)]

1
0
1

0
1

2. [(A (B A))]

83

(A

A))]

1
0
1

0
1

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


[

((A

((A

B))

A)))]

1
0
1

0
1

0
1

1
1
0
1

0
0

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


vlida.

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)

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))

(A)

Se A verdadeira, ento (A) falsa e, portanto, ((A))


verdadeira.
Podemos esquematizar assim:

(A)

((A))

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)

(B)

(A)

0
0

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

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

12.4

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

12.5

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

12.6

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

12.7

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

12.8

{[(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

(P2)

a) (A ((B (C)) D))


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

(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.

Exemplo 3. So exemplos de conjuntivas fundamentais.


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

1.
2.
3.

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.

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)

1.
2.
3.

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

(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.

5.
6.
7.
8.

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

0
0

1
0

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]

[(A) B]

(B)

(A)

1
1
0
0
0
0

0
0
1
1
0
0

1
0
1
0
1
0

[() ]

1
0
1
0
1
0

0
0
1
1
1
1

0
1
1
0
0
1

()

(A)

[() C]

1
1
0
0
1
1

0
0
1
1
1
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

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

0
0
1
1
1
1
0
0
0
0
1
1
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
0
1
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

S1

S2

0
0

1
0

0
1

0
0

1
0

1
0

S3

S3

0
0

1
0

0
0

0
0

1
0

0
1

Exerccio 6. Encontre frmulas S1, S2 e S3 cujas frmulas atmicas


so A, B e C e cujas tabelas-verdade so:
A

S1

S2

S3

1
1
0
0
0
0

0
0
1
1
0
0

1
0
1
0
1
0

0
0
1
0
0
1

1
1
0
0
0
0

0
0
1
1
0
0

1
0
1
0
1
0

1
0
0
1
0
1

1
1
0
0
0
0

0
0
1
1
0
0

1
0
1
0
1
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

S1

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

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

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
0
1
0

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

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

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

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
0
1
0

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

102

S2

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

C
B

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.

1.
2.
3.

Exemplo 9. A (B C) | B (A C).
Demonstrao:
A (B C)
[A (B C)] [(A B) (A C)]
[(A B) (A C)]

107

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

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

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)

(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)

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

(hiptese)

110

2.
3.
4.
5.
6.

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

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

(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)

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))

(hiptese)
(hiptese)
(1)
(1, 3, MP)
(Teorema da Deduo)

3) B (C (A B))
1. B
2. C
3. B (A B)
4. A B
0 | B (C (A B))

(hiptese)
(hiptese)
(2)
(1, 3, MP)
(Teorema da Deduo)

4) (A B) A B
1. (A B)

(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

A1

A1

A1

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)):

(B)

(A (B))

115

(A (B))

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]}
C

(B)

[(B) C]

{A [(B) C]}

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

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))

Traduo
Existe um nmero natural divisvel por 2.

(x)(A(x))

Existe um nmero natural que no divisvel por 2.

(x)(A(x))

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

Traduo

(y)(z)(x)(A(x, y, z)) Dados dois pontos quaisquer, existe um ponto entre eles.
(y)(z)(x)(A(x, y, z))

Existem dois pontos tais que todo ponto est 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

Traduo

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

Todos que so ciclistas so velozes.OuTodo


ciclista veloz.

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

Todos so ciclistas e todos so velozes

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

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.

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

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.

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

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.

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

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.

1.
2.
3.
4.
5.

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.

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

C
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

A,(AB)
B

R2

(CA)
C( Ax) A)

R3

(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

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


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

R6

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

R7

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


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

R8

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


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

R9

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

De ( x)(A B) podemos derivar [( x)A ( x)B].


De [( x)A ( x)B] podemos derivar ( x)(A B).

R12
R13

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].

R14

De (x)(A B) podemos derivar [(x)A (x)B].

R15

De [( x)A ( x)B] podemos derivar ( x)(A B).

Se A e B so frmulas e x no livre em A. Temos:


R16

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


De (A ( x)B) podemos derivar [( x)A ( x)B).

R17

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


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

R18

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


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

R19

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


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

R20

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


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

R21

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


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

R20

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


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

R21

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:
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
2
3
4
5

Dependncia
{3}
{3}
{3}
{3}

Vamos algumas explicaes:


1

yAx[y] A

Ax.12.

nesta linha apenas aplicamos o axioma 12.


2

yAx[y]

xA

1, R2.

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

134

{3}

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

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)]

Ax.1.

Apenas aplicamos o axioma um.


6

C yAx[y] xA)

2, 5, R1.

Modus Ponens
7
Ax.2.

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

Aplicao do axioma dois.


8
{3}

[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

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?

1
2
3

Deduo
CA CA
C A C xA
(C A) [C xA]

Justificativa
Premissa
1, R2.
2 , T.D.

Dependncia
{1}
{1}
-

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.

Deduo
A, A B
A, A B
A, A B

A
AB
B

Justificativa
premissa
premissa
1, 2, R1.

Dependncia
{1}
{2}
{1, 2}

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

D3) A B
1
2
3

AB

A, B

3, 4, R1.

{2, 4}

A.

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

Justificativa
Ax.4.
premissa
1, 2, R1.

Dependncia
{2}
{2}

D4) A B B.
1
2
3

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

Justificativa
Ax.5.
premissa
1, 2, R1.

Dependncia
{2}
{2}

D5) A A B.
1
2
3

Deduo
A AAB
A A
A A B.

Justificativa
Ax.6.
premissa
1, 2, R1.

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

138

Dependncia
-

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

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

Justificativa
Ax.1.
premissa
1, 2, R1.
3, R2.
um axioma
4, 5, R1.

Dependncia
{2}
{2}
{2}
{2}

Px[k].

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

D12) Px[t]
1
2
3

xP.

Justificativa
Ax.12.
premissa
1, 2, R1.

Dependncia
{2}
{2}

xP.

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.

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

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)]

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

141

[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.

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

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 se e somente se todo modelo de for modelo de

{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

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.
6

Sobre os conceitos da teoria intuitiva dos conjuntos recomendamos a obra [Abe &
Papavero 92].

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

C1

G2

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

Fbio

Marcos

Snia

Ftima

Maria

Ana

Eduardo

Adriano

Cludia

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

Carlos

Mariana

Mrio

Paula

(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);
no final.
clusulas de programa incondicionais no necessitam de
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:
a)

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.
a)

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;

197

a)

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;
a)

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.

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

(A)
0
1

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

+
E
R

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

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

AA
B

+
E
-

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

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
y

x
A3

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

1110

Condio 2

1001

Condio 3

0101

Condio 4

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
-

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

11 1 0

C o n d ica~ o 2

10 01

C o n d ica~ o 3

01 01

C o n d ica~ o 4

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 ))

[(

CD ( C D)

11 1 0

11 1

10 01

10 1

01 01

01 1

00 01

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

+
E
-

S
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 CA B[(AVBVC)]
C [A B C )]
B
1 1 1100
11
C

1 1 0011
11

11 00 1111
11 00 00 11
0111

0 1 11

0101

01 01

+
E
-

0011

0 0 11

0001

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

Situao 1
Situao 2
Situao 3

1000
Situao 4

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:

+
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

+
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
1-

Construa 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 B )] [ (C V D)] = S

a)

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:
1234-

O 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