Escolar Documentos
Profissional Documentos
Cultura Documentos
ogica e Estrutura
(Vers~
ao Parcial: 09/06/2000, 10:00hs)
Favor n~
ao distribuir
1
2 INDICE
Cap
tulo 0
Introduc~ao
Sem adotar uma das varias vis~oes defendidas nos fundamentos da matematica,
podemos concordar que matematicos precisam e fazem uso de uma linguagem,
mesmo se apenas para a comunicaca~o de seus resultados e seus problemas.
Enquanto matematicos t^em reivindicado pela maxima possvel exatid~ao para
seus metodos, eles t^em sido menos sensveis com respeito a seu meio de comu-
nicaca~o. E bem conhecido que Leibniz prop^os colocar a pratica da comunicaca~o
matematica e do raciocnio matematico sobre uma base rme; entretanto, n~ao
foi antes do seculo dezenove que tais empreitadas foram levadas a cabo com
mais sucesso por G. Frege e G. Peano. Independentemente do qu~ao engenhosa e
rigorosamente Frege, Russell, Hilbert, Bernays e outros desenvolveram a logica
matematica, foi apenas na segunda metade desse seculo que logica e sua lin-
guagem mostraram algumas caractersticas de interesse para o matematico em
geral. Os resultados sosticados de Godel obviamente foram logo apreciados,
mas eles permaneceram por um longo tempo como destaques tecnicos mas sem
uso pratico. Ate mesmo o resultado de Tarski sobr a decidibilidade da algebra
elementar e geometria tiveram que esperar seu momento adequado ate que al-
gumas aplicaco~es aparecessem.
Hoje em dia as aplicaco~es de logica a algebra, analise, topologia, etc. s~ao em
grande numero e bem reconhecidas. Parece estranho que um bom numero de
fatos simples, dentro da capacidade de percepca~o de qualquer estudante, pas-
sassem despercebidos por tanto tempo. N~ao e possvel dar o credito apropriado
a todos aqueles que abriram esse novo territorio, qualquer lista demonstraria
inevitavelmente as prefer^encias do autor, e omitiria algumas areas e pessoas.
Vamos observar que matematica tem uma maneira bem regular, can^onica de
formular seu material, em parte por sua natureza sob a in
u^encia de fortes es-
colas, como a de Bourbaki. Alem do mais, a crise no incio do seculo forcou
os matematicos a prestar mais atenca~o aos detalhes mais nos de sua lin-
guagem e as suas pressuposico~es concernentes a natureza e o alcance do universo
matematico. Essa atenca~o comecou a dar frutos quando se descobriu que havia
em certos casos uma estreita ligaca~o entre classes de estruturas matematicas e
suas descrico~es sintaticas. Aqui vai um exemplo:
Sabe-se bem que um subconjunto de um grupo G que e fechado sob mul-
3
4 ~
CAPTULO 0. INTRODUCAO
tiplicaca~o e inverso, e um grupo; entretanto, um subconjunto de um corpo
algebricamente fechado F que e fechado sob soma, produto, menos e inverso,
e em geral um corpo que n~ao e algebricamente fechado. Esse fen^omeno e uma
inst^ancia de algo bem geral: uma classe axiomatizavel de estruturas e axiom-
atizada por um conjunto de sentencas universais (da forma 8x1; : : :; xn', com
' sem-quanticadores) sse ela e fechada sob subestruturas. Se vericarmos os
axiomas da teoria dos grupos veremos que de fato todos os axiomas s~ao univer-
sais, enquanto que nem todos os axiomas da teoria dos corpos algebricamente
fechados s~ao universais. Esse ultimo fato poderia obviamente ser acidental,
poderia ser o caso que n~ao f^ossemos espertos o suciente para descobrir uma
axiomatizaca~o universal da classe de corpos algebricamente fechados. O teo-
rema acima de Tarski e Los nos diz, entretanto, que e impossvel encontrar tal
axiomatizaca~o!
O ponto de interesse e que para algumas propriedades de uma classe de
estruturas temos criterios sintaticos simples. Podemos, por assim dizer, ler o
comportamento do mundo matematico real (em alguns casos simples) a partir
de sua descrica~o sintatica.
Existem numerosos exemplos do mesmo tipo, e.g. o Teorema de Lyndon :
uma classe axiomatizavel de estruturas e fechada sob homomorsmos sse ela
pode ser axiomatizada por um conjunto de sentencas positivas (i.e. sentencas
que, em forma normal prenex com a parte aberta em forma normal disjuntiva,
n~ao cont^em negaca~o).
O exemplo mais basico e ao mesmo tempo monumental de tal ligaca~o entre
noco~es sintaticas e o universo matematico e obviamente o teorema da completude
de Godel , que nos diz que demonstrabilidade nos sistemas formais usuais e
extensionalmente id^entica a noca~o de verdade em todas as estruturas. Isto e o
mesmo que dizer, embora demonstrabilidade e verdade sejam noco~es totalmente
diferentes (a primeira e combinatorial por natureza, e a outra e conjuntista), elas
determinam a mesma classe de sentencas: ' e demonstravel sse ' e verdadeira
em todas as estruturas.
Dado que o estudo de logica envolve uma boa dose de trabalho sintatico,
iniciaremos apresentando uma maquinaria eciente para lidar com sintaxe. Us-
amos a tecnica de denic~oes indutivas e como uma consequ^encia camos bem
inclinados a ver arvores onde for possvel, em particular preferimos deduca~o
natural na forma de arvores as vers~oes lineares que aparecem aqui e ali em uso
na literatura.
Um dos fen^omenos impressionantes no desenvolvimento dos fundamentos da
matematica e a descoberta de que a propria linguagem da matematica pode
ser estudada por meios matematicos. Isso esta longe de ser um jogo futil: os
teoremas da incompletude de Godel, por exemplo, e o trabalho de Godel e
Cohen no campo das provas de independ^encia em teoria dos conjuntos requerem
um minucioso conhecimento da matematica e da linguagem matematica. Esses
topicos n~ao fazem parte do escopo do presente livro, portanto podemos nos
concentrar nas partes mais simples da sintaxe. Entretanto objetivaremos fazer
um tratamento minucioso, na esperanca de que o leitor percebera que todas
essas coisas que ele suspeita ser trivial, mas n~ao consegue ver por que, s~ao
perfeitamente acessveis a demonstraco~es. Ao leitor pode ser uma ajuda pensar
de si proprio como um computador com enormes capacidades mec^anicas, mas
sem qualquer estalo criativo, naqueles casos em que ca intrigado devido a
quest~oes do tipo `por que devemos provar algo t~ao completamente evidente'!
5
Por outro lado o leitor deve sempre se lembrar que ele n~ao e um computador
e que, certamente quando ele chegar ao captulo 3, alguns detalhes devem ser
reconhecidos como triviais.
Para a pratica propriamente dita da matematica a logica de predicados e
sem duvida a ferramenta perfeita, pois ela nos permite manusear objetos in-
dividualmente. Mesmo assim iniciamos o livro com uma exposica~o da logica
proposicional. Ha varias raz~oes para essa escolha.
Em primeiro lugar a logica proposicional oferece em miniatura os proble-
mas que encontramos na logica de predicados, mas la as diculdades obscure-
cem alguns dos aspectos relevantes e.g. o teorema da completude para a logica
proposicional ja usa o conceito de `conjunto consistente maximal', mas sem as
complicaco~es dos axiomas de Henkin.
Em segundo lugar existem um numero de quest~oes verdadeiramente proposi-
cionais que seriam difceis de tratar em um captulo sobre a logica de predicados
sem criar uma impress~ao de descontinuidade que se aproxima do caos. Final-
mente parece uma quest~ao de pedagogia saudavel deixar que a logica proposi-
cional preceda a logica de predicados. O principiante pode em um unico con-
texto se familiarizar com as tecnicas de teoria da prova, as algebricas e as da
teoria dos modelos que seria demasiado em um primeiro contato com a logica
de predicados.
Tudo o que foi dito sobre o papel da logica em matematica pode ser repetido
para a ci^encia da computaca~o; a import^ancia dos aspectos sintaticos e ainda
mais pronunciada que em matematica, mas n~ao para aqui. A literatura de
teoria da computaca~o e abundante em sistemas logicos, provas de completude
e coisas do g^enero. No contexto de teoria dos tipos (lambda calculo tipicado)
a logica intuicionstica tem adquirido um papel importante, enquanto que as
tecnicas de normalizaca~o t^em se tornado uma dieta basica para cientistas da
computaca~o.
6 ~
CAPTULO 0. INTRODUCAO
Cap
tulo 1
Logica Proposicional
1.1 Proposic~oes e Conectivos
Tradicionalmente, logica e dita ser a arte (ou estudo) do raciocnio; portanto
para descrever a logica na sua tradica~o, temos que saber o que e `raciocnio'.
De acordo com algunas vis~oes tradicionais o raciocnio consiste do processo
de construir cadeias de entidades lingusticas por meio de certas relaco~es `: : :
segue de : : :', uma vis~ao que e sucientemente boa para nossos propositos. As
entidades lingusticas que ocorrem nesse tipo de raciocnio s~ao tomadas como
sendo sentencas , i.e. entidades que exprimem um pensamento completo, ou
estado de coisas. Chamamos tais sentencas de declarativas . Isso signica que,
do ponto de vista da lngua natural nossa classe de objetos lingusticos aceitaveis
e bastante restrita.
Felizmente essa classe e sucientemente larga quando olhada do ponto de
vista do matematico. Ate o presente a logica tem sido capaz de caminhar muito
bem mesmo com essa restrica~o. E verdade, n~ao se pode lidar com pergun-
tas, ou enunciados imperativos, mas o papel desses entidades e desprezvel em
matematica pura. Devo fazer uma exceca~o a enunciados de aca~o, que t^em um
papel importante em programaca~o; pense em instruco~es como `goto, if : : : then,
else : : :', etc. Por raz~oes dadas adiante, vamos, no entanto, deixa-las de fora.
As sentencas que temos em mente s~ao do tipo `27 e um numero quadrado',
`todo inteiro positivo e a soma de quatro quadrados', `existe apenas um conjunto
vazio'. Um aspecto comum de todas essas sentencas declarativas e a possibili-
dade de atribu-las um valor de verdade, verdadeiro ou falso . N~ao exigimos a
determinaca~o propriamente dita do valor de verdade em casos concretos, como
por exemplo a conjectura de Goldbach ou a hipotese de Riemann. Basta que
possamos `em princpio' atribuir um valor de verdade.
Nossa chamada logica bi-valorada e baseada na suposica~o de que toda sen-
tenca e verdadeira ou falsa, e e a pedra angular da pratica de tabelas-verdade.
Algumas sentencas s~ao mnimas no sentido de que n~ao ha parte propria que
seja tambem uma sentenca, e.g. 5 2 f0; 1; 2; 5; 7g, ou 2+2 = 5; outras podem ser
divididas em partes menores, e.g. `c e um racional ou c e um irracional' (onde c
e uma constante). Por outro lado, podemos construir sentencas maiores a partir
de sentencas menores atraves do uso de conectivos . Conhecemos muitos conec-
tivos em lngua natural; a seguinte lista n~ao tem de forma alguma o proposito de
7
8
CAPTULO 1. LOGICA PROPOSICIONAL
ser exaustiva: e , ou , n~ao , se : : : ent~ao : : :, mas , pois , como , por , embora , nem .
No discurso usual, como tambem em matematica informal, usa-se esses conec-
tivos incessantemente; entretanto, em matematica formal seremos econ^omicos
nos conectivos que admitimos. Isso e sobretudo por raz~oes de exatid~ao. Com-
pare, por exemplo, as seguintes sentencas: \ e irracional, mas n~ao e algebrico",
\Max e um marxista, mas ele n~ao e carrancudo". No segundo enunciado pode-
mos descobrir uma sugest~ao de algum contraste, como se deveramos nos sur-
preender que Max n~ao e carrancudo. No primeiro caso tal surpresa n~ao pode ser
facilmente imaginada (a menos que, e.g. se tenha acabado de ler que todos os
irracionais s~ao algebricos); sem modicar o signicado pode-se transformar esse
enunciado em \ e irracional e n~ao e algebrico". Logo por que usar (em um
texto formal) a formulaca~o que traz certos tons vagos, emocionais? Por essas e
outras raz~oes (e.g. de economia) em logica nos xamos em um numero limitado
de conectivos, em particular aqueles que t^em-se mostrado uteis na rotina diaria
de formular e demonstrar.
Note, entretanto, que mesmo aqui as ambiguidades ameacam. Cada um dos
conectivos ja tem um ou mais signicados em lngua natural. Vamos dar alguns
exemplos:
1. Jo~ao passou direto e bateu num pedestre.
2. Jo~ao bateu num pedestre e passou direto.
3. Se eu abrir a janela ent~ao termos ar fresco.
4. Se eu abrir a janela ent~ao 1 + 3 = 4.
5. Se 1 + 2 = 4, ent~ao teremos ar fresco.
6. Jo~ao esta trabalhando ou esta em casa.
7. Euclides foi um grego ou um matematico.
De 1 e 2 concluimos que `e' pode ter uma funca~o de ordenaca~o no tempo. N~ao
e assim em matematica; \ e irracional e 5 e positivo" simplesmente signica
que ambas as partes se vericam. O tempo simplesmente n~ao tem qualquer
papel na matematica formal. Certamente n~ao poderamos dizer \ n~ao era nem
algebrico nem transcendente antes de 1882". O que desejaramos dizer e que
\antes de 1882 n~ao se sabia se era algebrico ou transcendente".
Nos exemplos 3{5 consideramos a implicaca~o. O exemplo 3 sera em geral
aceito, pois mostra um aspecto que viemos a aceitar como inerente a implicaca~o:
existe uma relaca~o entre a premissa e a conclus~ao. Esse aspecto esta ausente
nos exemplos 4 e 5. Mesmo assim permitiremos casos tais como o 4 e o 5 em
matematica. Ha varias raz~oes para se fazer isso. Uma e que a consideraca~o
de que o signicado deveria ser deixado fora de consideraco~es sintaticas. Do
contrario a sintaxe se tornaria difcil de manejar e acabaramos sendo levados
a uma pratica esoterica de casos excepcionais. Essa implicaca~o generalizada,
em uso em matematica, e chamada de implicac~ao material . Algumas outras
implicaco~es t^em sido estudadas sob as denominaco~es de implicac~ao estrita , im-
plicac~ao relevante , etc.
Finalmente 6 e 7 demonstram o uso do `ou'. Tendemos a aceitar 6 e a rejeitar
7. Na maioria das vezes se pensa no `ou' como algo exclusivo. Em 6 ate certo
ponto esperamos que Jo~ao n~ao trabalhe em casa, enquanto que 7 e incomum no
~ E CONECTIVOS
1.1. PROPOSICOES 9
sentido de que via de regra n~ao usamos `ou' quando poderamos de fato usar `e'.
Alem disso, normalmente hesitamos em usar uma disjunca~o se ja sabemos qual
das duas partes se verica, e.g. \32 e um numero primo ou 32 n~ao e um numero
primo" sera considerada articial (no mnimo) pela maioria das pessoas, pois
ja sabemos que 32 n~ao e um numero primo. Ainda assim a matematica usa
livremente tais disjunco~es super
uas, por exemplo \2 2" (que designa \2 > 2
ou 2 = 2").
De forma a prover a matematica de uma linguagem precisa criaremos uma
linguagem articial, formal, que se prestara ao tratamento matematico. Primeira-
mente deniremos uma linguagem para a logica proposicional, i.e. a logica que
lida com proposic~oes (sentencas, enunciados). Mais adiante estenderemos nosso
tratamento a logica que tambem leva em conta propriedades de objetos.
O processo de formalizac~ao da logica proposicional consiste de dois estagios:
(1) apresentar uma linguagem formal, (2) especicar um procedimento para se
obter proposico~es validas ou verdadeiras .
Inicialmente descreveremos a linguagem, usando a tecnica de denic~oes
indutivas . O procedimento e bem simples: Primeiro especique quem s~ao
as proposico~es menores, que n~ao decomponveis em proposico~es menores que
elas; depois descreva como proposico~es compostas s~ao construdas a partir de
proposico~es previamente dadas.
Denica~o 1.1.1 A linguagem da logica propositional tem um alfabeto con-
sistindo de
(i) smbolos proposicionais : p0 , p1, p2, : : :,
(ii) conectivos : ^, _, !, :, $, ?,
(iii) smbolos auxiliares : ( ; ).
Os conectivos carregam nomes tradicionais:
^ - e - conjunc~ao
_ - ou - disjunc~ao
! - se ..., ent~ao ... - implicac~ao
: - n~ao - negac~ao
$ - sse - equival^encia , bi-implicac~ao
? - falso - falsum , absurdum
Os smbolos proposicionais e o smbolo ? designam proposico~es indecom-
ponveis, que chamamos atomos , ou proposic~oes at^omicas .
Denica~o 1.1.2 O conjunto PROP de proposico~es e o menor conjunto X com
as propriedades
(i ) pi 2 X (i 2 N), ? 2 X,
(ii ) '; 2 X ) (' ^ ), (' _ ), (' ! ), (' $ ) 2 X,
(iii ) ' 2 X ) (:') 2 X.
As clausulas descrevem exatamente as maneiras possveis de construir proposico~es.
De modo a simplicar a clausula (ii ) escrevemos '; 2 X ) (' ) 2 X, onde
e um dos conectivos ^, _, !, $.
Uma advert^encia ao leitor e recomendavel nesse ponto. Usamos letras gregas
'; na denica~o; elas s~ao proposico~es? Claramente n~ao queremos que elas
sejam, pois queremos apenas aquelas cadeias de smbolos obtidas combinando-se
smbolos do alfabeto de maneira correta. Evidentemente nenhuma letra grega
entra de jeito nenhum! A explicaca~o e que ' e s~ao usadas como variaveis
10
CAPTULO 1. LOGICA PROPOSICIONAL
para proposico~es. Como queremos estudar logica, devemos usar uma linguagem
para discut-la nessa linguagem. Em geral essa linguagem e o portugu^es puro,
cotidiano. Chamamos a linguagem usada para discutir logica de nossa meta-
linguagem e ' e s~ao meta-variaveis para proposico~es. Poderamos dispensar
meta-variaveis lidando com (ii) e (iii) verbalmente: se duas proposico~es s~ao
dadas, ent~ao uma nova proposica~o e obtida colocando-se o conectivo ^ entre elas
e adicionando-se par^enteses na frente e no nal, etc. Essa vers~ao verbal deveria
bastar para convencer o leitor das vantagens da maquinaria matematica.
Note que adicionamos um conectivo um bocado incomum, ?. Incomum no
sentido de que ele n~ao conecta nada. Constante logica seria um nome mel-
hor. Por uniformidade camos com o nosso uso ja mencionado. ? e adicionado
por conveni^encia, poder-se-ia muito bem dispensa-lo, mas ele tem certas van-
tagens. Pode-se notar que ha algo faltando, nomeadamente um smbolo para a
proposica~o verdadeira; de fato adicionaremos um outro smbolo, >, como uma
abreviaca~o para a proposica~o \verdadeira".
Exemplos.
(p7 ! p0 ); ((? _ p32) ^ (:p2 )) 2 PROP:
p1 $ p7 ; ::?; ((! ^ 2= PROP
E facil mostrar que algo pertence a PROP (simplesmente execute a con-
struca~o de acordo com 1.1.2); e um pouco mais difcil mostrar que algo n~ao
pertence a PROP. Faremos um exemplo:
::? 2= PROP:
Suponha que ::? 2 X e X satisfaz (i), (ii), (iii) da denica~o 1.1.2. Reivin-
dicamos que Y = X f::?g tambem satisfaz (i), (ii) e (iii). Como ?; pi 2 X,
tambem ?; pi 2 Y . Se '; 2 Y , ent~ao '; psi 2 X. Como X satisfaz (ii)
(' ) 2 X. Da forma das express~oes ca claro que (' ) 6= ::? (olhe para
os par^enteses), logo (' ) 2 X f::?g = Y . Igualmente se demonstra que
Y satisfaz (iii). Logo X n~ao e o menor conjunto satisfazendo (i), (ii) e (iii),
portanto ::? n~ao pode pertencer a PROP.
Propriedades de proposico~es s~ao estabelecidas por um procedimento indutivo
analogo a denica~o 1.1.2: primeiro lida com os atomos, e depois vai das partes
as proposico~es compostas. Isso e expresso mais precisamente em
Teorema 1.1.3 (Princpio da induca~o) Seja A uma propriedade, ent~ao A(')
se verica para todo ' 2 PROP se
(i) A(pi ), para todo i, e A(?),
(ii) A('), A( ) ) A((' )),
(iii) A(') ) A((:')).
Demonstrac~ao. Seja X = f' 2 PROP j A(')g, ent~ao X satisfaz (i), (ii) e
(iii) da denica~o 1.1.2. Logo PROP X, i.e. para todo ' 2 PROP A(') se
verica.
A uma aplicaca~o do teorema 1.1.3 chamamos de uma prova por induc~ao
sobre '. O leitor vai notar uma semelhanca obvia entre o teorema acima e o
princpio da induca~o completa em aritmetica.
~ E CONECTIVOS
1.1. PROPOSICOES 11
O procedimento acima que permite obter todas as proposico~es e provar
propriedades de proposico~es e elegante e perspicaz; existe uma outra abor-
dagem, no entanto, que tem suas proprias vantagens (em particular para codi-
caca~o): considere proposico~es como o resultado de uma construca~o linear passo-
a-passo. E.g. ((:p0) ! ?) e construdo montando-se a express~ao a partir de
suas partes menores usando as partes previamente construdas: p0 : : : ? (:p0)
: : : ((:p0 ) ! ?). Isso e formalizado da seguinte maneira:
Denica~o 1.1.4 Uma sequ^encia '0 ; : : :; 'n e chamada de sequ^encia de formac~ao
de ' se 'n = ' e para todo i n 'i e at^omica, ou
'i = ('j 'k ) para certo j; k < i ou
'i = (:'i ) para certo j < i.
Observe que nessa denica~o estamos considerando cadeias ' de smbolos do
alfabeto dado; isso abusa um pouco da convenca~o notacional.
Exemplos. (a) ?; p2; p3; (?_p2); (:(?_p2)); (:p3 ) e p3; (:p3) s~ao ambas sequ^encias
de formaca~o de (:p3). Note que sequ^encias de formaca~o podem conter `lixo'.
(b) p2 e uma subformula de ((p7 _ (:p2)) ! p1); (p1 ! ?) e uma subformula
de (((p2 _ (p1 ^ p0 )) $ (p1 ! ?)).
Agora vamos dar alguns exemplos triviais de prova por induca~o. Na pratica
apenas vericamos verdadeiramente as clausulas da prova por induca~o e deix-
amos a conclus~ao para o leitor.
1. Cada proposic~ao tem um numero par de par^enteses.
Demonstrac~ao. (i) Cada atomo tem 0 par^enteses e 0 e par.
(ii) Suponha que ' e tenham 2n, resp. 2m par^enteses, ent~ao (' ) tem
2(n + m + 1) par^enteses.
(iii) Suponha que ' tem 2n par^enteses, ent~ao (:') tem 2(n + 1) par^enteses.
2. Cada proposic~ao tem uma sequ^encia de formac~ao.
Demonstrac~ao. (i) Se ' e um atomo, ent~ao a sequ^encia consistindo de apenas
' e uma sequ^encia de formaca~o de '.
(ii) Sejam '0; : : :; 'n e 0 ; : : :; m sequ^encias de formaca~o de ' e , ent~ao
observa-se facilmente que '0 ; : : :; 'n; 0; : : :; m ; ('n m ) e uma sequ^encia de
formaca~o de ('n m ).
(iii) Deixo para o leitor.
Podemos melhorar 2:
Teorema 1.1.5 PROP e o conjunto de todas as express~oes que t^em sequ^encia
de formac~ao.
Demonstrac~ao. Seja F o conjunto de todas as express~oes (i.e. cadeias de smbolos)
que t^em sequ^encia de formaca~o. Demonstramos acima que PROP F.
Suponha que ' tem uma sequ^encia de formaca~o '0 ; : : :; 'n, vamos demon-
strar que ' 2 PROP por induca~o sobre n.
n = 0 : ' = '0 e por denica~o ' e at^omica, logo ' 2 PROP.
12
CAPTULO 1. LOGICA PROPOSICIONAL
Suponha que todas as express~oes com sequ^encia de formaca~o de comprimento
m < n est~ao em PROP. Por denica~o 'n = ('i j ) para todo i; j < n, ou
'n = (:'i ) para i < n, ou 'n e at^omica. No primeiro caso 'i e 'j t^em
sequ^encia de formaca~o de comprimento i; j < n, logo pela hipotese da induca~o
'i ; 'j 2 PROP. Como PROP satisfaz as clausulas de denica~o 1.1.2, temos
tambem ('i 'j ) 2 PROP. Trate negaca~o igualmente. O caso at^omico e trivial.
Conclus~ao F PROP.
Em um certo sentido o Teorema 1.1.5 e uma justicaca~o da denica~o de
sequ^encia de formaca~o. Ele tambem nos permite estabelecer propriedades de
proposico~es por induca~o ordinaria sobre o comprimento de sequ^encias de formaca~o.
Em aritmetica normalmente se dene funco~es por recurs~ao, e.g. exponen-
ciaca~o e denida por x0 = 1, e xy+1 = xy x, ou a funca~o fatorial por 0! = 1 e
(x+1)! = x!(x+1). A justicaca~o e bem imediata: cada valor e obtido usando-se
os valores precedentes (para argumentos positivos). Existe um princpio analogo
em nossa sintaxe.
Exemplos. O numero p(') de par^enteses de ', pode ser denido como se segue:
8
< p(') = 0 para ' at^omica;
p(('
: p((:')) = )) p(') + p( ) + 2;
= p(') + 2:
O valor de p(') pode ser computado calculando-se sucessivamente p( ) para
as subformulas .
Podemos dar esse tipo de denica~o para todos os conjuntos que s~ao denidos
por induca~o. O princpio de \denica~o por recurs~ao" toma a forma de \existe
uma unica funca~o tal que ...". O leitor deve se manter lembrado que a ideia
basica e que pode-se `computar' o valor da funca~o para uma composica~o de uma
forma prescrita a partir dos valores da funca~o nas partes componentes.
O princpio geral por tras dessa pratica e rmado pelo seguinte teorema.
Teorema 1.1.6 (Denica~o por Recurs~ao) Suponha que sejam dados os ma-
peamentos H : A2 ! A e H: : A ! A e suponha que Hat seja um mapea-
mento do conjunto de atomos para A, ent~ao existe exatamente um mapeamento
F : PROP ! A tal que
8
< F(') = Hat para ' at^omica;
F((' ))
: F((:')) = = H (F('); F( ));
H: (F(')):
Usualmente, em aplicaco~es concretas o princpio e bem facilmente recon-
hecido como um princpio correto. Entretanto, em geral tem-se que demonstrar
a exist^encia de uma unica funca~o satisfazendo as equaco~es acima. A demon-
straca~o e deixada como um exerccio, cf. Exerccio 11.
Aqui est~ao algums exemplos de denica~o por recurs~ao:
1. A arvore (lexica) de uma proposica~o ' e denida por
~ E CONECTIVOS
1.1. PROPOSICOES 13
T((' )) = (' )
@
@
T(') T( )
T((:')) = (:')
T(')
1.2 Sem^antica
A tarefa de interpretar a logica proposicional e simplicada pelo fato de que
as entidades consideradas t^em uma estrutura simples. As proposico~es s~ao con-
strudas a partir de blocos adicionando-se conectivos.
As partes mais simples (os atomos) s~ao da forma \a grama e verde", \Maria
gosta de Goethe", \6 3 = 2", que s~ao simplesmente verdadeiras ou falsas .
Estendemos essa atribuica~o de valores-verdade a proposico~es compostas, por
re
ex~ao sobre o signicado dos conectivos logicos.
Vamos combinar de usar 1 e 0 ao inves de `verdadeiro' e `falso'. O problema
que enfrentamos e como interpretar ' , :', dados os valores-verdade de ' e
.
Ilustraremos a soluca~o considerando a tabela entrada-sada para os Srs.
Smith e Jones.
Conjunc~ao. Um visitante que deseja ver ambos Smith e Jones quer que a tabela
esteja na posica~o mostrada aqui, i.e.
entra sai
Smith \Smith esta" ^ \Jones esta" e verdadeiro sse
Jones \Smith esta" e verdadeiro e \Jones esta" e verdadeiro
Escrevemos v(') = 1 (resp. 0) para \' e verdadeiro". Ent~ao a consideraca~o
acima pode ser enunciada como sendo v(' ^ ) = 1 sse v(') = v( ) = 1, ou
v(' ^ ) = min(v('); v( )).
Pode-se tambem escrever sob forma de uma tabela-verdade :
^ 0 1
0 0 0
1 0 1
A tabela-verdade deve ser lida da seguinte forma: o primeiro argumento e
tomado da coluna mais a esquerda e o segundo argumento e tomado da linha
mais acima.
Disjunc~ao. Se um visitante deseja ver um dos parceiros, n~ao importa qual, ele
deseja que a tabela esteja em uma das posico~es
entra sai entra sai entra sai
Smith Smith Smith
Jones Jones Jones
18
CAPTULO 1. LOGICA PROPOSICIONAL
No ultimo caso ele pode fazer uma escolha, porem isso n~ao e um problema,
pois ele deseja ver pelo menos um dos caras, n~ao importa qual.
Em nossa notaca~o, a interpretaca~o de _ e dada por
v(' _ ) = 1 sse v(') = 1 ou v( ) = 1
Abreviando: v(' _ ) = max(v('); v( )).
_ 0 1
Sob forma de tabela-verdade: 0 0 1
1 1 1
Negac~ao. O visitante que esta apenas interessado no Sr. Smith enunciara \Smith
n~ao esta" se a tabela estiver na posica~o:
entra sai
Smith
Portanto \Smith n~ao esta" e verdadeiro se \Smith esta" e falso. Escrevemos
isso da forma v(:') = 1 sse v(') = 0, ou v(:') = 1 v(').
:
Sob forma de tabela-verdade: 0 1
1 0
Implicac~ao. Nosso famoso visitante foi informado de que \Jones esta se Smith
esta". Agora podemos ao menos prever as seguintes posico~es da tabela
entra sai entra sai
Smith Smith
Jones Jones
entra sai
Se a tabela esta na posica~o: Smith
Jones
ent~ao ele sabe que a informaca~o era falsa.
entra sai
O caso remanescente, Smith , n~ao pode ser tratado de forma
Jones
t~ao simples. Evidentemente n~ao ha raz~ao para considerar a informaca~o falsa,
mas sim que \n~ao ajuda muito", ou \irrelevante". Entretanto, nos compromete-
mos com a posica~o de que cada enunciado e verdadeiro ou falso, por isso temos
que decidir atribuir a \Se Smith esta, ent~ao Jones esta" verdadeiro tambem nesse
caso particular. O leitor vai se dar conta de que zemos uma escolha deliberada
aqui; uma escolha que se revelara uma escolha feliz em vista da eleg^ancia do
sistema resultante. N~ao ha raz~ao convincente, entretanto, para se permanecer
com a noca~o de implicaca~o que acabamos de introduzir. Embora varias outras
noco~es tenham sido estudadas na literatura, para propositos matematicos nossa
noca~o e perfeitamente apropriada.
Note que ha um caso em que a implicaca~o e falsa (veja a tabela-verdade
abaixo), e vamos manter essa observaca~o na lembranca para aplicaca~o mais
adiante { ela vai ajudar a diminuir os calculos.
^
1.2. SEMANTICA 19
Em nossa notaca~o a interpretaca~o da implicaca~o e dada por v(' ! ) = 0 sse
v(') = 1 e v( ) = 0.
! 0 1
Sua tabela-verdade e: 0 1 1
1 0 1
Equival^encia. Se nosso visitante sabe que \Smith esta se e somente se Jones
esta", ent~ao ele sabe que ambos est~ao presentes ou ambos n~ao est~ao. Logo
v(' ! ) = 1 sse v(') = v( ).
$ 0 1
Sua tabela-verdade e: 0 1 0
1 0 1
Falsum. Um absurdo, tal como \0 6= 0", \alguns numeros mpares s~ao pares",
\Eu n~ao sou eu", n~ao podem ser verdadeiros. Logo colocamos v(?) = 0.
Estritamente falando deveramos adicionar uma tabela-verdade, i.e. a tabela
para >, o oposto de falsum .
Verum. Esse smbolo designa proposico~es evidentemente verdadeiras tal como
1 = 1; colocamos v(>) = 1 para todo v.
Denica~o 1.2.1 Um mapeamento v : PROP ! f0; 1g e uma valorac~ao se
v(' ^ ) = min(v('); v( ));
v(' _ ) = max(v('); v( ));
v(' ! ) = 0 , v(') = 1 e v( ) = 0;
v(' $ ) = 1 , v(') = v( );
v(:') = 1 v(');
v(?) = 0:
Se uma valoraca~o e dada apenas para atomos ent~ao, em virtude da denica~o
por recurs~ao, e possvel extend^e-la para todas as proposico~es, portanto obtemos:
Teorema 1.2.2 Se v e um mapeamento do conjunto de atomos em f0; 1g, sat-
isfazendo v(?) = 0, ent~ao existe uma unica valorac~ao [ ] v, tal que [ ']]v = v(')
para ' at^omica.
Tem sido pratica comum designar valoraco~es como denidas acima por [ ']],
por isso adotaremos essa notaca~o. Como [ ] e completamente determinado por
seus valores sobre os atomos, [ ']] e frequentemente designado por [ ']]v. Sempre
que n~ao houver confus~ao omitiremos o ndice v.
O teorema 1.2.2 nos diz que cada um dos mapeamentos v e [ ] v determina
o outro de forma unica, por conseguinte chamamos v tambem de valoraca~o (ou
de uma valorac~ao at^omica , se necessario). Desse teorema torna-se aparente que
existem muitas valoraco~es (cf. Exerccio 4).
E obvio tambem que o valor [ ']]v de ' sob v somente depende dos valores
de v nas suas subformulas at^omicas:
Lema 1.2.3 Se v(pi) = v0(pi ) para todo pi ocorrendo em ', ent~ao [ ']]v = [ ']]v0 .
Demonstrac~ao. Uma induca~o facil sobre '.
20
CAPTULO 1. LOGICA PROPOSICIONAL
Um importante subconjunto de PROP e o de todas as proposico~es ' que
s~ao sempre verdadeiras , i.e. verdadeiras sob todas as valoraco~es.
Denica~o 1.2.4 (i) ' e uma tautologia se [ ']]v = 1 para todas as valoraco~es v,
(ii) j= ' designa `' e uma tautologia',
(iii) Seja um conjunto de proposico~es, ent~ao j= ' sse para todo v: ([[ ] v = 1
para todo 2 ) ) [ ']]v = 1.
Em palavras, j= ' se verica sse ' e verdadeira sob toda valoraca~o que torna
toda formula em verdadeira. Dizemos que ' e uma consequ^encia sem^antica
de . Escrevemos 6j= ' se j= ' n~ao e o caso.
Convenc~ao. '1 ; : : :; 'n j= designa f'1 ; : : :; 'ng j= .
Note que \[[']]v = 1 para toda v" e uma outra maneira de dizer \[[']] = 1
para todas as valoraco~es".
Exemplos. (i) j= ' ! '; j= ::' ! '; j= ' _ $ _ ',
(ii) '; j= ' ^ ; '; ' ! j= ; ' ! ; : j= :'.
Frequentemente se precisa de substituir subformulas por proposico~es; acon-
tece que basta denir substituica~o apenas para atomos.
Escrevemos '[ =pi ] para designar a proposica~o obtida substituindo-se todas
as ocorr^encias de pi em ' por . Na realidade, a substituica~o de pi por dene
um mapeamento de PROP em PROP, que pode ser dado por recurs~ao (sobre
').
Denica~o 1.2.5
'[ =pi ] = ' se ' at^omica e ' 6= pi
se ' = pi
('1 '2 )[ =pi ] = '1 [ =pi ]'2[ =pi ]
(:')[ =pi ] = :'[ =pi ]:
O teorema seguinte exp~oe as propriedades basicas da substituica~o de proposico~es
equivalentes.
Teorema 1.2.6 (Teorema da Substituic~ao) Se j= '1 $ '2 , ent~ao
j= ['1 =p] $ ['2 =p], onde p e um atomo.
O teorema da substituica~o e na verdade uma consequ^encia de um lema um
pouco mais forte
Lema 1.2.7 [ '1 $ '2 ] v [ ['1=p] $ ['2=p]]]v e
j= ('1 $ '2) ! ( ['1 =p] $ ['2 =p])
Demonstrac~ao. Induca~o sobre '. Apenas temos que considerar [ '1 $ '2 ] v = 1
(por que?).
{ at^omica. Se = p, ent~ao ['i=[] = 'i e o resultado segue imediatamente.
Se 6= p, ent~ao ['i =p] = , e [ ['1=p] $ ['2=p]]]v = [ $ ] v = 1.
{ = 1 2 . Hipotese da induca~o: [ i['1 =p]]]v = [ i['2=p]]]v. Agora o valor
de [ ( 1 2 )['i =p]]]v = [ 1['i =p] 2['i=p]]v e unicamente determinado
por suas partes [ j ['i=p]]]v, logo [ ( 1 2 )['1 =p]]]v = [ ( 1 2 )['2=p]]]v.
^
1.2. SEMANTICA 21
{ = : 1. Deixo para o leitor.
A prova da segunda parte essencialmente usa o fato de que j= ' ! sse
[ ']]v [ ] v para toda v (cf. Exerccio 6).
A prova do teorema da substituica~o agora segue imediatamente.
O teorema da substituica~o diz em bom portugu^es que partes podem ser
substitudas por partes equivalentes .
Existem varias tecnicas para se testar tautologias. Uma delas (bastante
lenta) usa tabelas-verdade. Damos um exemplo:
(' ! ) $ (: :')
' :' : ' ! : ! :' (' ! ) $ (: ! :')
0 0 1 1 1 1 1
0 1 1 0 1 1 1
1 0 0 1 0 0 1
1 1 0 0 1 1 1
A ultima coluna consiste de 1's apenas. Como, pelo lema 1.2.3 apenas os
valores de ' e s~ao relevantes, tivemos que testar 22 casos. Se existirem n
partes (at^omicas) precisamos de 2n linhas.
Podemos comprimir um pouco a tabela acima, escrevendo-a da seguinte
forma:
(' ! ) $ (: ! :')
0 1 0 1 1 1 1
0 1 1 1 0 1 1
1 0 0 1 1 0 0
1 1 1 1 0 1 0
Vamos fazer uma outra observaca~o sobre o papel dos conectivos 0-arios ? e
>. Claramente j= > $ (? ! ?), logo podemos denir > a partir de ?. Por
outro lado, n~ao podemos denir ? a partir de > e !; note que a partir de >
nunca podemos obter algo exceto uma proposica~o equivalente a > se usamos ^,
_, !, mas a partir de ? podemos gerar ? e > atraves da aplicaca~o de ^, _, !.
Exerccios
1. Verique pelo metodo da tabela-verdade quais das seguintes proposico~es
s~ao tautologias:
(a) (:' _ ) $ ( ! ')
(b) ' ! (( ! ) ! ((' ! ) ! (' ! )))
(c) (' ! :') $ :'
(d) :(' ! :')
(e) (' ! ( ! )) $ ((' ^ ) ! )
(f) ' _ :' (princpio do terceiro excludo )
(g) ? $ (' ^ :')
(h) ? ! ' (ex falso sequitur quodlibet )
22
CAPTULO 1. LOGICA PROPOSICIONAL
2. Demonstre que: (a) ' j= ';
(b) ' j= e j= ) ' j= ;
(c) j= ' ! , ' j= .
3. Determine '[:p0 ! p3=p0] para ' = p1 ^ p0 ! (p0 ! p3);
' = (p3 $ p0 ) _ (p2 ! :p0 ).
4. Demonstre que existem 2@0 valoraco~es.
5. Demonstre que [ ' ^ ] v = [ ']]v [ ] v,
[ ' _ ] v = [ ']]v + [ ] v [ ']]v [ ] v ,
[ ' ! ] v = 1 [ ']]v + [ ']]v [ ] v,
[ ' $ ] v = 1 j[ ']]v [ ] v j.
6. Demonstre que [ ' ! ] v = 1 , [ ']]v [ ] v .
[' ^ ]1
^E
[' ^ ]1 ' [' ! ( ! )]2
^E !E
!
III !E
!I
'^ ! 1
!I
(' ! ( ! )) ! (' ^ ! ) 2
Se usarmos a abreviaca~o usual `:'' para `' ! ?', podemos trazer algumas
derivaco~es para uma forma mais conveniente. (Lembremo-nos que :' e ' ! ?,
como foram dados em 1.2, s~ao semanticamente equivalentes). Reescrevemos a
derivaca~o II usando a abreviaca~o:
[']2 [:']1
!E
II0 ?
!I
::' 1
!I
' ! ::' 2
e
@
@ e
@ e
I @ III e
@
@
@
@
S
S
S
S
@ @
@
@ II Z
Z
@
@ IV
@
@
@@
Pode-se tambem apresentar derivaco~es como cadeias (lineares) de proposico~es:
permaneceremos, entretanto com a forma de arvore, e a ideia e que aquilo que
vem naturalmente na forma de arvore n~ao deveria ser colocado numa cadeia.
Agora temos que denir a noca~o de derivac~ao em geral. Usaremos uma
denica~o indutiva para produzir arvores.
34
CAPTULO 1. LOGICA PROPOSICIONAL
D D D0
Notac~ao. se D D0 ' ' '0 s~ao
' , '0 s~ao derivaco~es com conclus~oes '; '0 , ent~ao ,
derivaco~es obtidas aplicando-se uma regra de derivaca~o a ' (e a ' e '0 ). O
cancelamento de uma hipotese e indicado da seguinte maneira: se D' e uma
[']
D
derivaca~o com hipotese , ent~ao ' e uma derivaca~o com cancelada.
Com respeito ao cancelamento de hipoteses, observamos que n~ao se cancela
necessariamente todas as ocorr^encias de uma tal proposica~o . Isso e claramente
justicado, pois nota-se que ao adicionar hipoteses n~ao se faz com que uma
proposica~o seja inderivavel (informaca~o irrelevante pode sempre ser adicionada).
E uma quest~ao de prud^encia, entretanto, cancelar tanto quanto possvel. Por
que prosseguir com mais hipoteses do que o necessario?
Alem do mais, pode-se aplicar (! I) se n~ao ha hipotese disponvel para o
'
cancelamento e.g. ! ' ! I e uma derivaca~o correta, usando apenas (! I).
Para resumir: dada uma arvore de derivaca~o de , obtemos uma arvore de
derivaca~o de ' ! (ou ) no fundo da arvore e cancelando algumas (ou todas)
as ocorr^encias, e cancelando algumas (ou todas) as ocorr^encias, se existe alguma,
de ' (ou :') localizada no alto da arvore.
Algumas palavras sobre o uso pratico da deduca~o natural: se voc^e deseja
construir uma derivaca~o para uma proposica~o e aconselhavel conceber algum
tipo de estrategia, tal qual num jogo. Suponha que voc^e quer mostrar que
(' ! ( ! )) ! (' ^ ! ) (Exemplo III), ent~ao (como a proposica~o e uma
formula implicacional) a regra (! I) sugere a si propria. Portanto tente derivar
' ^ a partir da hipotese ' ! ( ! ). Agora sabemos onde comecar e para
onde ir. Para usar ' ! ( ! ) desejamos ter ' (para aplicar (! E)). Por
outro lado desejamos derivar a partir de ' ^ , logo podemos usar ' ^ como
uma hipotese. Mas disso podemos imediatamente obter '. Agora uma aplicaca~o
de (! E) resulta em ! . Novamente precisamos de algo para \quebrar
! em suas partes menores"; isso e claramente . Mas e fornecido pela
hipotese ' ^ . Como resultado, obtivemos { tal qual desejavamos. Agora
algumas regras de introduca~o produzi~ao o resultado desejado. A derivaca~o III
mostra em detalhe como construir a derivaca~o resultante. Depois de se construir
um certo numero de derivaco~es adquire-se a convicca~o pratica de que se deve
primeiramente quebrar as proposico~es em suas partes menores na direca~o de-
baixo-para-cima, e ent~ao constroi-se as proposico~es desejadas juntando-se as
partes resultantes de maneira apropriada. Essa convicca~o pratica e conrmada
pelo Teorema da Normalizac~ao , para o qual retornaremos mais adiante. Ha um
ponto que tende particularmente a confundir principiantes:
['] [:']
e
? ?
!I RAA
:' '
se parecem muito. S~ao ambas casos particulares de Reductio ad absurdum? Na
verdade a derivaca~o a esquerda nos diz (informalmente) que a suposica~o de '
leva a uma contradica~o, logo ' n~ao pode ser o caso . Isso e em nossa terminologia
~ NATURAL
1.4. DEDUCAO 35
o signicado de \n~ao '". A derivaca~o a direita nos diz que a suposica~o de :'
leva a uma contradica~o, portanto (pelo mesmo raciocnio) :' n~ao pode ser o
caso. Logo, pelo signicado da negaca~o, obteramos apenas ::'. N~ao esta
de forma alguma claro que ::' e equivalente a ' (de fato, isso e rejeitado
pelos intuicionistas), logo essa e uma propriedade extra de nossa logica. (Isso
e conrmado num sentido tecnico: ::' ! ' n~ao e derivavel no sistema sem
RAA.)
Retornamos agora as noco~es teoricas.
Denica~o 1.4.1 O conjunto de derivaco~es e o menor conjunto X tal que
(1) A arvore de um unico elemento ' pertence a X para toda ' 2 PROP.
D D 0 D D0
(2^) Se ' ; '0 2 X ent~ao ' '0 2 X.
' ^ '0
D D
Se ' D^ 2 X, ent~ao ' ^ ; ' ^ 2 X.
'
[']
' D 2 X.
(2!) Se D 2 X, ent~ao
'!
D D 0 D D0
Se ' ; ' ! 2 X ent~ao ' ' ! 2 X.
D
D
(2?) Se ? 2 X, ent~ao ? 2 X.
'
[:']
:'
D
Se D 2 X, ent~ao 2 X.
?
?
'
A formula no nal de uma derivaca~o e chamada de conclus~ao da derivaca~o.
Como a classe das derivaco~es e indutivamente denida, podemos reproduzir os
resultados da seca~o 1.1.
E.g. temos um princpio da induc~ao sobre D: seja A uma propriedade. Se
A(D) se verica para derivaco~es com apenas um elemento e A e preservada sob
as clausulas (2^), (2 !) e (2?), ent~ao A(D) se verica para todas as derivaco~es.
Igualmente podemos denir funco~es sobre o conjunto de derivaco~es por recurs~ao
(cf. Exerccio 6, 7, 9).
Denica~o 1.4.2 A relaca~o ` ' entre conjuntos de proposico~es e proposico~es
e denida por: existe uma derivaca~o com conclus~ao ' e com todas as hipoteses
(n~ao canceladas) em . (Veja tambem o Exerccio 6).
36
CAPTULO 1. LOGICA PROPOSICIONAL
Dizemos que ' e derivavel a partir de . Note que pela denica~o pode
conter varias \hipoteses" super
uas. O smbolo ` e chamado de roleta .
Se =, escrevemos ` ', e dizemos que ' e um teorema.
Poderamos ter evitado a noca~o de `derivaca~o' e ao inves dela ter tomado a
noca~o de `derivabilidade' como fundamental, veja Exerccio 10. As duas noco~es,
entretanto, s~ao intimamente relacionadas.
Lema 1.4.3
(a) ` ' se ' 2 ,
(b) ` ', 0 ` ) [ 0 ` ' ^ ,
(c) `'^ ) `' e ` ,
(d) [ ' ` ) ` ' ! ,
(e) ` ', 0 ` ' ! ) [ 0 ` ,
(f) ` ? ) ` ',
(g) [ f:'g ` ? ) ` '.
Demonstrac~ao. Imediata a partir da denica~o de derivaca~o.
Agora vamos listar alguns teoremas. : e $ s~ao usados como abreviaco~es.
Teorema 1.4.4
(1) ` ' ! ( ! '),
(2) ` ' ! (:' ! ),
(3) ` (' ! ) ! (( ! ) ! (' ! )),
(4) ` (' ! ) $ (: ! :'),
(5) ` ::' $ ',
(6) ` (' ! ( ! )) $ (' ^ ! ),
(7) ` ? $ (' ^ :').
Demonstrac~ao.
[']2 [:']1
!E
[']1 ?
!I ?
1: !' 2:
! I1 ! I1
' ! ( ! ') :' !
!I
' ! (:' ! ) 2
[']1 [' ! ]3
!E
[ ! ]2
!E
3: !I
'! 1
!I
( ! ) ! (' ! ) 2
!I
(' ! ) ! (( ! ) ! (' ! )) 3
4. Para uma direca~o, substitua por ? em 3, ent~ao ` (' ! ) ! (: ! :').
~ NATURAL
1.4. DEDUCAO 37
Na direca~o contraria:
[: ]1 [: ! :']3
!E
:' [']2
!E
?
RAA1
! I2
'!
!I
(: ! :') ! (' ! ) 3
D D0
Portanto agora temos (' ! ) ! (: ! :') (: ! :') ! (' ! )
(' ! ) $ (: ! :')
[:']1 [::']2
!E
?
RAA1
'
!I
::' ! ' 2
O resultado agora segue imediatamente. Os numeros 6 e 7 s~ao deixados para o
leitor.
1.5 Completude
Nesta seca~o demonstraremos que \veracidade" e \derivabilidade" coincidem,
mais precisamente: as relaco~es \j=" e \`" coincidem. A parte facil da reivin-
dicaca~o e: \derivabilidade" implica em \veracidade"; pois derivabilidade e es-
tabelecida pela exist^encia de uma derivaca~o. Essa ultima noca~o e denida in-
dutivamente, portanto podemos demonstrar a implicaca~o por induca~o sobre a
derivaca~o.
Lema 1.5.1 (Corretude) ` ' ) j= '.
Demonstrac~ao. Como, pela denica~o 1.4.2, ` ' sse existe uma derivaca~o D
com todas as hipoteses em , e suciente mostrar que: para cada derivaca~o D
com conclus~ao ' e hipoteses em temos j= '. Agora usamos induca~o sobre
D.
(caso base ) Se D tem um elemento, ent~ao evidentemente ' 2 . O leitor facil-
mente v^e que j= '.
40
CAPTULO 1. LOGICA PROPOSICIONAL
D D 0
(^I) Hipotese da induca~o: e 0 s~ao derivaco~es e para cada , 0 contendo as
' '
hipoteses de D, D0, j= ', 0 j= '0 .
D D0
Agora suponha que 00 contem as hipoteses de ' '0
' ^ '0
Escolhendo e 0 de tal forma que sejam exatamente o conjunto de
hipoteses de D, D0, vemos que 00 [ 0 .
Logo 00 j= ' e 00 j= '0 . Seja [ ] v = 1 para toda 2 00, ent~ao
[ ']]v = [ '0] v = 1, portanto [ ' ^ '0 ] v = 1. Isso mostra que 00 j= ' ^ '0 .
D
(^E) Hipotese da induca~o: para qualquer contendo as hipoteses de
'^
D
temos j= ' ^ . Considere um contendo todas as hipoteses de ' ^
'
D
e ' ^ . Deixo ao leitor a demonstraca~o de que j= ' e j= .
' '!
0 [ f'g contem todas as hipoteses de D, logo se [ ']] = 1 e [ ]] = 1 para
; [']1 ; [ ]2
D1 D2
[:]3 [:]3
!E !E
? ?
!I ! I2
:' 1 :
^I
:' ^ : :(:' _ : )
!E
?
RAA3
Os casos restantes deixo ao leitor.
1.6. OS CONECTIVOS QUE FALTAM 49
Note que (i) e (ii) podem ser lidos como regras de introduca~o e eliminaca~o
para _, (iii) e (iv) a mesma coisa para :, (vi) e (v) tambem para $.
Tais propriedades legalizam as seguintes abreviaco~es em derivaco~es:
['] [ ]
'
_I _I '_
'_ '_ _E
[']
' :'
:E
? ?
:I
:'
['] [ ]
' '$ ' '$
$E
$I
'$
Considere por exemplo a seguinte aplicaca~o de _E
['] [ ]
D0 D1 D2
'_
_E
Trata-se de mera abreviaca~o para
[']1 [ ]2
D1 D2
[:]3 [:]3
? ?
1 2
D0 :' :
:(:' ^ : ) :' ^ :
?
3
O leitor esta convocado a usar as abreviaco~es acima em derivaco~es reais,
sempre que for conveniente. Via de regra, apenas _I e _E s~ao de alguma
import^ancia, e leitor tera obviamente reconhecido as regras para : e $ como
aplicaco~es ligeiramente exc^entricas de regras familiares.
[' ^ ]1 [' ^ ]2
' []1 []2
(' ^ ) _ ' _ '_ (' ^ ) _ _ _
1 2
'_ _
(' _ ) ^ ( _ )
(1)
Na direca~o contraria
[']2 [ ]1
('_)^( _) '^ []1
('_)^( _) _ ('^ )_ ('^ )_ []2
1
'_ ('^ )_ ('^ )_
2
('^ )_
(2)
Combinando (1) e (2) obtemos a seguinte derivaca~o:
[(' ^ ) _ ] [(' ^ ) _ ]
D D0
(' _ ) ^ ( _ ) (' ^ ) _
$I
(' ^ ) _ $ (' _ ) ^ ( _ )
` ' _ :'
[']1
_I
' _ :' [:(' _ :')]2
!E
?
!I
:' 1
_I
' _ :' [:(' _ :')]2
!E
?
RAA2
' _ :'
1.6. OS CONECTIVOS QUE FALTAM 51
` (' ! ) _ ( ! ')
[']1
!I
!' 1
_I
(' ! ) _ ( ! ') [:((' ! ) _ ( ! '))]2
!E
?
?
! I1
'!
_I
(' ! ) _ ( ! ') [:((' ! ) _ ( ! '))]2
!E
?
RAA2
(' ! ) _ ( ! ')
` :(' ^ ) ! :' _ :
[:'] [: ]
[:(:' _ : )] :' _ : [:(:' _ : )] :' _ :
? ?
'
[:(' ^ )] '^
?
:' _ :
:(' ^ ) ! (:' _ : )
Agora vamos dar uma ideia de como seria a segunda abordagem. Adi-
cionamos _, : e $ a linguagem, e consequentemente extendemos o conjunto
de proposico~es. Em seguida adicionamos as regras para _, : e $ relacionadas
acima ao nosso estoque de regras de derivaca~o. Para ser mais precisos, nesse
ponto deveramos tambem introduzir um novo smbolo de derivabilidade, porem
continuaremos a usar o ja estabelecido ` na esperanca de que o leitor se lem-
brara que agora estamos fazendo derivaco~es em um sistema maior. As seguintes
condico~es se vericam:
Teorema 1.6.3
` ' _ $ :(:' ^ : ).
` :' $ (' ! ?).
` (' $ ) $ (' ! ) ^ ( ! ').
Demonstrac~ao. Observe que, pelo Lema 1.6.2, os conectivos denidos e os prim-
itivos (estes os `reais' conectivos) obedecem a exatamente as mesmas relaco~es de
derivabilidade (regras de derivaca~o, se voc^e prefere). Isso nos leva imediamente
ao resultado desejado. Vamos dar um exemplo.
' ` :(:' ^ : ) e ` :(:' ^ : ) (1.6.2(i)), logo por _E obtermos
52
CAPTULO 1. LOGICA PROPOSICIONAL
' _ ` :(:' _ : ) : : : (1)
Na direca~o contraria, ' ` ' _ (por _I), logo por 1.6.2(ii)
:(:' _ : ) ` ' _ : : : (2)
Aplique $ I a (1) e (2), ent~ao ` ' _ $ :(:' ^: ). O resto deixo ao leitor.
Logica de Predicados
2.1 Quanticadores
55
56
CAPTULO 2. LOGICA DE PREDICADOS
9xP (x) existe um x com propriedade P,
8yP(y) para todo y P se verica (todo y tem a
propriedade P),
8x9y(x = 2y) para todo x existe um y tal que x e
o dobro de y,
8"(" > 0 ! 9n( n1 < ")) para todo " positivo existe um n tal que
1
n < ",
x < y ! 9z(x < z ^ z < y) se x < y, ent~ao existe um z tal que
x < z e z < y,
8x9y(x:y = 1) para cada x existe um inverso y.
Sabemos da teoria elementar dos conjuntos que funco~es s~ao tipos especiais
de relaco~es. Entretanto, seria um
agrante con
ito com a pratica matematica
evitar funco~es (ou mapeamentos). Alem do mais, seria extremamente inc^omodo.
Portanto vamos incorporar funco~es em nossa linguagem.
Grosso modo a linguagem lida com duas categorias de entidades sintaticas:
uma para objetos - os termos , uma para enunciados - as formulas . Exemplos
de termos s~ao: 17, x, (2 + 5) 7, x3y+1.
De que e que fala a logica de predicados com uma certa linguagem? Ou, em
outras palavras, os termos e as formulas falam de qu^e? A resposta e: formulas
podem expressar propriedades relativas a um dado conjunto de relaco~es e funco~es
sobre um determinado domnio de discurso. Ja encontramos tais situaco~es em
matematica; falamos sobre estruturas , e.g. grupos, aneis, modulos, conjuntos
ordenados (consulte um texto de algebra). Faremos de estruturas nosso ponto
de partida e voltaremos a logica mais adiante.
Em nossa logica falaremos sobre \todos os numeros" ou \todos os elemen-
tos", mas n~ao sobre \todos os ideais" ou \todos os subconjuntos", etc. Em
geral nossas variaveis ter~ao seus valores variando sobre elementos de um dado
universo (e.g. as matrizes n n sobre os reais), mas n~ao sobre propriedades ou
relaco~es, ou propriedades de propriedades, etc. Por essa raz~ao a logica de pred-
icados desse livro e chamada de logica de primeira ordem , ou tambem logica
elementar . Na pratica da matematica, e.g. em analise, usa-se logica de alta or-
dem. Num certo sentido e surpreendente que a logica de primeira ordem possa
fazer tanto pela matematica, como veremos adiante. Uma breve introduca~o a
logica de segunda ordem sera apresentada no captulo 4.
2.2 Estruturas
Um grupo e um conjunto (n~ao-vazio) equipado com duas operaco~es, uma binaria
e uma unaria, e com um elemento neutro (satisfazendo certas leis). Um con-
junto parcialmente ordenado e um conjunto, equipado com uma relaca~o binaria
(satisfazendo certas leis).
Generalizamos isso da seguinte forma:
Denica~o 2.2.1 Uma estrutura e uma sequ^encia ordenada
hA; R1; : : :; Rn; F1; : : :; Fm; fci j i 2 I gi, onde A e um conjunto n~ao-vazio.
R1; : : :; Rn s~ao relac~oes sobre A, F1; : : :; Fm s~ao func~oes sobre A, os ci 's (i 2 I)
s~ao os elementos de A (constantes ).
2.2. ESTRUTURAS 57
Advert^encia. As funco~es Fi s~ao totais , i.e. denidas para todo os valores de
entrada; isso as vezes pede a utilizaca~o de alguns truques, tal como com 0 1 (cf.
a denica~o de aneis mais adiante).
Exemplos. hR; +; ; 1 ; 0; 1i { o corpo dos numeros reais,
hN; <i { o conjunto ordenado dos numeros naturais.
Designamos estruturas por meio de letras goticas maiusculas: A, B, C, D,
: : :.
Se por um momento esquecermos as propriedades especiais das relaco~es e
operaco~es (e.g. comutatividade da adica~o sobre os reais), ent~ao o que resta
e o tipo de uma estrutura, que e dado pelo numero de relaco~es, funco~es (ou
operaco~es), e seus respectivos argumentos, mais o numero (cardinalidade) de
constantes.
Denica~o 2.2.2 O tipo de similaridade de uma estrutura A = hA; R1; : : :; Rn;
F1 ; : : :; Fm ; fci j i 2 I gi e uma sequ^encia, hr1 ; : : :; rn; a1; : : :; am ; i, onde Ri
Ari , Fj : Aaj ! A, = jfci j i 2 I gj (cardinalidade de I).
As duas estruturas no nosso exemplo t^em tipo de similaridade h ; 2; 2; 1; 2i
e h2; ; 0i. A aus^encia de relaco~es, funco~es e indicada por . N~ao ha objeca~o a
estender a noca~o de estrutura para conter um numero arbitrariamente grande de
relaco~es ou funco~es, mas as estruturas mais comuns t^em tipos nitos (incluindo
um numero nito de constantes).
Obviamente, teria sido melhor usar notaco~es similares para nossas estru-
turas, i.e. hA; R1; : : :; Rn; f1; : : :; Fm ; fci j i 2 I gi, mas seria demasiadamente
pedante.
Se R A, ent~ao dizemos que R e uma propriedade (ou relac~ao unaria ); se
R A2 dizemos que R e uma relac~ao binaria ; se R An, dizemos que R e uma
relac~ao n-aria .
O conjunto A e chamado de universo de A.
Notac~ao. A = jAj.
A e dita (in)nita se seu universo e (in)nito. Frequentemente cometeremos
um pequeno abuso de linguagem escrevendo as constantes ao inves do conjunto
de constantes, como no exemplo do corpo dos numeros reais no qual deveramos
ter escrito: hR; +; ; 1 ; f0; 1gi, porem hR; +; ; 1 ; 0; 1i e mais tradicional. Entre
as relaco~es que encontramos em estruturas, existe uma muito especial: a relac~ao
de identidade (ou de igualdade ).
Visto que, via de regra, estruturas matematicas s~ao equipadas com a relaca~o
de identidade, n~ao listamos essa relaca~o separadamente. Portanto, ela n~ao
aparece no tipo de similaridade. Daqui por diante assumimos que todas as es-
truturas possuem uma relaca~o de identidade, e mencionaremos explicitamente
quaisquer exceco~es. Para investigaco~es puramente logicas, e obvio que faz sen-
tido considerar uma logica sem a identidade, mas este livro serve a leitores das
comunidades de matematica e de ci^encia da computaca~o.
Considera-se tambem os \casos limite" de relaco~es e funco~es, i.e. relaco~es
e funco~es 0-arias. Uma relaca~o 0-aria e um subconjunto de A; . Como A; =
f;g existem duas dessas relaco~es: ; e f;g (consideradas como ordinais: 0 e
1). Relaco~es 0-arias podem portanto ser vistas como valores-verdade, o que
58
CAPTULO 2. LOGICA DE PREDICADOS
faz com que elas desempenhem o papel das interpretaco~es de proposico~es. Na
pratica as relaco~es 0-arias n~ao aparecem, e.g. elas n~ao t^em qualquer funca~o em
algebra. A maior parte do tempo o leitor pode prazerosamente esquec^e-las,
embora que ainda assim vamos permitir tais relaco~es em nossa denica~o porque
elas simplicam certas consideraco~es. Uma funca~o 0-aria e um mapeamento de
f;g para A. Como o mapeamento tem um conjunto unitario como domnio,
podemos considera-lo como igual a sua imagem.
Dessa forma, funco~es 0-arias podem fazer o papel das constantes. A van-
tagem desse procedimento e, no entanto, desprezvel no presente contexto, por-
tanto manteremos nossas constantes.
Exerccios
1. Escreva o tipo de similaridade das seguintes estruturas:
(i) hQ; <; 0i
(ii) hN; +; ; S; 0; 1; 2;3;4; :::; n; : : :i, onde S(x) = x + 1,
(iii) hP (N); ; [; \;c ; ;i,
(iv) hZ=5;+; ; ; 1 ; 0; 1; 2; 3;4i,
(v) hf0; 1g; ^; _; !; :; 0; 1i, onde ^, _, !, : operam de acordo com
as tabelas-verdade usuais,
(vi) hR; 1i,
(vii) hRi,
(viii) hR; N;<; T;2 ; j j; i, onde T(a; b; c) e a relaca~o `b esta entre
a e c', 2 e a funca~o `eleva ao quadrado', e a funca~o de
subtraca~o e j j a funca~o valor absoluto.
2. D^e estruturas com tipo de similaridade h1; 1; ; 3i, h4; ; 0i.
Exemplo.
(x0 =: : x1 )[x1; x0=x0 ; x1] = (x1 =:: x0 );
mas ((x0 = x1 )[x1=x0])[x0=x1 ] = (x1 = x1 )[x0=x1] = (x0 =: x0 ):
Exemplos.
2. [ 2 =: 1]] = 0, pois 2 6= 1,
Exemplos.
1. 8x'(x) ! eq:8x'(x) _ eq9x(:'(x)) _ eq9(:'(x) _ )eq9x('(x) !
), onde x 2= V L( ).
2. 8x'(x) ! 9x'(x)eq:8x'(x) _ 9x'(x)eq9x(:'(x) _ '(x)). A formula no
escopo do quanticador e verdadeira (ja da logica proposicional), logo a
formula original e verdadeira.
Denica~o 2.5.10 Uma formula ' esta na forma (normal) prenex se ' consiste
de uma cadeia (possivelmente vazia) de quanticadores seguida de uma formula
aberta (i.e. livre-de-quanticador). Dizemos que ' e uma formula prenex.
2.6 Identidade
Temos nos limitado nesse livro a consideraca~o de estruturas com identidade, e
portanto de linguagens com identidade. Por conseguinte classicamos `=' como
um smbolo logico, ao inves de um smbolo matematico. Podemos, entretanto,
tratar = n~ao apenas como um certo predicado binario, pois identidade satisfaz
um numero de axiomas caractersticos, listados abaixo.
I1 8x(x = x);
I2 8xy(x = y ! y = x);
I3 8xyz(x = y ^ y = z^! x = z);
I4 8x1 : : :xny1 : : :yn ( xi = yi ! t(x1; : : :; xn) = t(y1 ; : : :; yn));
n
i^
8x1 : : :xny1 : : :yn ( xi = yi ! '(x1; : : :; xn) = '(y1 ; : : :; yn )):
in
Pode-se simplesmente checar que I1 ; I2; I3 s~ao verdadeiros, em toda estru-
tura A. No caso de I4 , observe que podemos supor que as formulas s~ao fechadas.
2.6. IDENTIDADE 79
Do contrario adicionamos quanticadores para cada variavel restante e acres-
centamos identidades posticas, e.g.
^ ^
8z1 : : :zk x1 : : :xny1 : : :yn ( xi = yi ^ zk = zk ! t(x1; : : :; xn) = t(y1 ; : : :; yn )):
in ik
Agora (t(a1 ; : : :; an ))A dene uma funca~o tA sobre jAjn, obtida a partir das
funco~es dadas para A atraves de varias substituico~es, portanto ai = bi(i
n) ) (t(a1; : : :; an ))A = (t(b1; : : :; bn ))A . Isso demonstra a primeira parte de
I4 .
A segunda parte e demonstrada por induca~o sobre ' (usando a primeira
parte): e.g. considere o caso do quanticador universal e suponha que ai = bi
para todo i n.
A j= 8u'(u; a1; : : :; an ) , A j= '(c; a1 ; : : :; an ) para todo c h:i:
,
A j= '(c; b1; : : :; bn) para todo c , A j= 8u'(u; b1 ; : : :; bn ):
^
Logo A j= ( ai = bi ) ) A j= 8u'(u; a1; : : :; an) ! 8u'(u; b1 ; : : :; bn ). Isso
in ^
se verica para todo a1; : : :; an; b1; : : :; bn, logo A j= 8x1 : : :xny1 : : :yn ( xi =
in
yi ! (8u'(u; x1; : : :; xn) ! 8u'(u; y1; : : :; yn )).
Note que ' (respectivamente t), em I4 pode ser qualquer formula (respecti-
vamente termo), portanto I4 permanece verdadeiro para um numero innito de
axiomas. Denominamos tal \axioma instante" de esquema de axioma .
Os primeiros tr^es axiomas enunciam que a identidade e uma relaca~o de
equival^encia. I4 enuncia que a identidade e uma congru^encia com respeito a
todas as relaco~es (denveis).
E importante se dar conta de que somente a partir dos axiomas n~ao podemos
determinar a natureza precisa da relaca~o de interpretaca~o. Adotamos explici-
tamente a convenca~o de que \=" sera sempre interpretada pela igualdade de
fato.
Exerccios
1. Mostre que j= 8x9y(x = y).
2. Mostre que j= 8x('(x) $ 9y(x = y ^ '(y))) e que
j= 8x('(x) $ 8y(x = y ! '(y))), onde y n~ao ocorre em '(x).
3. Mostre que j= '(t) $ 8x(x = t ! '(x)) se x 2= V L(t).
4. Mostre que as condico~es dos exerccios s~ao necessarias.
5. Considere 1 = 8x(x x), 2 = 8xy(x y ! y x), 3 = 8xyz(x
y ^y z ! x z). Mostre que se A j= 1 ^2 ^3, onde A = hA; Ri, ent~ao
R e uma relaca~o de equival^encia. Obs.: x y e uma notaca~o sugestiva
para o atomo R(x; y).
6. Seja 4 = 8xyz(x y ^ x z ! y z). Mostre que 1; 4 j= 2 ^ 3 .
7. Considere o esquema 5 : x y ! ('[x=z] ! '[y=z]). Mostre que
1; 5 j= 2 ^ 3 . Obs.: se e um esquema, ent~ao [ fg j= ' designa
[ j= ', onde consiste de todas as inst^ancias de .
80
CAPTULO 2. LOGICA DE PREDICADOS
8. Obtenha a vers~ao-para-termos de I4 a partir de sua vers~ao-para-formulas.
2.7 Exemplos
Consideraremos linguagens para alguns tipos familiares de estruturas. Como to-
das as linguagens s~ao construdas da mesma maneira, n~ao listaremos os smbolos
logicos. Sup~oe-se que todas as estruturas satisfazem os axiomas da identidade
I1 {I4. Para um renamento veja 2.10.2.
1. A linguagem da identidade . Tipo: h ; ; 0i.
Alfabeto .
Smbolo de predicado: =
As estruturas desse tipo s~ao da forma A = hAi, e satisfazem I1 ; I2; I3 . (Nessa
linguagem I4 segue de I1 ; I2; I3 , cf. 2.10 Exerccio 5).
Em uma estrutura somente com a identidade existe t~ao pouca \estrutura"
que tudo o que se pode fazer e olhar para o numero de elementos (cardinalidade).
Existem sentencas n e n dizendo que existem pelo menos (ou, no maximo) n
elementos (Exerccio 3, seca~o 3.1)
^
n := 9y1 : : :yn yi 6= yj ; (n > 1);
6=j
i_
n := 8y1 : : :yn yi 6= yj ; (n > 0):
i6=j
Portanto A j= n ^ n sse jAj tem exatamente n elementos. Como universos
n~ao s~ao vazios j= 9x(x = x) sempre se verica.
Podemos tambem formular \existe um unico x tal que ...".
Denica~o 2.7.1 9!x'(x) := 9x('(x) ^ 8y('(y) ! x = y)), onde y n~ao ocorre
em '(x).
Note que 9!x'(x) e uma abreviaca~o (informal).
A
K
Qk
B Q
A
B QQ
A
B Q AA
K
B
+
Q
B
-
Q A
-A
Q B A 6 6
B Q B A
B Q
Q B A
B
Q B A
BBN Q
QQ
+ sBBN
- A -
A
K
Qk
B Q
A
B QQ
A
B Q AA
K
+
Q B Q
-
A
-A
B Q B A 6 6
B Q B A
B Q
Q B A
B
Q B A
BBN QQ-
+ s
QBBN A -
:8y(y = y)
8x:8y(x = y) ! :8y(y = y)
A eliminaca~o do 8 no primeiro passo foi ilegal.
Note que y n~ao e livre para x em :8y(x = y). A sentenca derivada e
claramente falsa em estruturas com pelo menos dois elementos.
~ NATURAL
2.8. DEDUCAO 89
Agora vamos dar alguns exemplos de derivaco~es. Assumimos que o leitor
nesse ponto tenha experi^encia suciente em cancelar hipoteses, de tal forma que
n~ao mais indicaremos os cancelamentos usando numeros.
[8x8y'(x; y)] [8x('(x) ^ (x))] [8x('(x) ^ (x))]
8E
8y'(x; y) '(x) ^ (x) '(x) ^ (x)
8E
'(x; y) '(x) (x)
8I
8x'(x; y) 8x'(x) 8x (x)
8I
8y8x'(x; y) 8x'(x) ^ 8x (x)
!I
8x8y'(x; y) ! 8y8x'(x; y) 8x(' ^ ) ! 8x' ^ 8x
Seja x 2= V L(')
[8x(' ! (x))]
8E
' ! (x) [']
!E ['] [8x']
(x) 8I 8E
8I 8x' '
8x (x)
!I ' $ 8x'
' ! 8x (x)
!I
8x(' ! (x)) ! (' ! 8x (x))
Na derivaca~o mais a direita 8I foi permitido, pois x 2= V L('), e 8E e
aplicavel.
Note que 8I na derivaca~o mais a esquerda e permitido porque x 2= V L('),
pois naquele ponto ' e ainda (parte de) uma hipotese.
O leitor tera absorvido a tecnica por tras das regras dos quanticadores:
reduza um 8x' e reintroduza 8 mais adiante, se necessario. Intuitivamente,
procede-se da seguinte maneira: para mostrar que \para todo x : : :x : : :" basta
mostrar que \: : :x : : :" para um x arbitrario. Esse ultimo enunciado e mais facil
de manusear. Sem entrar em distinco~es losocas mais apuradas, notamos que a
distinca~o \para todo x : : :x : : :" { \para um x arbitrario : : :x : : :" esta embutido
no nosso sistema por meio da distinca~o \enunciado quanticado" { \enunciado
com variavel livre".
O leitor tera tambemobservado que sob uma estrategia razoavel de derivaca~o,
a grosso modo, eliminaca~o precede introduca~o. Existe uma explicaca~o segura
para esse fen^omeno, seu tratamento apropriado pertencendo a teoria da prova ,
onde derivac~oes normais (derivaco~es sem passos super
uos) s~ao consideradas.
Veja o Captulo 6. No momento o leitor pode aceitar o fato mencionado acima
como uma regra-do-polegar conveniente.
Podemos formular as propriedades de derivabilidade do quanticador uni-
versal em termos da relaca~o `:
` '(x) ) ` 8x'(x) se x 2= V L(') para toda ' 2 ,
` 8x'(x) ) ` '(t) se t e livre para x em '.
As implicaco~es acima seguem diretamente de (8I) e (8E).
90
CAPTULO 2. LOGICA DE PREDICADOS
Nosso proximo objetivo e a corretude do sistema de deduca~o natural para a
logica de predicados. Primeiro estendemos a denica~o de j=.
Deni
S ca~o 2.8.1 Seja um conjunto de formulas e suponha que fxi1 ; xi2 ; : : :g =
fV L( ) j 2 [ fgg. Se a e uma sequ^encia (a1 ; a2; : : :) de elementos
(repetico~es permitidas) de jAj, ent~ao (a) e obtido de substituindo simul-
taneamente em todas as formulas de os xij por aj (j 1) (para = f g
escrevemos (a)). Agora denimos
(i) A j= (a) se A j= para toda 2 (a)
(ii) j= se A j= (a) ) A j= (a) para todas A; a:
No caso em que apenas sentencas forem envolvidas, a denica~o pode ser
simplicada:
j= se A j= ) A j= para toda A.
Se = ;, escrevemos j= .
Podemos parafrasear essa denica~o da seguinte maneira: j= , se para
toda estrutura A e todas as escolhas de a, (a) e verdadeira em A se todas as
hipoteses de (a) s~ao verdadeiras em A.
Podemos agora formular
Lema 2.8.2 (Corretude) ` ) j= .
Demonstrac~ao Pela denica~o de ` basta mostrar que para cada derivaca~o
.
com como conjunto de hipoteses e com como conclus~ao j= . Usamos
induca~o sobre D (cf. 1.5.1 e exerccio 2).
Como ja demos nossa denica~o de satisfaca~o em termos de valoraco~es, que
evidentemente contem a logica proposicional como um caso especial, podemos
copiar os casos de (1) a derivaca~o com um elemento, (2) as derivaco~es com
uma regra proposicional no ultimo passo, do Lema 1.6.1 (favor verique essa
reivindicaca~o).
Logo temos que tratar as derivaco~es com (8I) ou (8E) como passo nal.
(8I) D D tem suas hipoteses em e x n~ao e livre em .
'(x) Hipotese da induca~o: j= '(x); i.e. A j= (a)
8x'(x) A j= ('(x))(a) para toda A e toda a:
N~ao signica restrica~o supor que x e a primeira das variaveis livres envolvidas
(por que?). Portanto podemos substituir x por a1 em '. Ponha a = (a1 ; a0).
Agora temos:
para todo a1 e a0 = (a2 ; : : :) A j= (a0 ) ) A j= '(a1 )(a), logo
para toda a0 A j= (a0 ) ) (A j= ('(a1 ))(a0 ) para todo a1, logo
para toda a0 A j= (a0 ) ) A j= (8x'(x))(a0 ).
Isso mostra que j= 8x'(x). (Note que nessa demonstraca~o usamos 8x( !
(x)) ! ( ! 8x(x)), onde x 2= V L(), na metalinguagem. E claro que
podemos usar princpios seguros no meta-nvel.)
(8E) D Hipotese da induca~o: j= 8x'(x),
8x'(x) i.e. A j= (a) ) A j= (8x'(x))(a);
'(t) para toda a e A:
~ NATURAL
2.8. DEDUCAO 91
Portanto suponha que A j= (a), ent~ao A j= '(b)(a) para todo b 2 jAj. Em
particular podemos tomar t[a=zj para b, onde abusamos um pouco da notaca~o;
como existem um numero nito de variaveis z1 ; : : :; zn, precisamos apenas de
um numero nito de ai 's, e consideramos portanto uma substituica~o simult^anea
comum.
A j= ('[a=z])[t[a=z]=x], da pelo Lema 2.5.4, A j= ('[t=x])[a=z], ou A j=
('(t))(a).
Tendo estabelecido a corretude de nosso sistema, podemos facilmente obter
resultados de n~ao-derivabilidade.
Exemplos.
1. `6 8x9y' ! 9y8x'.
Tome A = hf0; 1g; fh0; 1i; h1; 0igi (tipo h2; ; 0i) e considere
' := P(x; y), o predicado interpretado em A.
A j= 8x9yP(x; y) pois para 0 temos
h0; 1i 2 P e para 1 temos h1; 0i 2 P.
Mas A 6j= 9y8xP (x; y), pois para 0 temos
h0; 0i 2= P e para 1 temos h1; 1i 2= P.
2. 8x'(x; x), 8xy('(x; y) ! '(y; x)) 6` 8xyz('(x; y) ^ '(y; z) ! '(x; z)).
Considere B = hR;P i com P = fha; bi j ja bj 1g.
Embora variaveis e constantes sejam basicamente diferentes, elas t^em al-
gumas propriedades em comum. Tanto as constantes como as variaveis livres
podem ser introduzidas nas derivaco~es atraves de 8E, porem apenas as variaveis
livres pode ser submetidas a regra 8I, { isto e, variaveis livres podem desapare-
cer nas derivaco~es por outros meios que n~ao os proposicionais. Segue que uma
variavel pode tomar o lugar de uma constante numa derivaca~o porem em geral
o contrario n~ao e verdadeiro. Tornamos isso mais preciso no que se segue.
Teorema 2.8.3 Seja x uma variavel que n~ao ocorre em ou em '.
(i) ` ' ) [x=c] ` '[x=c].
(ii) Se c n~ao ocorre em , ent~ao ` '(c) ) ` 8x'(x).
Demonstrac~ao. (ii) segue imediatamente de (i) por 8I. (i) Induca~o sobre a
derivaca~o de ` '. Deixo ao leitor.
Observe que o resultado e bastante obvio, pois trocar c por x e t~ao inofensivo
quanto pintar c de vermelho { a derivaca~o permanece intacta.
Exerccios
1. Mostre que:
(i) ` 8x('(x) ! (x)) ! (8x'(x) ! 8x (x));
(ii) ` 8x'(x) ! :8x:'(x);
(iii) ` 8x'(x) ! 8z'(z) se z n~ao ocorre em '(x);
(iv) ` 8x8y'(x; y) ! 8y8x'(x; y);
(v) ` 8x8y'(x; y) ! 8x'(x; x);
(vi) ` 8x('(x) ^ (x)) $ 8x'(x) ^ 8x (x);
(vii) ` 8x(' ! (x)) $ (' ! 8x (x)):
92
CAPTULO 2. LOGICA DE PREDICADOS
2. Estenda a denica~o de derivaca~o para o sistema atual (cf. 1.4.1).
3. Mostre que (s(t)[a=x])A = (s((t[a=x])A)[a=x])A.
4. Mostre as implicaco~es inversas de 2.8.3.
5. Atribua a cada atomo P(t1; : : :; tn) um smbolo proposicional, denotado
por P. Agora dena uma traduca~o y da linguagem da logica de predicados
para a linguage da logica proposicional da seguinte forma
P(t1 ; : : :; tn)y := P e ?y := ?
y
(' ) := ' y y
(: )y := :'y
(8x')y := 'y
Mostre que ` ' ) y `y 'y , onde `y quer dizer \derivavel sem usar
(8I) ou (8E)" (e a direca~o contraria se verica?)
Conclua que a logica de predicados e consistente.
Mostre que a logica de predicados e conservativa sobre a logica proposi-
cional (cf. denica~o 3.1.5).
[8x('(x) ! )]3
8E
'(x) ! ['(x)]1
!E
[9x'(x)]2
9E1 x 2= V L( )
! I2
9x'(x) !
!I
8x('(x) ! ) ! (9x'(x) ! ) 3
['(x)]1 [ (x)]1
9x'(x) 9x (x)
2
['(x) _ (x)] 9x'(x) _ 9x (x) 9x'(x) _ 9x (x)
_E1
[9x('(x) _ (x))]3 9x'(x) _ 9x (x)
9E2
9x'(x) _ 9x (x)
!I
9x('(x) _ (x)) ! 9x'(x) _ 9x (x) 3
Vamos expor brevemente a abordagem alternativa, ou seja aquela de enriquecer
a linguagem.
Teorema 2.9.2 Considere a logica de predicados com a linguagem integral e
as regras para todos os conectivos, ent~ao ` 9x'(x) $ :8x:'(x).
Demonstrac~ao. Semelhante a demonstraca~o do Teorema 1.6.3.
94
CAPTULO 2. LOGICA DE PREDICADOS
Agora e hora de enunciar as regras para 8 e 9 com mais precis~ao. Queremos
substituico~es de termos para algumas ocorr^encias da variavel quanticada em
(8E) e (9E). O exemplo abaixo da uma motivaca~o para isso.
8x(x = x)
8E
x=x
9I
9y(x = y)
O resultado n~ao seria derivavel se pudessemos apenas fazer substituico~es
para todas as ocorr^encias ao mesmo tempo. Mesmo assim, o resultado e eviden-
temente verdadeiro.
A formulaca~o apropriada das regras agora e:
' 8x'
8I 8x' 8E
'[t=x]
[']
'[t=x]
9I 9E 9x'
9x'
x = y x2 + y2 > 12x
x2 + y2 > 12y
x = y x2 + y2 > 12x
2y2 > 12y
Os exemplos acima s~ao aplicaco~es legtimas de RI4 que t^em tr^es diferentes con-
clus~oes.
A regra RI1 n~ao tem hipoteses, o que pode parecer surpreendente, porem
certamente n~ao e proibido.
As regras RI4 t^em muitas hipoteses, e em consequ^encia as arvores de derivaca~o
podem parecer um pouco complicadas. Obviamente pode-se obter todos os
benefcios de RI4 atraves de uma regra restrita, permitindo-se apenas uma sub-
stituica~o a cada vez.
Lema 2.10.1 ` Ii para i = 1; 2; 3; 4.
Demonstrac~ao. Imediata.
Podemos enfraquecer um pouco as regras RI4 considerando apenas os termos
e as formulas mais simples.
Lema 2.10.2 Seja L do tipo hr1; : : :; rn; a1; : : :; am ; ki. Se as regras
x1 = y1 ; : : :; xri = yri P1 (x1; : : :; xri )
para todo i n
P1(y1 ; : : :; yri )
e x1 = y1 ; : : :; xaj = yaj
para todo j m
fj (x1; : : :; xaj ) = fj (y1 ; : : :; yaj )
s~ao dadas, ent~ao as regras RI4 s~ao derivaveis.
96
CAPTULO 2. LOGICA DE PREDICADOS
Demonstrac~ao. Consideramos um caso especial. Suponha que L tenha um
smbolo binario de predicado e um smbolo unario de funca~o.
(i) Mostramos que x = y ` t(x) = t(y) por induca~o sobre t.
(a) t(x) e uma variavel ou uma constante. Imediato.
(b) t(x) = f(s(x)). Hipotese da induca~o: x = y ` s(x) = s(y)
[x = y]
f(x) = f(y) x=y
8I 2
8xy(x = y ! f(x) = f(y)) D
s(x) = s(y) ! f(s(x)) = f(s(y)) s(x) = s(y)
f(s(x)) = f(s(y))
Completude e Aplicac~oes
3.1 O Teorema da Completude
Tal qual no caso da logica proposicional mostraremos que `derivabilidade' e
`consequ^encia sem^antica' coincidem. Faremos bastante coisa antes de chegar
no teorema. Embora a demonstraca~o do teorema da completude n~ao seja mais
difcil que, digamos, algumas demonstraco~es em analise, recomendaramos ao
leitor que zesse uma leitura do enunciado do teorema e que saltasse a demon-
straca~o na primeira leitura, retornando a ela mais tarde. E mais instrutivo ir
as aplicaco~es e isso provavelmente dara ao leitor um melhor sentimento para o
assunto.
A principal ferramenta neste captulo e o
Lema 3.1.1 (Lema da Exist^encia de Modelo) Se e um conjunto consis-
tente de sentencas, ent~ao tem um modelo.
Uma vers~ao mais renada e
Lema 3.1.2 Suponha que L tenha cardinalidade . Se e um conjunto con-
sistente de sentencas, ent~ao tem um modelo de cardinalidade .
De 3.1.1 imediatamente deduzimos o teorema de Godel
Teorema 3.1.3 (Teorema da Completude) ` ' , j= '.
Passaremos agora por todos os passos da demonstraca~o do teorema da com-
pletude. Nesta seca~o consideraremos sentencas, a menos que mencionemos es-
pecicamente formulas n~ao-fechadas. Alem do mais, ``' representara `derivabil-
idade na logica de predicados com identidade'.
Tal qual no caso da logica proposicional temos que construir um modelo e a
unica coisa que temos e nossa teoria consistente. Essa construca~o e uma especie
de truque do Bar~ao de Munchhausen; temos que nos sacar (na verdade, sacar um
modelo) de uma montanha de sintaxe e de regras de prova. A ideia mais plausvel
e formar um universo a partir de termos fechados e denir relaco~es como os
conjuntos de (tuplas de) termos nos atomos da teoria. Ha basicamente duas
coisas que temos que cuidar: (i) se a teoria nos diz que 9x'(x), ent~ao o modelo
tem que fazer com que 9x'(x) seja verdadeira, e portanto e que preciso exibir
um elemento (que nesse caso e um termo fechado t) tal que '(t) seja verdadeira.
99
100 ~
CAPTULO 3. COMPLETUDE E APLICACOES
Isso signica que a teoria tem que provar '(t) para um termo fechado apropriado
t. Esse problema e resolvido nas chamadas teorias de Henkin. (ii) Um modelo
tem que decidir sentencas, i.e. ele tem que dizer se ou : se vericam, para
cada sentenca . Tal qual em logica proposicional, isso e tratado pelas teorias
consistentes maximais.
Denica~o 3.1.4 (i) Uma teoria T e uma coleca~o de sentencas com a pro-
priedade T `
varphi ) ' 2 T (uma teoria e fechada sob derivabilidade ).
(ii) Um conjunto = f' j T ` 'g e chamado de um conjunto de axiomas
da teoria T . Os elementos de T s~ao chamados axiomas .
(iii) T e chamado de uma teoria de Henkin se para cada sentenca 9x'(x)
existe uma constante c tal que 9x'(x) ! '(c) 2 T (tal constante c e chamada
de uma testemunha para 9x'(x)).
Note que T = f j ` g e uma teoria. Pois, se T ` , ent~ao 1; : : :; k ` '
para uma certa 'i com ` i.
gura
Denica~o 3.1.5 Sejam T e T 0 teorias nas linguagens L e L0.
(i) T 0 e extens~ao de T se T T 0,
(ii) T 0 e uma extens~ao conservativa de T se T 0 \ L = T (i.e. todos os
teoremas de T 0 na linguagem L ja s~ao teoremas de T).
Exemplo de uma extens~ao conservativa: Considere uma logica proposicional
P 0 na linguagem L com !, ^, ?, $, 6. Ent~ao o exerccio 2, seca~o 1.6, nos diz
que P 0 e conservativa sobre P.
Nossa primeira tarefa e a construca~o de extens~oes de Henkin de uma dada
teoria T , isto e: extens~oes de T que sejam teorias de Henkin.
Denica~o 3.1.6 Seja T uma teoria com linguagem L. A linguagem L e obtida
a partir de L pela adica~o de uma constante c' para cada sentenca da forma
9x'(x), uma constante c' . T e a teoria com o conjunto de axiomas
T [ f9x'(x) ! '(c' ) j 9x'(x) e fechada, com testemunha c'g:
Lema 3.1.7 T e conservativa sobre T .
Demonstrac~ao (a) Seja 9x'(x) ! '(c) um dos novos axiomas. Suponha que
.
; 9x'(x) ! '(c) ` , onde n~ao contem c e e um conjunto de sentencas,
nenhuma das quais contem a constante c. Vamos mostrar que ` em um
certo numero de passos.
1. ` 9x'(x) ! '(c)) ! ,
2. ` 9x'(x) ! '(y)) ! , onde y e uma variavel que n~ao ocorre na
derivaca~o associada. 2 segue de 1 pelo Teorema 2.8.3.
3. ` 8y((9x'(x) ! '(y)) ! ). Essa aplicaca~o de (8I) esta correta, pois
c n~ao ocorria em .
4. ` 9y(9x'(x) ! '(y)) ! , (cf. exemplo da seca~o 2.9).
3.1. O TEOREMA DA COMPLETUDE 101
5. ` (9x'(x) ! 9y'(y)) ! , (seca~o 2.9, exerccio 7).
6. ` 9x'(x) ! 9y'(y).
7. ` , (de 5.6).
(b) Suponha que T ` para uma 2 L. Pela denica~o de derivabil-
idade T [ f1; : : :; ng ` , onde i s~ao os novos axiomas da forma
9x'(x) ! '(c). Vamos mostrar que T ` por induca~o sobre n.
Para n = 0 estamos resolvidos. Suponha que T [f1; : : :; n+1g ` .
Faca 0 = T [ f1; : : :; ng, ent~ao T 0 ; n+1 ` e podemos aplicar o
item (a). Da, T [f1; : : :; ng ` . Agora, pela hipotese da induca~o,
T` .
Embora tenhamos adicionado um numero de testemumhas a T , n~ao ha
evid^encia de que T seja uma teoria de Henkin, pois ao enriquecer a linguagem
nos tambem adicionamos novos enunciados existenciais 9x(x) que podem n~ao
ter testemunhas. De modo a contornar essa diculdade iteramos o processo
acima um numero contavel de vezes.
Lema 3.1.8 Dena T0 := T ; Tn+1 := (Tn) ; T! := SfTn j n 0g. Ent~ao T!
e uma teoria de Henkin e e conservativa sobre T .
Demonstrac~ao. Chamemos de Ln (resp. L! ) a linguagem de Tn (resp. T! ).
(i) Tn e conservativa sobre T. Induca~o sobre n.
(ii) T! e uma teoria. Suponha que T! ` , ent~ao '0 ; : : :; 'n ` para certas
'0 ; : : :; 'n 2 T! . Para cada i n 'i 2 Tmi para algum mi . Seja m =
maxfmi j i ng. Como Tk Tk+1 para todo k, temos que Tmi Tm
(i n). Por conseguinte Tm ` . Tm e (por denica~o) uma teoria, logo
2 Tm T! .
(iii) T! e uma teoria de Henkin. Seja 9x'(x) 2 L! , ent~ao 9x'(x) 2 Ln para
algum n. Por denica~o 9x'(x) ! '(c) 2 Tn+1 para um certo c. Logo
9x'(x) ! '(c) 2 T! .
(iv) T! e conservativa sobre T. Observe que T! ` se Tn ` para algum n e
aplique (i).
Como um corolario obtemos: T! e consistente se T tambem o e. Pois
suponha que T! seja inconsistente, ent~ao T! ` ?. Como T! e conservativa
sobre T (e ? 2 L) T ` ?. Contradica~o.
Nosso proximo passo e estender T! tanto quanto possvel, tal como zemos
na logica proposicional (1.5.7). Enunciamos um princpio geral.
Lema 3.1.9 (Lindenbaum) Cada teoria consistente esta contida em uma teo-
ria maximamente consistente.
Demonstrac~ao. Fazemos uma aplicaca~o direta do Lema de Zorn . Seja T con-
sistente. Considere o conjunto A de todas as extens~oes consistentes T 0 de T,
parcialmente ordenadas por inclus~ao. Reivindicaca~o: A tem um elemento max-
imal.
102 ~
CAPTULO 3. COMPLETUDE E APLICACOES
1. Cada cadeia em A Stem um limitante superior. Seja fTi j i 2 I g uma
cadeia. Ent~ao T 0 = Ti e uma extens~ao consistente de T contendo todos
os Ti 's (Exerccio 2). Logo T 0 e um limitante superior.
2. Por conseguinte A tem um elemento maximal Tm (lema de Zorn).
3. Tm e uma extens~ao maximamente consistente de T. Apenas temos que
demonstrar que: se Tm T 0 e T 0 2 A, ent~ao Tm = T 0 . Mas isso e trivial
pois Tm e maximal no sentido de . Conclus~ao: T esta contida na teoria
maximamente consistente Tm .
Note que em geral T tem muitas extens~oes maximamente consistentes. A
exist^encia acima esta longe de ser unica (na verdade a demonstraca~o de sua
exist^encia usa essencialmente o axioma da escolha). Note, entretanto, que se a
linguagem e contavel, pode-se reproduzir a demonstraca~o de 1.5.7 e dispensar o
Lema de Zorn.
Agora combinamos a construca~o de uma extens~ao de Henkin com uma ex-
tens~ao maximamente consistente. Felizmente a propriedade de ser uma teoria
de Henkin e preservada sob a operaca~o de se tomar uma extens~ao maximamente
consistente. Pois, a linguagem permanece xa, da se para um enunciado ex-
istencial 9x'(x) existe uma testemunha c tal que 9x'(x) ! '(c) 2 T, ent~ao
trivialmente, 9x'(x) ! '(c) 2 Tm . Portanto
Lema 3.1.10 Uma extens~ao de uma teoria de Henkin com a mesma linguagem
e novamente uma teoria de Henkin.
Agora chegamos a demonstraca~o de nosso principal resultado.
Lema 3.1.11 (Lema da Exist^encia de Modelo) Se e consistente, ent~ao
tem um modelo
Demonstrac~ao. Seja T = f j ` g a teoria dada por . Qualquer modelo de
T e, obviamente, um modelo de .
Seja Tm uma extens~ao de Henkin maximamente consistente de T (que existe
pelos lemas precedentes), com linguagem Lm .
Construiremos um modelo de Tm usando a propria Tm . Nesse ponto o leitor
deveria se dar conta que uma linguagem e, anal de contas, um conjunto, ou
seja um conjunto de cadeias de smbolos. Portanto, exploraremos esse conjunto
para construir o universo de um modelo apropriado.
1. A = ft 2 Lm j t e fechadog.
2. Para cada smbolo de funca~o f denimos uma funca~o f^ : Ak ! A por
^ 1; : : :; tk ) := f(t1 ; : : :; tk ).
f(t
3. Para cada smbolo de predicado P denimos uma relaca~o P^ Ap por
ht1; : : :; tp i 2 P^ , Tm ` P(t(t1; : : :; tp ).
4. Para cada smbolo de constante c denimos uma constante c^ := c.
Embora possa parecer que criamos o modelo desejado, temos que melhorar
o resultado, porque `=' n~ao e interpretado como a real igualdade. Podemos
apenas armar que
3.1. O TEOREMA DA COMPLETUDE 103
(a) A relaca~o t s denida por Tm ` t = s para t; s 2 A e uma relaca~o de
equival^encia. Pelo lema 2.10.1, I1 , I2 , I3 s~ao teoremas de Tm , logo Tm ` 8x(x =
x), e portanto (por (8E) Tm ` t = t, ou t t. Simetria e transitividade seguem
da mesma maneira.
(b) ti si (i p) e ht1 ; : : :; tp iP^ ) hs1 ; : : :; sp i 2 P. ^
ti si (i k) ) f(t ^ 1 ; : : :; tk ) f(s
^ 1 ; : : :; sk ) para todos os smbolos P e f.
A demonstraca~o e simples: use Tm ` I4 (Lema 2.10.1).
Uma vez que temos uma relaca~o de equival^encia, que, alem do mais, e uma
congru^encia com respeito as relaco~es e funco~es basicas, e natural introduzir a
estrutura quociente.
Denotemos a classe de equival^encia de t sob por [t].
Dena A := hA= ; P~1; : : :; P~n; f~1 ; : : :; f~m ; fci j i 2 I gi, onde
P~i := fh[t1]; : : :; [tri ]i j ht1 ; : : :; tri i 2 P^i g
f~j ([t1]; : : :; [taj ]) = [f^j (t1; : : :; taj )]
c~i := [^ci].
E preciso mostrar que as relaco~es e as funco~es em A= est~ao bem-denidas,
mas isso ja e garantido pelo item (b) acima.
Termos fechados levam a uma especie de vida dupla. Por um lado eles
s~ao objetos sintaticos, por outro lado eles s~ao o material a partir do qual os
elementos do universo s~ao feitos. As duas coisas est~ao relacionadas por tA = [t].
Isso e demonstrado por induca~o sobre t.
(i) t = c, ent~ao tA = c = [^c] = [t],
(ii) t = f(t1 ; : : :; tk ), ent~ao tA = f(t ~ A1 ; : : :; tAk ) h:i: ~ 1 ]; : : :; [tk])
= f([t
^ 1 ; : : :; tk )] = [f(t1 ; : : :; tk )].
= [f(t
Alem disso temos que A j= '(t) , A j= '([t]), pelo que foi dito acima e pelo
Exerccio 6 da seca~o 2.4.
Reivindicaca~o. A j= '(t) , Tm ` '(t) para todas as sentencas na linguagem
Lm de Tm que, alias, e tambem L(A), pois cada elemento de A=sim tem um
nome em Lm . Demonstramos a reivindicaca~o por induca~o sobre '.
(i) ' e at^omica. A j= P(t1; : : :; tp) $ htA1 ; : : :; tAp i 2 P~ , h[t1; : : :; [tp]i 2
P~ , ht1 ; : : :; tpi 2 P^ , Tm ` P(t1; : : :; tp ). O caso ' = ? e trivial.
(ii) ' = ^ . Trivial.
(iii) ' = ! . Lembramos que, pelo lema 1.6.9, Tm ` ! , (Tm ` )
Tm ` ). Note que podemos copiar esse resultado, pois sua demonstraca~o
usa apenas logica proposicional, e portanto permanece correta em logica
de predicados.
A j= ' ! , (A j= ) A j= ) h:i: , (Tm ` ) Tm ` ) , Tm ` ! .
(iv) ' = 8x (x). A j= 8x (x) , A 6j= 9x: (x) , A 6j= : (a), para todo
a 2 jAj , para todo a 2 jAj (A j= (a)). Assumindo que A j= 8x (x),
obtemos, em particular, que A j= (c) para a testemunha c correspondente
a 9x: (x). Pela hipotese da induca~o, Tm ` (c). Tm ` 9x: (x) !
: (c), logo Tm ` (c) ! :9x: (x). Da, Tm ` 8x (x).
104 ~
CAPTULO 3. COMPLETUDE E APLICACOES
Na direca~o contraria: Tm ` 8x (x) ) Tm ` (t), portanto Tm ` (t)
para todo termo fechado t, e da, pela hipotese da induca~o, A j= (t) para
todo termo fechado t. Da, A j= 8x (x).
Agora vemos que A e um modelo de , pois Tm .
O modelo construdo acima e conhecido por varios nomes, as vezes chamado de
modelo can^onico ou modelo de termos (fechados) . Em programaca~o em logica o
conjunto dos termos fechados de qualquer linguagem e chamado de universo de
Herbrand ou domnio de Herbrand , e o modelo can^onico e chamado de modelo
de Herbrand .
Para termos uma estimativa da cardinalidade do modelo temos que calcular
o numero de termos fechados em Lm . Como n~ao mudamos de linguagem ao
passar de T! para Tm , podemos olhar para a linguagem L! . Indicaremos como
obter as cardinalidades desejadas, dado o alfabeto da linguagem original L.
Usaremos livremente o axioma da escolha, em particular na forma das leis de
absorca~o (i.e. + = = max(; ) para cardinais innitos). Digamos que
L tem tipo hr1; : : :; rni; a1; : : :; ami; i.
1. Dena
TERM0 := fci j i 2 I g [ fxj j j 2 N g
TERMn+1 := TERMn [ ffj (t1 ; : : :; taj ) j j m;
tk 2 TERMn para k aj g:
S
Ent~ao TERM = fTERMn j n 2 N g (Exerccio 5)
jT ERM0j = max(; @0 ) = .
Suponha que jTERMnj = . Ent~ao
jffj (t1 ; : : :; taj ) j t1 ; : : :; taj 2 TERMn gj = jTERMnjaj = aj = . Logo
jT ERMn+1j = + + : : : + (m + 1 vezes) = .
X
Finalmente jTERM j = jTERMn j = @0 = .
n2N
2. Dena
FORM0 := fPi (t1; : : :; tri ) j i n; tk 2 TERM g [ f?g
FORMn+1 := FORMn [ f' j 2 f^; !g; '; 2 FORMng
[f8xi ' j i 2 N; ' 2 FORMng:
S
Ent~ao FORM = fFORMn j n 2 N g (Exerccio 5)
Como no item 1. mostra-se que jFORM j = .
3. O conjunto de sentencas da forma 9x'(x) tem cardinalidade . Ela e
trivialmente . Considere A = f9x(x = ci ) j i 2 I g. Claramente
jAj = @0 = . Da, a cardinalidade dos enunciados existenciais e .
4. L1 tem os smbolos de constante de L, mais as testemunhas. Pelo item
3. a cardinalidade do conjunto de smbolos de constante e . Usando 1. e
2. chegamos a conclus~ao que L0 tem termos e formulas. Por induca~o
sobre n cada Ln tem termos e formulas. Por conseguinte L! tem
@0 = termos e formulas. L! tambem e a linguagem de Tm .
3.1. O TEOREMA DA COMPLETUDE 105
5. L! tem no maximo termos fechados. Como L1 tem testemunhas, L!
tem no mnimo , e portanto exatamente termos fechados.
6. O conjunto dos termos fechados tem classes de equival^encia sob ,
logo jAj .
Tudo isso se soma para chegar a vers~ao fortalecida do Lema da Exist^encia
de Modelo:
Lema 3.1.12 e consistente $ tem um modelo de cardinalidade no maximo
a cardinalidade da linguagem.
Note os seguintes fatos:
{ Se L tem um numero innito de constantes, ent~ao L e contavel.
{ Se L tem @0 constantes, ent~ao jLj = .
O teorema da completude para a logica de predicados levanta a mesma
quest~ao que o teorema da completude para a logica proposicional: podemos
efetivamente encontrar uma derivaca~o de ' se ' e verdadeira? O problema e
que n~ao temos muito no que nos apoiar; ' e verdadeira em todas as estruturas
(do tipo de similaridade apropriado). Muito embora (no caso de uma linguagem
contavel) podemos nos restringir a estruturas contaveis, o fato de que ' e ver-
dadeira em todas as estruturas n~ao da a informaca~o combinatoria necessaria
para construir uma derivaca~o de '. O problema nesse estagio esta alem das
nossas possibilidades. Um tratamento do problema esta na alcada da teoria
da prova; o calculo de sequentes de Gentzen ou o metodo do tableau s~ao mais
apropriados para a busca de derivaco~es que a deduca~o natural.
No caso da logica de predicados existem certos melhoramentos em cima do
teorema da completude. Pode-se, por exemplo, perguntar o qu~ao complicado e
o modelo que construimos no lema da exist^encia de modelo. O ambiente apro-
priado para essas quest~oes vai ser encontrado na teoria da recurs~ao. Podemos,
entretanto, dar uma rapida olhada num caso simples.
Seja T uma teoria decidvel com uma linguagem contavel, i.e. temos um
metodo efetivo de testar pertin^encia (ou, o que resulta na mesma coisa, podemos
testar se ` ' para um conjunto de axiomas de T ). Considere a teoria de
Henkin introduzida em 3.1.8; 2 T! se 2 Tn para um certo n. Esse numero
n pode ser obtido de por inspeca~o das testemunhas ocorrendo em . Das
testemunhas podemos tambem determinar quais axiomas da forma 9x'(x) !
'(c) est~ao envolvidos. Seja f1 ; : : :; ng o conjunto de axiomas necessarios para
a derivaca~o de , ent~ao T [f1; : : :; ng ` . Pelas regras da logica isso se reduz
a T ` 1 ^ : : : ^ n ! . Como as constantes ci s~ao novas com respeito a T, isso
e equivalente a T ` 8z1 : : :zk (n0 ! 0 ) para variaveis apropriadas z1 ; : : :; zk ,
onde 10 ; : : :; n0 ; 0 s~ao obtidas por substituica~o. Portanto vemos que 2 T!
decidvel. O proximo passo e a formaca~o de uma extens~ao maximal Tm .
Seja '0 ; '1; '2; : : : uma enumeraca~o de todas as sentencas de T! . Adi-
cionamos sentencas a T! em etapas.
gura pagina 112
106 ~
CAPTULO 3. COMPLETUDE E APLICACOES
etapa 0: T0 = T! [ f'0 g se T [ f'0g e consistente,
T! [ f:'0 g caso contrario.
etapa n + 1: Tn+1 = TTn [[ f: f'n+1g se Tn [ f'n+1 g e consistente,
'n+1g caso contrario.
n
S
T = Tn (T e dada por um caminho innito apropriado na arvore). E
facilmente vericado que T e maximamente consistente. Alem do mais, T e
decidvel. Para testar 'n 2 T temos que testar se 'n 2 Tn ou Tn 1 [f'ng ` ?,
que e decidvel. Logo T e decidvel.
O modelo A construdo em 3.1.11 e portanto decidvel tambem no seguinte
sentido: as operaco~es e relaco~es de A s~ao decidveis, o que signica que h[t1]; : : :; [tp ]i 2
~ 1 ]; : : :; [tk]) = [t] s~ao decidveis.
P~ e f([t
Resumindo, dizemos que uma teoria consistente decidvel tem um modelo
decidvel (isso pode ser dito de modo mais preciso substituindo `decidvel' por
`recursivo').
Exerccios
1. Considere a linguagem dos grupos. T = f j A j= g, onde A e um grupo
xo n~ao-trivial. Mostre que T n~ao e uma teoria de Henkin.
2. Seja fTi j i 2 I g um conjunto
S de teorias, linearmente ordenadas por
inclus~ao. Mostre que T = fTi j i 2 I g e uma teoria que estende cada Ti .
Se cada Ti e consistente, ent~ao T e consistente.
3. Mostre que n ` , se verica em todos os modelos com pelo menos n
elementos. n ` , se verica em todos os elementos com no maximo
n elementos. n ^ n ` , se verica em todos os modelos com
exatamente n elementos, fn j n 2 Ng ` , se verica em todos os
modelos innitos, (para ver uma denica~o de n , n , veja seca~o 2.7).
4. Mostre que T = f j 2 ` g[fc1 6= c2 g em uma linguagem com = e dois
smbolos de constante c1, c2, e uma teoria de Henkin.
S S
5. Mostre que TERM = fTERMn j n 2 Ng, FORM = fFORMn j n 2
Ng (cf. 1.1.5).