Buscar

L0g1c4 p4r4 C0mput4c40

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 179 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 179 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 179 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Lo´gica para Computac¸a˜o
Jose´ de Oliveira Guimara˜es
josedeoliveiraguimaraes@gmail.com
Campus de Sorocaba da UFSCar
Sorocaba - SP
20 de marc¸o de 2011
Suma´rio
1 Introduc¸a˜o e Histo´ria 3
1.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Histo´ria, Paradoxos e Princ´ıpios Ba´sicos . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Sistemas Formais 8
2.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Problematizando o Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Alfabetos, Axiomas e Regras de Sistemas Formais . . . . . . . . . . . . . . . . . . . 8
2.4 Visa˜o Alternativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5 Conexo˜es com a Computac¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.1 Regras Como Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.2 Programas Como Sistemas Formais . . . . . . . . . . . . . . . . . . . . . . . 16
2.5.3 Autoˆmato Celular e Jogo da Vida . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.4 Grama´ticas Como Sistemas Formais . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.5 Suposic¸o˜es Impl´ıcitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3 Introduc¸a˜o ao Ca´lculo Proposicional 24
3.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 A Linguagem do Ca´lculo Proposicional . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4 Semaˆntica do Ca´lculo Proposicional 28
i
4.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 Problematizando o Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 Mapeamento de Frases para o Ca´lculo Proposicional . . . . . . . . . . . . . . . . . . 28
4.4 Verdade e Falsidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.5 Tabelas Verdade dos Conectivos Ba´sicos . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6 Conectivos Derivados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.8 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5 Tabelas Verdade e Tautologias 34
5.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2 Problematizando o Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3 Tabelas Verdade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4 Tautologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.6 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6 Proposic¸o˜es sobre Tautologias e Equivaleˆncias Lo´gicas 42
6.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.2 Proposic¸o˜es sobre Tautologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.3 Equivaleˆncia Lo´gica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.4 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7 Minimizac¸a˜o de Fo´rmulas Lo´gicas 51
7.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.2 Problematizando o Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3 Minimizac¸a˜o de Fo´rmulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.4 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.5 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8 Conjunto Adequado de Conectivos e Formas Normais 56
8.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.2 Problematizando o Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.3 Conjunto Adequado de Conectivos e Formas Normais . . . . . . . . . . . . . . . . . 57
8.4 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
ii
8.5 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9 Sintaxe do Ca´lculo Proposicional 71
9.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.2 Problematizando o Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.3 Sintaxe do Ca´lculo Proposicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.4 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
9.5 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10 Relac¸a˜o Sintaxe/Semaˆntica 80
10.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
10.2 Relac¸a˜o entre Sintaxe e Semaˆntica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
10.3 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.4 Conexo˜es com a Computac¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
10.4.1 Ana´lise Sinta´tica e Grama´tica da Linguagem do Ca´lculo Proposicional . . . 87
10.4.2 Enumerac¸a˜o das Fo´rmulas do Ca´lculo Proposicional . . . . . . . . . . . . . . 88
10.4.3 Axiomatizac¸a˜o do Ca´lculo Proposicional . . . . . . . . . . . . . . . . . . . . 88
10.5 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
11 Resoluc¸a˜o e Fo´rmulas de Horn 91
11.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
11.2 Problematizando o Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
11.3 Transformac¸a˜o de fo´rmulas para a FNC . . . . . . . . . . . . . . . . . . . . . . . . . 91
11.4 Algoritmo de Horn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
11.5 O Algoritmo da Resoluc¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
11.6 Conexo˜es com a Computac¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
11.7 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
11.8 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
12 Lo´gica de Primeira Ordem 105
12.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
12.2 Problematizando o Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
12.3 Introduc¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
12.4 A Linguagem da Lo´gica de Primeira Ordem . . . . . . . . . . . . . . . . . . . . .. 109
12.5 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
iii
12.6 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
13 Semaˆntica da Lo´gica de Primeira Ordem 118
13.1 Primeiras palavras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
13.2 Problematizando o Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
13.3 Introduc¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
13.4 Definic¸a˜o Formal de Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
13.5 Considerac¸o˜es Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
13.6 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
14 Sintaxe da Lo´gica de Primeira Ordem 149
14.1 Axiomas e Regras de Deduc¸a˜o da Lo´gica de Primeira Ordem . . . . . . . . . . . . . 150
14.2 Meta-teoremas e Definic¸o˜es sobre as Teorias de Primeira Ordem . . . . . . . . . . . 152
14.3 Formas Normais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
14.4 Relac¸a˜o entre Sintaxe e Semaˆntica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
14.5 Alguns Exemplos de Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
14.6 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
A Quadrinhos 168
B Noc¸o˜es Ba´sicas de Matema´tica 170
B.1 Induc¸a˜o finita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
B.2 Prova por Contradic¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
1
Prefa´cio
Imagine que algue´m queira comunicar como e´ uma certa pintura para uma outra pessoa. Uma
possibilidade seria converter a pintura para o formato digital, um retaˆngulo compostos por pontos
(cada um com uma cor), e depois escrever a cor de cada ponto, comec¸ando do canto superior es-
querdo e procedendo para baixo, linha por linha, ate´ o canto inferior direito. Esta na˜o e´ uma forma
muito inteligente de comunicac¸a˜o. Contudo, e´ mais ou menos isso que fazemos quando escrevemos
um livro de Matema´tica, F´ısica ou Lo´gica. Nestes livros, uma sequ¨eˆncia de definic¸o˜es, teoremas
e provas e´ descrita linearmente tentando descrever conceitos que na˜o podem ser compreendidos
desta forma. O leitor fica com a inteira responsabilidade de agrupar todos os conceitos e montar
a “figura” em sua mente, com pouco ou nenhum aux´ılio por parte do texto.
Neste livro tentamos fazer diferente na medida de nossas possibilidades. Para ajudar o leitor
a montar a imagem da lo´gica, recorremos a dois artif´ıcios: a) comenta´rios sobre os teoremas
e provas e b) meta-informac¸o˜es no texto. Sendo este um livro de lo´gica, as informac¸o˜es sobre
lo´gica constituem a maior parte do texto. Contudo, ha´ informac¸o˜es tambe´m sobre o pro´prio
texto: refereˆncias a pa´ginas (“veja os axiomas da pa´gina 23”) e figuras que descrevem a pro´pria
estrutura das definic¸o˜es, teoremas e provas. Estes dados adicionais sa˜o meta-informac¸o˜es. Com eles
procuramos mostrar como a lo´gica e´ estruturada, quais as relac¸o˜es entre os conceitos estudados.
Os comenta´rios no texto ajudam visualizar o quadro geral. Eles procuram apresentar uma outra
visa˜o do texto, podemos dizer “do alto”, fugindo da descric¸a˜o linear de definic¸o˜es/teoremas do
livro.
Ao final de cada Cap´ıtulo deste livro pode haver treˆs subsec¸o˜es: a) Visa˜o Alternativa; b)
Conexo˜es com a Computac¸a˜o e c) Suposic¸o˜es Impl´ıcitas. A subsec¸a˜o “Visa˜o Alternativa” procura
apresentar os conceitos do Cap´ıtulo ou parte dele de maneira diferente do que foi apresentado,
facilitando a compreensa˜o do texto. Alia´s, isto ja´ e´ feito em muitos comenta´rios por todo o livro e
na˜o apenas nesta subsec¸a˜o. Qualquer texto se torna dif´ıcil de entender se apenas uma u´nica visa˜o e´
apresentada. O leitor na˜o consegue formar uma ide´ia clara dos conceitos apresentados assim como
quando enxergamos com um u´nico olho na˜o temos a ide´ia de profundidade da cena observada.
A subsec¸a˜o “Conexo˜es com a Computac¸a˜o” apresenta os poss´ıveis relacionamentos entre o
Cap´ıtulo e a Computac¸a˜o. Na˜o se pretende fazer uma apresentac¸a˜o profunda de to´picos da com-
putac¸a˜o nesta sec¸a˜o. A subsec¸a˜o “Suposic¸o˜es Impl´ıcitas” apresenta as suposic¸o˜es impl´ıcitas para
que o Cap´ıtulo seja va´lido. Frequentemente se assume que algumas coisas sejam va´lidas ou abso-
lutamente necessa´rias quando isto nem sempre e´ o caso. Esta sec¸a˜o apresenta o que normalmente
supomos ao estudar o Cap´ıtulo. Note que esta subsec¸a˜o de certa forma se sobrepo˜e com a sec¸a˜o
“Visa˜o Alternativa”. Contudo, o objetivo de ambas e´ diferente. O objetivo da subsec¸a˜o “Visa˜o Al-
ternativa” e´ fazer o leitor compreender melhor o texto. O objetivo da sec¸a˜o “Suposic¸o˜es Impl´ıcitas”
e´ abrir a mente, despertar a criatividade, mostrar que qualquer texto supo˜e um certo racioc´ınio
do leitor implicitamente e que isto poderia ser diferente. O objetivo e´ despertar o leitor para a
pesquisa em Lo´gica, embora saibamos que este e´ apenas um texto introduto´rio de lo´gica.
2
Unidade 1
Introduc¸a˜o e Histo´ria
1.1 Primeiras palavras
Lo´gica e´ a disciplina que estuda o racioc´ınio dedutivo, o que se pode deduzir a partir de premissas
consideradas verdadeiras. Como exemplo inicial, a partir das frases “todo nu´mero par e´ divis´ıvel
por 2” e “6 e´ par”, pode-se concluir que “6 e´ divis´ıvel por 2”. Na˜o interessa a` lo´gica se as duas
primeiras frases sa˜o verdadeiras no mundo real — o que interessa e´ que, se sa˜o verdadeiras, pode-se
deduzir a terceira frase a partir delas. Mortari [9] da´ a seguinte definic¸a˜o de lo´gica:
Lo´gica e´ cieˆncia que estuda princ´ıpios de infereˆncia, tendo o objetivo principal de determinar em
que condic¸o˜es certas coisas se seguem (sa˜o consequ¨eˆncia), ou na˜o, de outras.
A lo´gica e´ atualmente um enorme corpo de conhecimento que engloba quatro diferentes a´reas:
teoria da prova, teoria dos modelos, teoria axioma´tica dos conjuntos e computabilidade. Neste
curso veremos uma introduc¸a˜o a` teoria da prova e a` teoria dos modelos. Computabilidade e´ uma
a´rea vista em disciplinas de Teoria da Computac¸a˜o ou Linguagens Formais e Autoˆmatos.
1.2 Histo´ria, Paradoxos e Princ´ıpios Ba´sicos
A lo´gica foi a criac¸a˜o de um u´nico homem, Aristo´teles (384 a.C.-322 a.C.). A lo´gica de Aristo´teles
era inteiramente verbal, sem o emprego de s´ımbolos. Como exemplo, de “Todos os homens sa˜o
mortais” e “So´crates e´ um homem”, pode-se deduzir que “So´crates e´ mortal”. Este e´ um dos tipos
de racioc´ınio catalogados pelo sa´bio grego. Havia outros vinte e quatro (dos quais cinco esta˜o
impl´ıcitos em outros), todos empregando apenas palavras. Ja´ na Antigu¨idade surgiu o primeiro
‘paradoxo’ lo´gico quando o cretense Epimeˆnides disse “Todos os cretenses sa˜o mentirosos”. Na
verdade, esta frase na˜o e´ paradoxal, pois ela pode ser tanto verdadeira quanto falsa sem que ocorra
uma contradic¸a˜o.1 Uma frase e´ paradoxal quando ela na˜o pode ser nem verdadeira nem falsa,
1Se um mentiroso e´ algue´m que mente ocasionalmente e toda mentira e´ exatamente o oposto da verdade, enta˜o
esta frase pode ser falsa: Epimeˆnides estava mentindo ocasionalmente ao pronuncia´-la. Se tomarmos ‘mentiroso’
como algue´m que mente sempre, enta˜o esta frase e´ falsa. Se fosse verdadeira, como foi dita por um cretense, ela
estaria dizendo que ela mesmo e´ falsa. Contradic¸a˜o. Como esta frase e´ falsa, Epimeˆnides queria dizer exatamente
3
como “esta frase e´ falsa”. Outro falso paradoxo e´ a frase “toda regra tem excec¸a˜o”.
Paradoxos em geral sa˜o frases que referenciam a si mesmas. Masnem todas as frases deste
tipo sa˜o paradoxais. Por exemplo, a frase “esta frase e´ verdadeira” na˜o e´ paradoxal. Ela pode
perfeitamente ser verdadeira. Grande parte dos paradoxos conte´m uma auto refereˆncia e uma
negac¸a˜o, como “esta frase e´ falsa”.
A lo´gica era uma das disciplinas estudadas tanto na Idade Antiga quanto na Idade Me´dia,
chegando aos tempos modernos. Contudo, aparentemente nada faltava ao estudo da lo´gica e esta
disciplina na˜o foi um to´pico se´rio de pesquisa ate´ meados do se´culo XIX quando recomec¸ou o
interesse no assunto, comec¸ando com Boole, Peano, Fregue e Bertrand Russel. O interesse destes
matema´ticos era prover uma base so´lida para a Matema´tica.
Ha´ inumera´veis tipos de lo´gica como lo´gica cla´ssica, modal, paraconsistente, multivalorada,
intuicionista, fuzzy, temporal, quaˆntica, ... A lo´gica que mais interessa a` Computac¸a˜o e´ a Lo´gica
Matema´tica, que abstrai os racioc´ınios utilizados em Matema´tica. Esta lo´gica utiliza treˆs princ´ıpios
colocados por Aristo´teles:
1. princ´ıpio da na˜o contradic¸a˜o: na˜o e´ verdade que uma proposic¸a˜o A e a sua negac¸a˜o sejam
verdadeiras ao mesmo tempo. Em s´ımbolos (que estudaremos mais tarde), escrevemos
¬(A ∧ ¬A)
2. princ´ıpio do terceiro exclu´ıdo: ou a proposic¸a˜o A ou a sua negac¸a˜o sa˜o verdadeiras. Em
s´ımbolos:
A ∨ ¬A
3. reflexividade da identidade: qualquer coisa e´ igual a si mesma. Em s´ımbolos:
∀x(x = x)
As lo´gicas chamadas cla´ssicas, entre as quais se incluem a lo´gica Matema´tica, seguem os treˆs
princ´ıpios acima. As lo´gicas na˜o cla´ssicas (paraconsistente, multivalorada, fuzzy, quaˆntica, etc)
na˜o seguem um, dois ou treˆs destes princ´ıpios.
No final do se´culo XIX e in´ıcio do se´culo XX surgiram diversos paradoxos lo´gicos, classificados
como sinta´ticos (ou lo´gicos) e semaˆnticos. O paradoxo sinta´tico mais conhecido foi descoberto por
Russel em 1902 enquanto estudava teoria dos conjuntos de Cantor. Os paradoxos aparecem quando
conjuntos podem ser definidos a partir de uma lei ou fo´rmula qualquer. Vejamos o paradoxo.
Considere o conjunto C de todos os conjuntos que na˜o pertencem a si mesmos:
C = {x : x 6∈ x}
A fo´rmula “x 6∈ x” que aparece depois dos “:” e´ a condic¸a˜o para um elemento pertencer ao
conjunto C. Chamaremos esta fo´rmula de A. Enta˜o,
• se um dado y obedece a esta fo´rmula/condic¸a˜o, enta˜o y pertence a C. Em outras palavras,
se y 6∈ y, enta˜o y ∈ C. Por outro lado, se y na˜o obedece a esta fo´rmula (y ∈ y), y 6∈ C. Isto
e´, se y ∈ y enta˜o y 6∈ y;
o contra´rio do que disse, que alguns cretenses na˜o sa˜o mentirosos ! Naturalmente, neste caso Epimeˆnides e´ um
mentiroso.
4
• qualquer y que pertence a C obedece a esta fo´rmula/condic¸a˜o; isto e´, se y ∈ C, enta˜o y 6∈ y.
Se y na˜o pertence a C enta˜o y na˜o obedece a` fo´rmula A. Isto e´, se y 6∈ C, enta˜o y ∈ y.
Pergunta-se: C pertence a C? Vejamos as duas possibilidades:
• sim, C ∈ C. Enta˜o C deve obedecer a` condic¸a˜o/fo´rmula A (x 6∈ x com x = C) do conjunto
C. Enta˜o C 6∈ C. Contradic¸a˜o, pois assumimos que C ∈ C;
• na˜o, C 6∈ C. Enta˜o C obedece a` condic¸a˜o/fo´rmula A necessa´ria para pertencer a` C (x 6∈ x
com x = C) e, portanto, C ∈ C. Contradic¸a˜o.
De qualquer forma, C pertencendo ou na˜o a si mesmo, chegamos a uma contradic¸a˜o.
Os matema´ticos e lo´gicos eliminaram este tipo de contradic¸a˜o da teoria dos conjuntos criando
uma teoria de conjuntos chamada de Zermelo-Fraenkel. Nesta teoria, a condic¸a˜o x 6∈ x na definic¸a˜o
do conjunto C na˜o e´ considerada va´lida. E enta˜o C na˜o e´ considerado um conjunto.
Este paradoxo e´ chamado de sinta´tico porque ele pode ser descrito utilizando a linguagem
formal da Lo´gica de Primeira Ordem (que ainda sera´ visto). Ja´ os paradoxos semaˆnticos na˜o
podem ser descritos utilizando uma linguagem formal.
Ha´ diversos paradoxos semaˆnticos descritos na literatura. Veremos alguns:
1. se a frase “esta frase e´ falsa” for verdadeira, enta˜o ela diz que e´ falsa. Contradic¸a˜o. Se ela
for falsa, enta˜o o contra´rio e´ verdadeiro, ou seja, ela e´ verdadeira;
2. paradoxo de Berry (1906). Ha´ um nu´mero finito de palavras em Portugueˆs e portanto um
nu´mero finito de frases com menos do que vinte palavras. Considere o conjunto de todos os
nu´meros naturais (N) que podem ser definidos com frases com menos do que vinte palavras.
Este conjunto sera´ chamado de M e conte´m os seguintes inteiros, pelo menos: 1 (“um”), 323
(“trezentos e vinte e treˆs”, frase com menos do que vinte palavras), 5 (“o terceiro nu´mero
primo”), 1024 (“a primeira poteˆncia de dois maior do que mil”), 21000000000!! (“o fatorial do
fatorial de dois elevado a um bilha˜o”). Ha´ um nu´mero finito de nu´meros naturais no conjunto
M . Mas quantos? Vamos calcular quantas frases de 20 palavras existem, no ma´ximo. Cada
palavra tem menos do que 100 letras (exagerando!). Enta˜o temos 100 ∗ 20 = 2000 caracteres
para as palavras. Supondo que temos 26 letras (agora o Portugueˆs usa 26 letras), temos no
ma´ximo 262000 frases diferentes com 20 palavras. Calcular o nu´mero ma´ximo de frases com
menos do que vinte palavras fica como exerc´ıcio (e´ uma progressa˜o geome´trica). De qualquer
forma, este nu´mero e´ finito, isto e´, o tamanho do conjunto M e´ finito.
Estariam em M o 0 (“zero”), o 125 (“primeiro quadrado perfeito depois de 100”) e
999999999999999999999999999999
(“um nu´mero composto por trinta noves”). Claramente existe um inteiro n que e´ o maior
elemento de M mais 1. Claramente n na˜o esta´ em M — ele e´ maior do que o maior
elemento de M , embora seja apenas uma unidade maior. Como n e´ apenas o maior elemento
de M mais 1 (e apenas +1), enta˜o n e´ o menor inteiro maior do que o maior elemento
de M , o conjunto dos inteiros que podem ser definidos com menos do que vinte palavras.
Enta˜o “n e´ o menor inteiro que na˜o pode ser definido com menos do que vinte palavras”.
Mas esta frase conte´m menos do que vinte palavras. Logo n pertence a M . Contradic¸a˜o,
pois assumimos que ele na˜o pertencia a este conjunto. Na˜o e´ poss´ıvel definir o conjunto M
sem cair em uma contradic¸a˜o;
5
3. paradoxo de Grelling (1908). Um adjetivo e´ chamado de autolo´gico se a propriedade que ele
denota se aplica a si mesmo, e de heterolo´gico em caso contra´rio. Por exemplo, “vermelho”
e´ heterolo´gico, pois este adjetivo na˜o e´ vermelho (adjetivos na˜o teˆm cor). Ja´ “polissila´bico”
e´ autolo´gico, pois esta palavra possui seis s´ılabas. “Monossila´bico” e´ heterolo´gico pois pos-
sui mais de uma s´ılaba. Pergunta-se: e´ “heterolo´gico” um adjetivo heterolo´gico? Se sim,
a propriedade heterolo´gica na˜o se aplica a` palavra “heterolo´gica” e enta˜o esta palavra e´
autolo´gica. Contradic¸a˜o, pois assumimos que a palavra e´ heterolo´gica. Se “heterolo´gico”
e´ autolo´gico, a propriedade heterolo´gica se aplica a` palavra “heterolo´gico” e portanto esta
palavra e´ heterolo´gica. Contradic¸a˜o novamente.
Os paradoxos semaˆnticos na˜o interessam a` lo´gica que estudaremos, a lo´gica Matema´tica. Eles
envolvem noc¸o˜es da linguagem natural (Portugueˆs) que na˜o ocorrem em Matema´tica.
Comec¸aremos o estudo da lo´gica apresentando os sistemas formais, que sa˜o sistemas capazes
de produzir “sentenc¸as”, chamadas de teoremas, a partir de axiomas e regras. Esta introduc¸a˜o
e´ necessa´ria porque toda lo´gica e´ um sistema formal. Na Sec¸a˜o 3.2, sera´ estudado o ca´lculo
proposicional, que e´ uma lo´gica bem simples e que faz parte da lo´gica que nos interessa, que e´ a
Lo´gica de Primeira Ordem, que sera´ estudada na Unidade 12. A Lo´gica de Primeira Ordem utiliza
os chamados quantificadores universais (para todo x vale a proposic¸a˜o P(x)) e existenciais (existe
x tal que P(x)).
1.3 Considerac¸o˜es Finais
Uma frase e´ paradoxal quando ela na˜o pode ser nem verdadeira nem falsa, como “esta frase e´
falsa”. Ha´ paradoxos sinta´ticos e semaˆnticos, sendo que paraa lo´gica matema´tica o que interessa
sa˜o os paradoxos sinta´ticos, como o paradoxo de Russel.
Ha´ inu´meros tipos de lo´gica: cla´ssica, modal, paraconsistente, fuzzy, quaˆntica, etc, sendo que
a lo´gica que veremos e´ a lo´gica matema´tica, uma das lo´gicas cla´ssicas. O ca´lculo proposicional,
que faz parte da lo´gica matema´tica, e´ a base para a construc¸a˜o de computadores.
1.4 Exerc´ıcios
Atividades Individuais
1.1. Cite treˆs lo´gicas. Qual estudamos neste curso? Por queˆ?
1.2. Fac¸a uma sentenc¸a que na˜o e´ verdadeira nem falsa diferente das que foram apresentadas no
texto.
1.3. Por queˆ a frase “toda regra tem excec¸a˜o” na˜o e´ paradoxal?
1.4. Explique com suas palavras o paradoxo de Berry.
1.5. Explique o paradoxo de Russel.
6
1.6. Procure na Internet algo mais sobre a histo´ria da lo´gica. Alguns to´picos e personagens
interessantes sa˜o:
1. lo´gica na idade me´dia
2. Leibniz
3. Fregue
4. Go¨del
5. Tarski
7
Unidade 2
Sistemas Formais
2.1 Primeiras palavras
Esta Unidade introduz sistemas formais de maneira informal. Um sistema formal e´ uma maneira
de gerar sequ¨eˆncias de s´ımbolos de maneira sistema´tica e precisa. Como exemplo, podemos ter um
sistema formal capaz de gerar todas as expresso˜es aritme´ticas com nu´meros inteiros e operadores
+, − e ∗ (multiplicac¸a˜o). Como exemplos de sequ¨eˆncias deste sistema formal temos 1 + 2, 1 ∗ 2 +
2 ∗ 3 + 3 ∗ 4 e 1 ∗ 2 ∗ 3 ∗ 4 ∗ 5 − 1. Sendo preciso, este sistema formal nunca geraria expresso˜es
incorretas como 1 + ∗2 ou 24∗. A lo´gica matema´tica que estudaremos e´ composta por um sistema
formal mais uma interpretac¸a˜o deste sistema — e´ por este motivo que estudaremos este to´pico.
2.2 Problematizando o Tema
Frequentemente temos um conjunto de elementos de qualquer coisa (nu´meros, palavras, s´ımbolos,
blocos de pla´stico, fo´rmulas, etc) que podem ser constru´ıdos a partir de algumas regras ba´sicas.
Isto e´, dadas as regras e um certo conjunto de pec¸as iniciais, pode-se construir o conjunto todo.
O conjunto pode mesmo ser infinito. Por exemplo, a partir do nu´mero 1 e da soma repetida
do nu´mero 2, podemos construir somas que, quando avaliadas, resultam no conjunto de todos os
nu´meros ı´mpares: 1, 1+2, 1+2+2), . . .. Esta unidade trata justamente deste tipo de “construc¸a˜o”
de conjuntos. A questa˜o e´ como definir esta construc¸a˜o de maneira formal, precisa. E´ este o to´pico
desta unidade.
2.3 Alfabetos, Axiomas e Regras de Sistemas Formais
O que e´ um sistema formal? E´ um sistema que consiste de
1. um alfabeto de s´ımbolos composto por quaisquer s´ımbolos que podem ser colocados no
papel;
8
2. sequ¨eˆncias1 bem definidas de s´ımbolos deste alfabeto chamadas de fo´rmulas. Deve ser
poss´ıvel definir precisamente o que e´ fo´rmula;
3. axiomas (um subconjunto das fo´rmulas) e
4. regras para produzir novas fo´rmulas a partir de outras.
Antes de mais nada, saiba que as palavras fo´rmula, axioma e teorema empregadas nesta
unidade sa˜o definidas de maneira bem diferente do que voceˆ conhece na Matema´tica. Utilize as
definic¸o˜es dadas neste texto e na˜o as relacione com as definic¸o˜es que voceˆ conhece. Em particular,
na˜o considere que um axioma e´ uma proposic¸a˜o verdadeira ou que um teorema e´ algo sobre alguma
entidade matema´tica.
Exemplo 2.1. Como exemplo, vamos definir um sistema formal que chamaremos de S. O alfabeto
poderia ser qualquer coisa, mas utilizaremos apenas os d´ıgitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Enta˜o o
sistema S so´ utilizara´ estes s´ımbolos e nada mais. Note que e´ voceˆ, o criador do sistema formal,
que decide que s´ımbolos utilizar. O alfabeto pode ser qualquer conjunto de s´ımbolos, ate´ mesmo
s´ımbolos que na˜o estejam no teclado e que so´ possam ser desenhados a` ma˜o ou em alguma ferra-
menta de desenho. So´ que a´ı ficaria muito dif´ıcil fazer as coisas. Em resumo, para facilitar, utilize
apenas os s´ımbolos que esta˜o no teclado ou dispon´ıveis no Moodle (para facilitar, utilize apenas os
do teclado). Enta˜o temos que o alfabeto do sistema S e´ o conjunto Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.
Note tambe´m que na˜o estamos nos referindo a estes d´ıgitos como nu´meros inteiros. Sa˜o apenas
s´ımbolos que na˜o sera˜o utilizados como nu´meros, pelo menos por enquanto.
O conjunto de todas as sequ¨eˆncias de s´ımbolos do alfabeto formam um conjunto infinito.
Chamaremos este conjunto de Σ?, que conte´m 0, 1, 2, . . . e qualquer concatenac¸a˜o de s´ımbolos do
alfabeto. Por exemplo, podemos concatenar 0 e 1 para obter 01 e enta˜o 01 ∈ Σ?. Ou podemos
concatenar va´rios s´ımbolos de uma so´ vez, em qualquer ordem, para obter uma sequ¨eˆncia qualquer,
que pertencera´ a` Σ?. Enta˜o os seguintes s´ımbolos pertencem a` Σ?: 01, 787, 754732104823, 5, 6666,
... Em resumo, qualquer nu´mero inteiro, quando considerado apenas como uma sequ¨eˆncia de
s´ımbolos do conjunto Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, pertence a` Σ?.
Um sistema formal na˜o utiliza todas as sequ¨eˆncias de s´ımbolos do alfabeto, o conjunto Σ?. Em
geral, ele utiliza um conjunto menor de s´ımbolos que chamaremos de conjunto de fo´rmulas.
Algumas sequ¨eˆncias de Σ? sera˜o consideradas fo´rmulas e outras na˜o. Quem projeta o sistema
formal decide o que sera´ considerado fo´rmula. Podemos, por exemplo, considerar como fo´rmulas
todas as sequ¨eˆncias que terminam com 1, 3, 5, 7 e 9. Assim, seriam fo´rmulas:
1, 3, 5, 7 9 (um u´nico s´ımbolo termina com ele mesmo)
871, 41, 44445, 382578057, 89, 2323, 98973555
Mas na˜o seriam fo´rmulas as sequ¨eˆncias
8, 4, 44, 444, 382578058, 86, 232, 9897356
Naturalmente, neste caso ha´ infinitas sequ¨eˆncias que sa˜o fo´rmulas e infinitas que na˜o sa˜o.
Para facilitar a definic¸a˜o do nosso sistema S, consideraremos como fo´rmulas todas as sequ¨eˆncias
de s´ımbolos do alfabeto. Assim, o conjunto de fo´rmulas e´ igual a Σ?.
1strings em Ingleˆs
9
O terceiro item a ser definido para um sistema formal e´ o conjunto de axiomas. Um axioma
deve ser um dos elementos do conjunto de fo´rmulas. Voceˆ escolhe quantos e quais elementos deste
conjunto sera˜o axiomas. Escolheremos dois, 0 e 5.
Resta agora definir um conjunto de regras. Uma regra ensina como produzir um teorema.
Pode-se dizer que uma regra toma um ou mais teoremas e produz um outro teorema. Mas o que
e´ um teorema? Em primeiro lugar, por definic¸a˜o todo axioma e´ um teorema. Em segundo lugar,
um teorema e´ uma fo´rmula produzida por uma regra. Note que um teorema tem que ser uma
fo´rmula. Foi por isso que foi dada a definic¸a˜o de fo´rmula!
Como deve ser uma regra? Pode ser praticamente qualquer sequ¨eˆncia de instruc¸o˜es que voceˆ
possa imaginar que tome um ou mais teoremas como entrada e produza um teorema como sa´ıda.
Um exemplo poderia ser:
[R1 - Regra 1] Se x e y sa˜o teoremas, enta˜o xy e´ um teorema.
Sempre utilizaremos um s´ımbolo ao lado do outro, como “xy”, para representar a concatenac¸a˜o
dos s´ımbolos de x e y. Por exemplo, se x e´ 005 e y e´ 050, enta˜o xy e´ 005050.
A regra pega teoremas e produz teoremas, sendo que a definic¸a˜o de “teorema” envolve a
definic¸a˜o de “regra”. Isto parece uma definic¸a˜o circular. Mas na˜o e´, porque a definic¸a˜o de teorema
diz que todo axioma e´ um teorema. Enta˜o para produzir os teoremas do sistema S, comec¸amos
com os axiomas, 0 e 5 e podemos ir aplicando a regra R1 para produzir novos teoremas.
Vejamos alguns:
• 0, pois 0 e´ axioma e todo axioma e´ teorema;
• 5, pois 5 e´ axioma e todo axioma e´ teorema;
• 00, pois podemos usar R1 com x = 0 e y = 0;
• 55, pois podemos usar R1 com x = 5 e y = 5;
• 05, pois podemos usar R1 com x = 0 e y = 5;
• 5505, pois podemos usar R1 com x = 55 e y = 05. Sabemos que 55 e 05 sa˜o teoremas pelos
itens anteriores;
• ...
Em resumo, partimos dos axiomas e, aplicando a regra R1, podemos ir produzindo uma
sequ¨eˆncia infinita de teoremas. Note novamente que todosos axiomas sa˜o teoremas e que to-
dos os teoremas sa˜o fo´rmulas.
Voceˆ pode definir quantas regras quiser, de que modo for necessa´rio. Digamos que o seu
objetivo seja produzir como teoremas todas as fo´rmulas que terminam em 0 ou 5. Enta˜o deveriam
ser teoremas:
0, 5, 10, 15, 20, 25, 30, 35, . . ., 1000, 1005, 2967305, . . ., 98973555, . . .
Para isto, podemos adicionar uma outra regra ao sistema S:
10
Figura 2.1: Relac¸o˜es entre os conjuntos de um sistema formal
[R2 - Regra 2] Se x for um teorema, dx sera´ tambe´m um teorema, no qual d pode ser
qualquer s´ımbolo do alfabeto (mas um u´nico s´ımbolo).
Utilizando a regra R2, temos alguns novos teoremas:
• 10, com d = 1 e x = 0, pois 0 e´ axioma e todo axioma e´ teorema;
• 15, com d = 1 e x = 5, pois 5 e´ axioma e todo axioma e´ teorema;
• 20, com d = 2 e x = 0. Como sabemos, 0 e´ um teorema;
• 25, com d = 2 e x = 5. Como sabemos, 5 e´ um teorema;
• 325, com d = 3 e x = 25. Pelo item anterior, 25 e´ um teorema;
• 8325, com d = 8 e x = 325. Pelo item anterior, 325 e´ um teorema.
As regras podem ser aplicadas em qualquer ordem e qualquer nu´mero de vezes.
�
Voceˆ e´ agora estimulado a fazer o seu pro´prio sistema formal. Defina o alfabeto, o que e´ fo´rmula,
os axiomas e o conjunto de regras. Lembre-se de que, se Σ e´ o alfabeto,Σ? o conjunto de todas as
sequ¨eˆncias poss´ıveis de s´ımbolos do alfabeto, ∆ o conjunto de fo´rmulas, Γ o conjunto de axiomas
e Φ o conjunto de teoremas, as seguintes relac¸o˜es devem ser verdadeiras: Γ ⊂ Φ ⊂ ∆ ⊂ Σ?. Veja
a Figura 2.1.
Ha´ dois outros to´picos importantes sobre sistemas formais. O primeiro e´ o conceito de meta-
teorema. Um meta-teorema e´ um teorema sobre o pro´prio sistema formal. Nesta u´ltima frase
utilizamos a palavra “teorema” no sentido usual da Matema´tica, na˜o no sentido definido nesta
unidade para sistemas formais. Em resumo, um meta-teorema e´ uma proposic¸a˜o sobre o pro´prio
sistema formal. Por exemplo, estude este meta-teorema sobre o sistema formal S dado acima:
[Meta-teorema] Se x e´ um teorema do sistema formal S, enta˜o x termina com 0 ou 5.
Os axiomas sa˜o 0 e 5 e as regras R1 e R2 preservam estes d´ıgitos na u´ltima posic¸a˜o. Confira.
11
Depois que voceˆ define o alfabeto, fo´rmulas, axiomas e regras de um certo sistema formal, estes
obviamente ficam fixados. Se quiser, pode fazer outro sistema com outras regras. Mas as de um
certo sistema formal, como S, ficam fixas.
Veremos agora um outro conceito, que e´ o de “esquema de axioma”. Estudaremos um outro
exemplo de sistema formal para apresentar este conceito.
Exemplo 2.2. Faremos um sistema formal que produza como teoremas todas as combinac¸o˜es
poss´ıveis de consoante/vogal utilizando o alfabeto minu´sculo latino, qualquer nu´mero de vezes.
Mas precisamente, os teoremas devem ser do tipo c1v1c2v2...cnvn no qual ci e´ uma consoante, vi e´
uma vogal e n ∈ N. Isto e´, o sistema formal devera´ produzir todos os seguintes teoremas:
ba, be, bi, bo, bu, da, de, di, do, du, ... za, ze, zi, ze, zu, bada, bade, badi, ... badaca, badace, ...
tadefu, caravela, metalizado, ...
Chamaremos este sistema formal de T. Fica claro que o alfabeto de T deve ser { a, b, c, d, e, f,
g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z }. Agora temos que definir o que e´ fo´rmula. Temos
muitas opc¸o˜es e utilizaremos a mais fa´cil delas: uma fo´rmula e´ qualquer sequ¨eˆncia de s´ımbolos do
alfabeto de T. Enta˜o asfas, fdiemn, jnvcb, y, ym, iq, ... sa˜o fo´rmulas.
O problema esta´ agora. O que deve ser axioma? E o que deve ser regra? Temos que definir as
duas coisas juntas para que, combinadas, possam produzir os teoremas esperados. Uma forma e´
definir todas as combinac¸o˜es de consoante e vogal como axiomas. Assim, o conjunto de axiomas
seria
ba, be, bi, bo, bu, ca, ce, ci, co, cu, da, de, ..., za, ze, zi, zo, zu
Como isto e´ um sistema formal, na˜o poder´ıamos utilizar “...” na definic¸a˜o do conjunto. Ter´ıamos
que escrever todas as 21 ∗ 5 = 105 combinac¸o˜es de consoantes e vogais. E´ muita coisa. Mas feliz-
mente ha´ uma maneira mais fa´cil de fazer isto: utilizando um esquema de axioma:
[Esquema de axioma] Se C e´ uma consoante e V uma vogal do alfabeto de T, enta˜o CV e´ um
axioma.
Este esquema de axioma representa todas as 105 combinac¸o˜es poss´ıveis de axiomas. Qualquer
fo´rmula que se encaixe na definic¸a˜o do esquema de axioma e´ considerado um axioma, o que e´
exatamente o que queremos. Enta˜o ca e´ um axioma, pois “c” e´ uma consoante e “a” e´ uma vogal.
Falta fazer a regra de T. Simples:
[R1 - regra 1] Se x e y sa˜o teoremas, xy e´ teorema.
Enta˜o sa˜o teoremas
• ca, pois ca e´ axioma e todo axioma e´ teorema;
• ra, pois ra e´ axioma e todo axioma e´ teorema;
• cara, pois podemos usar R1 com x = ca e y = ra;
• ve, pois ve e´ axioma e todo axioma e´ teorema;
• carave, pois podemos usar R1 com x = cara e y = ve;
• la, pois la e´ axioma e todo axioma e´ teorema;
12
• caravela, pois podemos usar R1 com x = carave e y = la;
• ...
Podemos ter va´rios meta-teoremas para o sistema R. Vejamos alguns:
[Meta-teorema 1] todo teorema tem um nu´mero par de letras.
[Meta-teorema 2] todo teorema comec¸a com uma consoante.
[Meta-teorema 3] todo teorema termina com uma vogal.
�
O sistema T como definimos satisfaz todas as especificac¸o˜es iniciais. Mas esta na˜o e´ a u´nica
forma de satisfazer aquelas especificac¸o˜es. O que queremos e´ que o sistema produza como teoremas
todas as sequ¨eˆncias c1v1c2v2...cnvn no qual ci e´ uma consoante, vi e´ uma vogal e n ∈ N. Enta˜o
podemos definir um outro sistema U que produz estes teoremas.
Exemplo 2.3. O alfabeto de U e´ o mesmo de T, { a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r,
s, t, u, v, w, x, y, z }. A definic¸a˜o de fo´rmula pode ser: uma sequ¨eˆncia de s´ımbolos s e´ fo´rmula se
comec¸ar por uma consoante e terminar por uma vogal. Claramente, todos os teoremas sa˜o desta
forma, enta˜o esta definic¸a˜o na˜o vai “atrapalhar” a produc¸a˜o de teoremas.
Definiremos um u´nico esquema de axioma:
[Esquema de axioma] Ca, Ce, Ci, Co, e Cu sa˜o axiomas se C for uma consoante do alfabeto de U.
Enta˜o sa˜o axiomas as fo´rmulas ba, be, bi, bo, bu (usando C = b), ca, ce, ci, co, cu (usando C
= c), da, de, ..., za, ze, zi, zo, zu, como esperado.
E definiremos duas regras:
[R1 - regra 1] Se x for um teorema, Cax e Cex sera˜o teoremas, no qual C e´ uma consoante do
alfabeto de U.
[R2 - regra 2] Se x for um teorema, xCi, xCo e xCu sera˜o teoremas, no qual C e´ uma consoante
do alfabeto de U.
Por R1, cara e´ teorema. Vejamos porque: tomando C = c e x = ra, temos que Cax e´ cara. ra
e´ teorema por ser axioma. Este sistema formal e´ mais dif´ıcil de trabalhar do que o sistema T mas
define exatamente o mesmo conjunto de teoremas.
�
Um esquema de axioma pode representar infinitos axiomas. Por exemplo, em um sistema
formal que utiliza o alfabeto {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,+, ?}, um esquema de axioma poderia ser:
[Esquema de axioma] x+ y e´ um axioma se x e y forem sequ¨eˆncias de s´ımbolos compostos apenas
por d´ıgitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Como existem infinitas sequ¨eˆncias de s´ımbolos usando os d´ıgitos, existem infinitos axiomas
neste sistema formal. Por exemplo, seriam axiomas 0 + 1, 28 + 344, 7879 + 45453899, etc.
Exemplo 2.4. Estudaremos apenas mais um exemplo de um sistema formal, que chamaremos de
V. Este sistema utiliza o alfabeto { 0, 1, a, b }. Em V, sa˜o fo´rmulas apenas as sequ¨eˆncias que
13
comec¸am com “a” ou com “0”, como “a0”, “0bb1a0a” e “a0aabbb111000”. Na˜o sa˜o fo´rmulas neste
sistema formal as seguintes sequ¨eˆncias: “b00” e “1bab”.
No sistema V, apenas 01 e ab sa˜o axiomas. As regras do sistema V sa˜o dadas abaixo, nas quais
y e´ uma sequ¨eˆncia de s´ımbolos qualquer do alfabeto de V, podendo inclusive ser vazia.
1. se 0y for um teorema, 0ay sera´ um teorema;2. se ay for um teorema, ayy sera´ um teorema.
Quais sa˜o enta˜o os teoremas de V? Comec¸ando pelos axiomas, os teoremas sa˜o:
1. 01 (axioma)
2. ab (axioma)
3. 0a1 (01 com regra 1)
4. 0aa1 (0a1 com regra 1)
5. ...
6. abb (ab com regra 2)
7. abbbb (abb com regra 2)
8. ...
�
Lembre-se das recomendac¸o˜es iniciais desta unidade: um axioma, como definido aqui, na˜o esta´
diretamente relacionado a` definic¸a˜o de “axioma” da Matema´tica. Em particular, na˜o faz sentido
dizer que um axioma e´ verdadeiro. No sistema S, por exemplo, na˜o faz sentido dizer que 0 e 5 sa˜o
verdadeiros ou falsos. O conceito simplesmente na˜o se aplica aqui.
Uma regra sempre toma um ou mais teoremas como entrada e produz um u´nico teorema como
sa´ıda. Mas ainda resta uma u´ltima questa˜o: o que pode ser uma regra? Praticamente qualquer
coisa que tome um ou mais teoremas e produza um teorema. Vamos dar alguns exemplos. Assuma
que os s´ımbolos que aparecem nos itens pertenc¸am ao alfabeto do sistema formal.
1. se x e y sa˜o teoremas, enta˜o xy e´ teorema (concatenac¸a˜o de x com y, como usual).
2. se x−→y e x sa˜o teoremas, enta˜o y e´ teorema.
3. se ¬A ∨B e A ∨ C sa˜o teoremas, enta˜o B ∨ C sa˜o teoremas;
4. se x e´ teorema e possui um nu´mero par de s´ımbolos, enta˜o 00x11 e´ teorema.
5. se A e´ teorema, enta˜o ∀x(A) e´ teorema.
6. se 0x1 e 000y sa˜o teoremas, enta˜o 1x2y e´ teorema.
14
7. ...
E o que na˜o pode ser uma regra? Vamos dar alguns exemplos:
1. se x e´ teorema e o nu´mero de estrelas no universo for par, enta˜o 0x1 e´ teorema. Na˜o sabemos
nem se o universo e´ finito, quanto mais se o nu´mero de estrelas e´ par ou na˜o;
2. se x e y sa˜o teoremas e se for chover em Paris no dia 30 de julho de 2500, enta˜o xy e´ teorema.
Sem comenta´rios.
Pode-se fazer “regras” na˜o va´lidas utilizando conhecimentos mais avanc¸ados de computac¸a˜o, o
que na˜o podemos mostrar aqui. Finalizando, a definic¸a˜o de regra va´lida e´: se voceˆ pode fazer um
programa de computador que implemente a regra, enta˜o a regra e´ va´lida.
2.4 Visa˜o Alternativa
Um sistema formal pode ser comparado a um conjunto de pec¸as de pla´stico com regras de como
combina´-las (brinquedos do tipo Lego). As pec¸as possuem salieˆncias e depresso˜es para se en-
caixarem umas nas outras. Duas pec¸as quaisquer na˜o necessariamente podem ser agrupadas, pois
elas podem na˜o se encaixar. As regras do sistema formal estariam subentendidas nas salieˆncias
e depresso˜es nas pec¸as. O alfabeto seriam as pro´prias pec¸as, cada pec¸a seria um axioma e um
teorema e´ qualquer agrupamento de pec¸as.
Um sistema formal nada mais e´ do que um jogo de compor pec¸as segundo regras. E observe
que, nestes brinquedos, os s´ımbolos do alfabeto (pec¸as) e os teoremas possuem treˆs dimenso˜es.
2.5 Conexo˜es com a Computac¸a˜o
2.5.1 Regras Como Algoritmos
Uma conexa˜o com a computac¸a˜o foi dada na definic¸a˜o de uma “regra” de um sistema formal. Uma
regra deve poder ser transformada em um algoritmo. E o que e´ exatamente um algoritmo? E´ uma
sequ¨eˆncia de instruc¸o˜es que pode ser colocada em um programa escrito em qualquer linguagem de
programac¸a˜o.2
Como um exemplo, a regra que conecta dois teoremas x e y para criar o teorema xy pode ser
codificada em linguagem Java como
String regra(String f1, String f2) {
return f1 + f2; // + aqui e´ a concatenac¸~ao de strings
}
2Rigorosamente, admite-se que o programa possa alocar uma quantidade potencialmente infinita de memo´ria, o
que na˜o e´ o caso real, ja´ que todos os computadores possuem uma memo´ria finita.
15
2.5.2 Programas Como Sistemas Formais
Podemos encontrar um sistema formal que faz a mesma coisa que um programa qualquer? Apare-
mentemente sim, pois afinal um programa e´ composto de algoritmos e as regras so sistema formal
tambe´m. Veremos que a resposta e´ “sim”. Um programa toma uma entrada, altera-a atrave´s de
sucessivas instruc¸o˜es e no final de sua execuc¸a˜o produz uma sa´ıda.3 Enta˜o um programa qualquer
toma uma sequ¨eˆncia de bits como entrada e produz uma sequ¨eˆncia de bits como sa´ıda feita atrave´s
de sucessivas modificac¸o˜es da entrada. Veremos enta˜o com converter um programa P qualquer em
um sistema formal.
A entrada do programa P corresponde ao u´nico axioma do sistema formal. Enta˜o para cada
combinac¸a˜o P/entrada temos um sistema formal diferente. As regras correspondem a`s alterac¸o˜es
feitas na entrada, pelo programa, atrave´s de suas instruc¸o˜es, ate´ se obter uma sa´ıda. A sa´ıda seria
um teorema do sistema formal. Pode-se assumir que um teorema e´ uma sa´ıda quando tiver um
s´ımbolo especial como u´ltimo cara´ter. Em um caso extremo, ter´ıamos uma u´nica regra que seria
aplicada uma u´nica vez. A regra toma o axioma, que corresponde a` entrada, e produz um teorema,
que corresponde a` sa´ıda. E fim.
Contudo, e´ mais dida´tico imaginarmos que a cada instruc¸a˜o do programa, seja ele feito em
uma linguagem de alto n´ıvel ou em assembler, corresponde a uma regra do sistema formal. Como
exemplo, estudaremos um sistema formal (incompleto !) equivalente a um programa que soma
uma sequ¨eˆncia de nu´meros. O axioma poderia ser a sequ¨eˆncia
100111− 10101− 11111− 1− 10
indicando que queremos calcular 100111 + 10101 + 11111 + 1 + 10.
As regras manipulam os bits de tal forma que o teorema final seja
1011110#
que e´ a soma dos nu´meros presentes no axioma. O # indicaria que nenhuma regra deveria ser
aplicada deste ponto em diante.
O que aconteceu foi que colocamos os nu´meros de entrada, 100111, 10101, 11111, 1 e 10 no
axioma em um formato apropriado, separados por −. Note que o alfabeto deste sistema formal
e´ {0, 1,−,#}. Depois de aplicar as regras do sistema va´rias vezes, obtemos um teorema (que
e´ sempre terminado por # por nossa convenc¸a˜o). As regras produzem uma sequ¨eˆncia de bits
que e´ exatamente a somato´ria dos nu´meros iniciais. Observe que temos que passar a entrada
para o formato esperado pelo sistema formal e interpretar a sa´ıda de acordo com a convenc¸a˜o
que utilizamos. Note que as regras nada sabem sobre esta nossa convenc¸a˜o — regras fazem
manipulac¸o˜es mecaˆnicas de s´ımbolos sem conhecer a semaˆntica deles. Naturalmente, as regras na˜o
violam o significado da nossa convenc¸a˜o, elas de alguma forma sa˜o coerentes com o que queremos
do programa.
E quanto a`s regras deste sistema formal, com seriam elas? Tudo o que podemos dizer e´ que
seriam um tanto complexas para serem colocadas aqui, mas que existem. Para compreender isto,
basta dizer que elas seriam equivalente a`s instruc¸o˜es do assembler de um computador como mov,
add, xor, etc.4
3Na˜o precisamos considerar os programas interativos que tomam entradas e produzem sa´ıdas durante a sua
execuc¸a˜o — simplesmente podemos considerar que estes programas comec¸am uma nova execuc¸a˜o apo´s uma nova
entrada e terminam a sua execuc¸a˜o apo´s uma sa´ıda.
4A primeira regra seria aplicada se a sequ¨eˆncia na˜o comec¸asse com #. A partir da´ı as regras iriam numerando
as sequ¨eˆncias ate´ que se chegue ao teorema final, que termina com #. Para exemplificar, se o axioma e´ 101 − 11,
16
Figura 2.2: Treˆs gerac¸o˜es de um autoˆmato celular
2.5.3 Autoˆmato Celular e Jogo da Vida
Existe uma aplicac¸a˜o direta, simples e interessante de sistemas formais em computac¸a˜o ? Sim,
existe, e se chama Jogo da Vida. O jogo da vida e´ um autoˆmato celular que pode (deve !) ser
implementado por um programa e que mostra o nascimento e morte de ce´lulas (quadradinhos) a
cada vez que suas regras sa˜o aplicadas. O jogo da vida, apesar do nome, na˜o e´ um jogo, e´ um
sistema formal cuja observac¸a˜o nos e´ muito u´til para a compreensa˜o dos sistemas formais.
Um autoˆmato celular [11] consiste de um conjunto quadriculado de ce´lulas infinito, cada uma
das quais podendo estar em um conjunto finito de estados, representados por cores. O quadriculadopode ter qualquer nu´mero finito de dimenso˜es, embora utilizaremos duas dimenso˜es nesta Unidade.
Enta˜o o autoˆmato pode ser representado no plano. A Figura 2.2 mostra treˆs autoˆmatos celulares
de duas dimenso˜es onde cada ce´lula pode estar em um de dois estados: branco ou preto. Um
autoˆmato celular se modifica em intervalos discretos de tempo. A cada passo, intervalo discreto,
novos valores de estado sa˜o calculados para cada ce´lula baseado em um nu´mero finito de ce´lulas
vizinhas. A ce´lula assume este novo estado no pro´ximo passo, tambe´m chamado de pro´xima
gerac¸a˜o. Por exemplo, o valor de uma ce´lula pode ser calculado considerando-se os estados das
duas ce´lulas verticais e duas ce´lulas horizontais adjacentes a ela. Se o autoˆmato tem n estados,
haveria n4 diferentes possibilidades de ca´lculo para cada ce´lula. Cada ce´lula utiliza a mesma func¸a˜o
de ca´lculo, independentemente de onde ela estiver. Esta func¸a˜o de ca´lculo sera´ chamada de “regra”
para ca´lculo do estado da ce´lula.
A Figura 2.2 mostra um autoˆmato onde a func¸a˜o que calcula o pro´ximo estado de uma ce´lula
considera todos os vizinhos imediatos da ce´lula: duas ce´lulas horizontais, duas verticais e quatro
diagonais. A func¸a˜o retorna o estado preto se o nu´mero de ce´lulas vizinhas pretas (sem contar
com a pro´pria ce´lula) for ı´mpar. Caso contra´rio retorna o estado branco. A Figura mostra treˆs
gerac¸o˜es de um autoˆmato. O leitor e´ convidado a conferir a mudanc¸a de cores das ce´lulas desta
Figura.
O jogo da vida [4] e´ um autoˆmato celular inventado por John Conway na de´cada de 60. O
autoˆmato utiliza dois estados, branco e preto. O jogo da vida pode utilizar regras quaisquer para
passar de uma gerac¸a˜o para outra. Citamos abaixo as regras originais de Conway. Estas regras
ensinam como calcular a cor de uma ce´lula baseada nas cores das ce´lulas adjacentes da gerac¸a˜o
anterior. Cada ce´lula possui oito vizinhos: dois horizontais, dois verticais e quatro diagonais.
a sequ¨eˆncia de teoremas poderia ser #0#101 − 11, #1#..., #2#..., ..., 1000#. O nu´mero no in´ıcio da sequ¨eˆncia
funciona com o contador de programa (PC) ou estado de uma ma´quina de estados finitos. Note que as regras podem
utilizar a sequ¨eˆncia sendo transformada para armazenar nu´meros intermedia´rios — seria a memo´ria do computador.
17
Figura 2.3: Quatro gerac¸o˜es de um jogo da vida
Regras:
• uma ce´lula preta com dois ou treˆs vizinhos pretos sobrevive para a pro´xima gerac¸a˜o; isto e´,
continua preta;
• uma ce´lula preta com um vizinho preto ou nenhum e´ substitu´ıda por uma ce´lula branca
(vazia). E´ como se a ce´lula morresse por solida˜o;
• uma ce´lula preta com quatro ou mais vizinhos pretos e´ substitu´ıda por uma ce´lula branca.
E´ como se a ce´lula morresse por superpopulac¸a˜o;
• uma ce´lula branca que possui exatamente treˆs ce´lulas vizinhas pretas e´ substitu´ıda por uma
ce´lula preta na pro´xima gerac¸a˜o.
A Figura 2.3 representa quatro gerac¸o˜es de um jogo, indicadas por g1, g2, g3 e g4. O leitor e´
convidado a aplicar as regras acima em uma gerac¸a˜o para conseguir chegar a` pro´xima. Cada regra
deve ser aplicada baseada na gerac¸a˜o anterior, na˜o na gerac¸a˜o que voceˆ esta´ montando atualmente.
Veremos como a gerac¸a˜o 2 foi constru´ıda a partir da 1. Por convenieˆncia, numeramos as ce´lulas.
As ce´lulas 10 e 12 de g1, brancas, sa˜o adjacentes a treˆs ce´lulas pretas. Estas ce´lulas ficam pretas na
gerac¸a˜o 2 — confira em g2. Em g1, a ce´lula preta 18 e´ adjacente a cinco ce´lulas pretas. Esta ce´lula
torna-se branca na gerac¸a˜o 2. As regras na˜o se aplicam a nenhuma outra ce´lula e terminamos a
sua aplicac¸a˜o, obtendo g2.
Para obter g3, note que as u´nicas ce´lulas que sera˜o modificadas sa˜o 4, 11, 16 e 20. A 4 se torna
preta, pois tem treˆs vizinhas pretas em g2. A ce´lula 11 tem quatro vizinhos pretos em g2 e enta˜o
fica branca em g4. Tanto 16 quanto 20 sa˜o brancas e teˆm treˆs vizinhos pretos em g2 e, portanto,
ficam pretas em g3.
O jogo da vida e´ um jogo fascinante, interessante, embora extremamente simples. Chamando a
configurac¸a˜o de ce´lulas brancas e pretas de “padra˜o”, ha´ padro˜es que, depois de um certo nu´mero
de gerac¸o˜es:
• se repetem, entrando enta˜o em um lac¸o infinito. A configurac¸a˜o pode ficar enorme e depois
diminuir ate´ conter apenas poucas ce´lulas pretas;
• atingem um estado esta´vel, na˜o mais se modificando. Como um exemplo, um quadrado
formado por quatro ce´lulas pretas, isoladas de quaisquer outras ce´lulas, nunca se modifica;
18
• se tornam sime´tricos, apesar do padra˜o iniciar na˜o o ser.
Ha´ ainda padro˜es que “se movem” atrave´s do quadriculado, que criam e disparam padro˜es que
se movem (como um canha˜o que atira um proje´til) e outros que crescem sem parar. O leitor e´
convidado a pesquisar na Internet e experimentar com as dezenas de implementac¸o˜es do jogo da
vida dispon´ıveis na world wide web.
2.5.4 Grama´ticas Como Sistemas Formais
Uma grama´tica G e´ uma qua´drupla (N, Σ, P, S) onde
• N e´ o conjunto de s´ımbolos na˜o-terminais;
• Σ e´ o conjunto de s´ımbolos terminais;
• P e´ um conjunto de produc¸o˜es;
• S e´ o s´ımbolo na˜o-terminal inicial da grama´tica.
Como um exemplo, considere uma grama´tica G que expressa algumas expresso˜es aritme´ticas
va´lidas. O conjunto N = { E, T, N }, Σ = { 0, 1, 2, . . . 9 }, S e´ o s´ımbolo E e o conjunto P e´
composto pelas “regras de produc¸a˜o” dadas a seguir:
1. E ::= E + T
2. E ::= T
3. T ::= T ∗ N
4. T ::= N
5. N ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 7 | 8 | 9
O s´ımbolo | na˜o faz parte da grama´tica, sendo utilizado apenas para significar “ou”. Assim,
na regra 5 acima, N e´ 0 ou 1 ou ... 9. Pode-se eliminar o s´ımbolo | escrevendo-se dez regras para
N:
N ::= 0
N ::= 1
. . .
N ::= 9
A grama´tica G e´ utilizada para produzir sequ¨eˆncias de s´ımbolos partindo-se do s´ımbolo inicial
E e substituindo-se E por E + T ou T de acordo com a primeira “regra de produc¸a˜o” dada acima.
A partir da´ı, pode-se substituir qualquer dos s´ımbolos na˜o terminais, do conjunto N, pelo lado
direito de “::=” de qualquer regra de produc¸a˜o. Por exemplo, pode-se substituir T por T ∗ N ou
N. Uma sequ¨eˆncia de substituic¸o˜es e´ chamada de derivac¸a˜o. Como exemplo, apresentamos uma
derivac¸a˜o de E onde cada passo e´ seguido do s´ımbolo =⇒ .
E =⇒ E + T =⇒ T + T =⇒ N + T =⇒ 1 + T =⇒ 1 + N =⇒ 1 + 2
No primeiro passo utilizamos a regra 1, no segundo a regra 2 e no terceiro a regra 4.
19
A cada grama´tica G pode-se associar um sistema formal SFG tal que alguns dos teoremas deste
sistema correspondem a`s sentenc¸as que podem ser produzidas pela grama´tica. SFG utiliza um
alfabeto contendo os s´ımbolos terminais e na˜o terminais de G. O u´nico axioma e´ o s´ımbolo inicial
da grama´tica. As regras de deduc¸a˜o de SFG sa˜o baseados nas regras de produc¸a˜o da grama´tica.
Uma regra de produc¸a˜o
A ::= α
resulta em uma regra
em um teorema qualquer, A pode ser substitu´ıdo por α
do sistema formal.
Na grama´tica dada acima, o sistema formal teria como alfabeto o conjunto { E, T , N , +, ∗,
0, 1, ... 9 }. O axioma seria o s´ımbolo E e as regras de deduc¸a˜o seriam:
1. Em um teorema qualquer, E pode ser substitu´ıdo por E + T ou T ;
2. Em um teorema qualquer, T pode ser substitu´ıdo por T ∗N ou N ;
3. Em um teorema qualquer, N pode ser substitu´ıdo por 0 ou 1 ou ... ou 9.
Faremos alguns exemplos de deduc¸a˜o de teoremas neste sistema formal:
(a) 1. E
2. E + T
3. T + T
4. N + T
5. N +N
6. 0 +N
7. 0 + 1
(b) 1. E
2. E + T
3. E + T ∗N
4. E + T ∗ 3
5. E +N ∗ 3
6. E + 5 ∗ 3
7. T + 5 ∗ 3
8. N + 5 ∗ 3
9. 7 + 5 ∗ 3
(c) 1. E
2. T
3. N
4. 2
20
Figura 2.4: Numerac¸a˜o de s´ımbolos em um sistema formal em duas dimenso˜es
Um teorema em que na˜o ocorre nenhum s´ımbolo na˜o terminal e´ chamado de sentenc¸a da
grama´tica.Assim, sa˜o sentenc¸as desta grama´tica os teoremas 0 + 1, 7 + 5 ∗ 3 e 2. Qualquer
linguagem de programac¸a˜o pode ser descrita por uma grama´tica e os programas va´lidos podem
ser gerados por um sistema formal como descrito acima.5
2.5.5 Suposic¸o˜es Impl´ıcitas
Ao apresentar um sistema formal, admitimos que o alfabeto deve ser apresentado em uma u´nica
dimensa˜o, uma linha. Poder´ıamos ter um sistema formal (SF) que utiliza duas dimenso˜es? Clara-
mente, sim. Mas este SF poderia ser mais poderoso do que qualquer SF convencional, unidimen-
sional? Isto e´, haveria um SF em duas dimenso˜es que jamais poderia ser simulado em uma u´nica
dimensa˜o?
Na˜o, qualquer sistema formal de duas dimenso˜es poderia ser simulado em uma u´nica dimensa˜o.
Para mostrar como, observe a figura 2.3. Um conjunto de s´ımbolos colocado neste quadriculado,
de duas dimenso˜es, poderia ser mapeado para uma dimensa˜o seguindo-se os nu´meros em ordem
crescente. Se um axioma fosse os nu´meros da figura (a), em duas dimenso˜es, o axioma correspon-
dente seria, em uma dimensa˜o, igual a 1, 2, 3, 4, 5, 6, 7, 8, . . .. As setas da figura (b) indicam como
seriam mapeados os s´ımbolos. Desta forma, pode-se converter qualquer fo´rmula bidimensional em
uma fo´rmula unidimensional. E mais importante, de maneira biun´ıvoca: a cada fo´rmula bidimen-
sional corresponde a uma u´nica fo´rmula unidimensional e vice-versa. Possivelmente ter´ıamos que
introduzir um s´ımbolo no sistema formal de uma dimensa˜o para representar um quadrado vazio
no sistema formal de duas dimenso˜es. Mas pode ser feito.
E quanto a`s regras? Podemos converter uma regra que manipula fo´rmulas em duas dimenso˜es
para uma regra que manipula fo´rmulas em uma dimensa˜o? Claramente, sim. Existe uma func¸a˜o
que mapeia cada posic¸a˜o do quadriculado em uma posic¸a˜o unidimensional. Utilizando esta func¸a˜o,
o mapeamento entre a regra bidimensional e a regra unidimensional torna-se trivial. Basta aplicar
a func¸a˜o sempre que a regra bidimensional referir-se a` posic¸a˜o um s´ımbolo. E que func¸a˜o e´ esta?
Se ela se chama f e adotarmos que a posic¸a˜o 0 do exemplo (a) e´ (0, 0), enta˜o ter´ıamos f(0, 0) = 0,
f(1, 0) = 1, f(1, −1) = 2, f(0, −1) = 3, etc. Fazer esta func¸a˜o fica como exerc´ıcio ao leitor.
Observe que racioc´ınio acima pode ser generalizado para treˆs ou mais dimenso˜es.
5O sistema formal certamente produzira´ alguns teoremas que na˜o correspondem a programas va´lidos, que neste
caso seriam programas sintaticamente corretos mas com erros semaˆnticos (utilizando a terminologia de Compi-
ladores).
21
Uma outra suposic¸a˜o impl´ıcita na apresentac¸a˜o dos sistemas formais foi a de que existe uma
quantidade finita de s´ımbolos do alfabeto. Esta suposic¸a˜o e´ necessa´ria pois pode-se provar que
nenhuma regra consegue manipular uma quantidade infinita de s´ımbolos. Afinal, as regras podem
ser implementadas em um computador e nenhum computador consegue manipular uma quantidade
infinita de informac¸a˜o. Contudo, poder-se-ia criar um sistema em que o alfabeto contivesse uma
quantidade na˜o enumera´vel de s´ımbolos. Como exemplo, o alfabeto poderia ser os nu´meros reais.
Mas este sistema na˜o seria um “sistema formal” como o conhecemos.
Na˜o seria poss´ıvel um sistema formal onde a criac¸a˜o de teoremas fosse feita de maneira cont´ınua?
Como definido neste Cap´ıtulo, um teorema e´ obtido depois de n passos, n inteiro. E se n pudesse
ser um nu´mero real? Uma regra deveria tomar na˜o so´ as premissas como paraˆmetros como tambe´m
n real. Haveria um cont´ınuo entre os axiomas e teoremas. Aparentemente, nada de novo poderia
ser ganho com esta ide´ia.
Um axioma e´ um conjunto bem definido de s´ımbolos. Esta e´ uma suposic¸a˜o impl´ıcita na
definic¸a˜o de sistema formal. Poderia ser diferente. Um axioma X poderia ser definido como todas
as fo´rmulas B tal que a distaˆncia entre A e B fosse menor do que 1, onde A e´ uma fo´rmula fixada.
A distaˆncia entre duas fo´rmulas poderia ser definida por um algoritmo. Enta˜o o axioma X seria
composto por todas as fo´rmulas cuja distaˆncia de A e´ menor do que 1. Um axioma e´ agora uma
nuvem de fo´rmulas, na˜o apenas uma.
2.6 Considerac¸o˜es Finais
Sistemas formais sa˜o uma forma de produzir novas sequ¨eˆncias de s´ımbolos a partir de regras e
s´ımbolos iniciais. Informalmente, podemos dizer que eles sera˜o usados em lo´gica para, a partir de
verdades, produzir outras verdades. Os axiomas da nossa lo´gica sera˜o as “verdades” e as regras
de infereˆncia sera˜o as regras da lo´gica, como “se A e B sa˜o verdades, enta˜o A e´ verdade” ou “Se
todos os peixes sa˜o vermelhos, enta˜o existe um peixe que e´ vermelho”. A primeira frase e´ o´bvia e
por isso pode ser dif´ıcil de entendeˆ-la.
2.7 Exerc´ıcios
2.1. Explique o que e´ um sistema formal, axioma, regra de deduc¸a˜o, teorema e meta-teorema.
2.2. Fac¸a um sistema formal que utilize um alfabeto de pelo menos dez s´ımbolos, tenha pelo menos
cinco axiomas e pelo menos treˆs regras de deduc¸a˜o.
2.3. Fac¸a um sistema formal produza os mesmos teoremas que o sistema S.
2.4. Explique o funcionamento de um autoˆmato celular. As regras podem ser modificadas ou
obrigatoriamente devem ser como definidas no texto?
2.5. Fac¸a configurac¸o˜es (que ce´lulas sa˜o pretas?) para o jogo da vida de tal forma que as cores
das ce´lulas nunca mudem.
2.6. Fac¸a um sistema formal que utilize os d´ıgitos como alfabeto e que produza como teoremas
sequ¨eˆncias de s´ımbolos s tal que s, quando interpretado como um nu´mero, seja divis´ıvel por 2.
22
Assim, seriam teoremas {2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, . . .}. Fac¸a um meta-teorema para este
sistema formal.
2.7. Fac¸a um sistema formal produza os mesmos teoremas que o sistema S e que utilize um
esquema de axioma.
2.8. Seja S o sistema formal que utiliza o alfabeto { E, T , N , +, ∗, 0, 1, ... 9 }. O u´nico axioma
e´ E e qualquer sequ¨eˆncia de s´ımbolos e´ uma fo´rmula. As regras de deduc¸a˜o sa˜o:
1. Em um teorema qualquer, E pode ser substitu´ıdo por E + T ou T ;
2. Em um teorema qualquer, T pode ser substitu´ıdo por T ∗N ou N ;
3. Em um teorema qualquer, N pode ser substitu´ıdo por 0 ou 1 ou ... ou 9.
Escreva alguns teoremas deste sistema formal. Alguns teoremas nunca podera˜o ser utilizados
para a construc¸a˜o de outros teoremas, pois eles na˜o possuem as letras E, T ou N . Com o que se
parecem estes teoremas?
2.9. Fac¸a configurac¸o˜es (que ce´lulas sa˜o pretas?) para o jogo da vida de tal forma que as ce´lulas
pretas desaparec¸am:
(a) em uma u´nica gerac¸a˜o;
(b) em duas gerac¸o˜es;
(c) em treˆs gerac¸o˜es.
23
Unidade 3
Introduc¸a˜o ao Ca´lculo Proposicional
3.1 Primeiras palavras
Considere os seguintes fatos, considerados verdadeiros.
1. Joa˜o gosta de pizza ou gosta de futebol;
2. Se Joa˜o na˜o gosta de Maria, enta˜o Joa˜o na˜o gosta de pizza ;
3. Joa˜o na˜o gosta de futebol e Joa˜o na˜o mora em Sa˜o Paulo.
Pergunta-se: Joa˜o gosta da Maria? Usamos a palavra “ou” para indicar o “ou” na˜o exclusivo. Isto
e´, em “A ou B” podemos ter ambos verdadeiros.
Pode-se resolver esta questa˜o sem utilizar nenhuma te´cnica e nenhuma lo´gica formal. Contudo,
o objetivo desta disciplina e´ formalizar este tipo de questa˜o e formalizar te´cnicas para resolveˆ-
las. Em primeiro lugar, temos que converter estas frases para fo´rmulas que sejam mais facilmente
manipula´veis do que frases. Mas antes de fazer isto, temos que definir que linguagem utilizaremos.
E´ esta linguagem que este Cap´ıtulo define.
3.2 A Linguagem do Ca´lculo Proposicional
Uma lo´gica possui uma parte composta por axiomas, teoremas, provas e regras como definido na
Unidade 2. Esta parte e´ chamada de sintaxe, pois se interessa apenas pela forma dos axiomas e
teoremas, sem se importar com o que eles significam. Um teorema e´ apenas uma sequ¨eˆncia de
s´ımbolos que na˜o significam nada para o estudo sinta´ticoda lo´gica. Quando associamos significado
aos s´ımbolos, os teoremas passam a significar alguma coisa. Esse aspecto de uma lo´gica e´ chamada
de semaˆntica.
O Ca´lculo Proposicional (CP) e´ uma lo´gica bem simples que sera´ incorporada a` Lo´gica de
Primeira Ordem, a ser vista em Unidades futuras. O CP e´ um sistema formal (pois e´ uma lo´gica)
cuja linguagem usa o alfabeto composto por: ¬, ∨, (, ) e as letras Vi com inteiros positivos como
subscritos: V1, V2, ... Os s´ımbolos ¬ e ∨ sa˜o chamados de conectivos primitivos e as letras Vi sa˜o as
24
varia´veis. O s´ımbolo ¬ leˆ-se “negac¸a˜o” ou “na˜o e´ verdade que”. O s´ımbolo ∨ e´ chamado de “ou”.
Na˜o se confunda: estes conectivos possuem estes nomes mas sa˜o ta˜o somente s´ımbolos no papel
sem qualquer significado. Enta˜o “¬A” leˆ-se “na˜o A” mas no estudo sinta´tico isto na˜o significa que
estamos afirmando que A seja falsa. Sa˜o apenas dois s´ımbolos, ¬ e A, lado a lado.
As fo´rmulas do ca´lculo proposicional sa˜o definidas como
(a) uma varia´vel e´ uma fo´rmula;
(b) ¬A e (A ∨B) sa˜o fo´rmulas se A e B sa˜o fo´rmulas;
(c) fo´rmulas sa˜o descritas apenas pelos itens (a) e (b).
Enta˜o sa˜o fo´rmulas: V1, V5, ¬V2, (V1 ∨ V5), ¬(V14 ∨ V7), ¬¬(V1 ∨ (V2 ∨ V3)) e
(¬(V7 ∨ V1) ∨ (¬V1 ∨ V7)).
Quando um s´ımbolo e´ utilizado para significar uma fo´rmula qualquer, este s´ımbolo e´ chamado
de meta-fo´rmula. Neste livro utilizaremos as letras A, B, C, ... para meta-fo´rmulas a menos de
menc¸a˜o em contra´rio. Enta˜o se tivermos uma fo´rmula A ∨B, esta fo´rmula na verdade representa
infinitas fo´rmulas: tanto A como B podem ser substitu´ıdas por qualquer fo´rmula va´lida do Ca´lculo
Proposicional.
Definiremos agora outros conectivos lo´gicos a partir de ¬ e ∨:
D1 (A ∧B) e´ ¬(¬A ∨ ¬B);
D2 (A−→B) e´ (¬A ∨B);
D3 (A←→B) e´ (A−→B) ∧ (B−→A).
Estes sa˜o chamados de conectivos derivados. Estas definic¸o˜es sa˜o ta˜o somente abreviaturas: uma
fo´rmula V1∧V2, por exemplo, e´ apenas a abreviatura de ¬(¬A1∨¬A2). Os conectivos ∧, −→ e←→
leˆem-se “e”, “implica” e “se e somente se”. O conectivo←→ tambe´m e´ chamado de bicondicional.
Em A−→B, chamamos A de antecedente e B de consequ¨ente.
Para facilitar a escrita e leitura de fo´rmulas, omitiremos os pareˆnteses sempre que na˜o hou-
ver ambigu¨idade. E convencionaremos que os conectivos lo´gicos seguem a seguinte ordem de
precedeˆncia, do maior para o menor: ¬, ∧, ∨, −→ e ←→. Apesar de ∧ ter maior precedeˆncia do
que ∨, usualmente na˜o escreveremos A∧B∨C e sim o mais leg´ıvel (A∧B)∨C. Os conectivos sa˜o
associados a` esquerda: se B estiver entre dois conectivos iguais, B e´ associado com o conectivo da
esquerda. Assim, A−→B−→C e´ o mesmo que (A−→B)−→C.
Com esta convenc¸a˜o, as fo´rmulas podem ser escritas de maneira mais leg´ıvel:
fo´rmula original fo´rmula resumida
(¬A)←→(B ∧ C) ¬A←→B ∧ C
((A−→B)−→C)←→((B ∧ A) ∧D) A−→B−→C←→B ∧ A ∧D
Iremos mostrar como converter o exemplo dado no in´ıcio do Cap´ıtulo para uma fo´rmula do CP.
25
Exemplo 3.1. Associaremos letras a pedac¸os de frases que podem ser verdadeiros ou falsos (em-
bora, por enquanto, na˜o estamos interessados na verdade ou falsidade de fo´rmulas).
1. A e´ “Joa˜o gosta de pizza”
2. B e´ “Joa˜o gosta de futebol”;
3. C e´ “Joa˜o mora em Sa˜o Paulo”;
4. D e´ “Joa˜o gosta de Maria”.
Convertendo as frases para fo´rmulas, temos:
1. (A ∨B) para Joa˜o gosta de pizza ou gosta de futebol;
2. (¬D−→¬A) para Se Joa˜o na˜o gosta de Maria, enta˜o Joa˜o na˜o gosta de pizza;
3. (¬B ∧ ¬C) para Joa˜o na˜o gosta de futebol e Joa˜o na˜o mora em Sa˜o Paulo.
Queremos saber se estas fo´rmulas implicam em D, que significa “Joa˜o gosta de Maria”. A resposta
sera´ vista na Unidade 11.1.
�
3.3 Considerac¸o˜es Finais
A lo´gica precisa de uma linguagem formal para se expressar. Se as fo´rmulas lo´gicas fossem ex-
pressas utilizando a linguagem natural, Portugueˆs no caso, ter´ıamos ambigu¨idades, dificuldades
de entendimento e outros problemas de comunicac¸a˜o que sa˜o da l´ıngua portuguesa, na˜o da lo´gica.
E´ por isso que, para cada lo´gica, define-se uma linguagem formal e define-se exatamente o que e´
permitido nela.
3.4 Exerc´ıcios
3.1. Remova o maior nu´mero poss´ıvel de pareˆnteses das seguintes fo´rmulas
((A ∧B) −→ (¬(B) −→ (B −→ A)) ∧ C
(((A ∧B)−→(¬(B)−→(B−→A))) ∧ C)
(¬A−→(B ∨ C))←→(((A ∧B) ∨ C)←→A)
(A ∧B) ∧ C
(A ∨B)←→(A−→¬B)
3.2. Os conectivos ←→, ∧ e −→ fazem parte da linguagem do CP?
3.3. Joa˜o gosta de Maria?
26
3.4. Rigorosamente, e´ A∨B realmente uma fo´rmula do CP? Explique o que e´ uma meta-fo´rmula.
3.5. Quais sequ¨eˆncias de s´ımbolos abaixo sa˜o fo´rmulas do CP?
(a) ¬¬¬¬A−→A ∧ ¬A
(b) ∨ ∧ ABA
(c) ((A1−→A2) ∨ A1
27
Unidade 4
Semaˆntica do Ca´lculo Proposicional
4.1 Primeiras palavras
O estudo semaˆntico de uma lo´gica e´ o estudo do significado que podemos dar a`s fo´rmulas da
linguagem. No ca´lculo proposicional, associaremos o significado esperado a`s fo´rmulas. Isto e´, cada
fo´rmula podera´ ser verdadeira ou falsa de acordo com o valor de suas varia´veis.
4.2 Problematizando o Tema
Como associar um significado a uma fo´rmula como A ∨B ou A ∧B ∧ C? Claramente, a primeira
fo´rmula e´ verdadeira se A ou B e´ verdadeiro. Sera´ esta definic¸a˜o precisa? O que significa o “ou”
da frase “a primeira fo´rmula e´ verdadeira se A ou B e´ verdadeiro”? Sera´ que este “ou” significa
que se ambos A e B forem verdadeiros, a frase e´ falsa? Isto e´, o “ou” e´ exclusivo? Isto e´, A ∨B e´
falso se A e B forem verdadeiros? Para retirar a ambigu¨idade da definic¸a˜o de verdade por meio de
palavras, precisamos de uma definic¸a˜o mais precisa de verdade. E´ isso que esta Unidade apresenta.
Contudo, antes de estudar este to´pico, veremos como fazer a ligac¸a˜o entre o “mundo real” e as
fo´rmulas do CP.
4.3 Mapeamento de Frases para o Ca´lculo Proposicional
Algumas frases escritas em linguagem natural (exemplo: Portugueˆs) podem ser mapeadas na
linguagem do ca´lculo proposicional. Por exemplo, a frase “Se na˜o fizer sol hoje, vai chover” resulta
na fo´rmula “A−→B” na qual A e´ “na˜o vai fazer sol hoje” e B e´ “vai chover”. Se preferir, poderia
ser ¬A−→B, na qual A e´ “vai fazer sol hoje”. Estude as frases seguintes e suas fo´rmulas do CP
correspondentes:
1. Na˜o e´ verdade que, se na˜o fizer sol hoje, vai chover. A fo´rmula correspondente e´ ¬(¬A−→B)
na qual A e´ “vai fazer sol hoje” e B e´ “vai chover”;
28
2. Ele e´ o presidente ou o diretor. A fo´rmula correspondente e´ A ∨ B, na qual A e´ “Ele e´
presidente” e B e´ “Ele e´ diretor”;
3. Se o Joa˜o ou Pedro estivessem aqui, o problema seria resolvido. A fo´rmula correspondente e´
A∨B−→C, A e´ “Joa˜o esta´ aqui”, B e´ “Pedro esta´ aqui”, C e´ “O problema esta´ resolvido”.
Note que, quando lemos a fo´rmula lo´gica, mudamos os tempos verbais para o condicional;
4. Se i < 0, havera´ um erro e uma mensagem de erro sera´ impressa. A fo´rmula correspondente
e´ A−→B ∧ C, A e´ “i < 0”, B e´ “ha´ um erro”, C e´ “uma mensagem de erro e´ impressa”;
5. Se o supervisor vier hoje e souber do problema, ou seremos demitidos ou transferidos. A
fo´rmula correspondente e´ A ∧ B−→C ∨D, A e´ “o supervisor vem hoje”, B e´ “o supervisor
sabe do problema”, C e´ “seremos demitidos”, D e´ “seremos transferidos”;
6. Ele nasceu em Sa˜o Paulo, Minas ou Bahia, A ∨B ∨C, A e´ “Ele nasceu em Sa˜o Paulo”, B e´
“Ele nasceu em Minas”, C e´ “Ele nasceu na Bahia”;
7. o nu´mero sera´ ı´mpar se e somente se o seu quadrado for ı´mpar. A fo´rmula correspondente e´
A←→B onde A e´ “o nu´mero e´ ı´mpar” e B e´ “o quadrado do nu´mero e´ ı´mpar”;
8. Se o nu´mero for ı´mpar, o seu quadrado tambe´m o sera´. Se o quadrado do nu´mero for ı´mpar,
enta˜o o nu´mero sera´ ı´mpar. A fo´rmula correspondente e´ (A−→B) ∧ (B−→A) na qual A e´
“o nu´mero e´ ı´mpar” e B e´ “o quadrado do nu´mero e´ ı´mpar”;
4.4 Verdade e Falsidade
Cada varia´vel que aparece em umafo´rmula pode receber um de dois valores: V ou F. Tanto faz o
nome destes valores, poderia ser 0 e 1, T e F, qualquer coisa. A u´nica exigeˆncia e´ que sejam valores
distintos. Naturalmente, associamos V a verdadeiro e F a falso, o que e´ apenas uma associac¸a˜o
feita em nossas mentes e que na˜o interessa a` teoria.
Associando um valor (V ou F) a cada varia´vel de uma fo´rmula C, podemos calcular o valor da
fo´rmula. Como fazer isto ? Comecemos pelas fo´rmulas ba´sicas:
¬A e´ V se A for F e F se A for V;
A ∨B e´ V se A ou B for V ou se ambos forem V;
Os conectivos derivados possuem o significado esperado:
A ∧B e´ V se A e B forem ambos V;
A−→B e´ F se A for V e B for F, V em todos os outros casos.
A←→B e´ V se A e B forem ambos V ou se forem ambos F.
29
4.5 Tabelas Verdade dos Conectivos Ba´sicos
A descric¸a˜o de como calcular o valor verdade de uma fo´rmula que possui apenas um conectivo,
dada acima, na˜o esta´ boa. Esta descric¸a˜o ainda utiliza o Portugueˆs e na˜o pode ser facilmente
aplicada em uma fo´rmula qualquer. Nesta sec¸a˜o apresentaremos tabelas verdade, que definem
precisamente o valor de verdade de uma fo´rmula. Iniciaremos com as tabelas verdade de fo´rmulas
com apenas um u´nico conectivo.
A tabela verdade da negac¸a˜o e´
A ¬A
V F
F V
Ha´ duas colunas. Na primeira sa˜o colocados os valores verdade que A pode assumir. Natu-
ralmente, A pode ser V ou F. Na segunda coluna, sa˜o colocados os valores verdade da fo´rmula
¬A.
Pela segunda linha da tabela, quando A assume o valor V, mostra que ¬A assume o valor F.
A terceira linha diz que, quando A for F, ¬A sera´ V. Note que ao inve´s de colocarmos A como
varia´vel (V1, V2, ...), no´s a colocamos como fo´rmula. A e´ uma meta-fo´rmula — representa uma
fo´rmula qualquer. Como uma varia´vel e´ uma fo´rmula, tambe´m representa uma varia´vel qualquer.
A tabela verdade do “ou” e´ mostrada abaixo.
A B A ∨B
V V V
V F V
F V V
F F F
Ha´ quatro combinac¸o˜es diferentes para os valores verdade de A e B. Logo a tabela possui
quatro linhas.
Em Portugueˆs, quando se diz “vou almoc¸ar lazanha ou feijoada”, queremos dizer uma coisa
ou outra, mas na˜o as duas ao mesmo tempo (em geral, mas nem sempre!). Em geral, este e´ o
significado do “ou” em Portugueˆs. Contudo, no CP, ∨ quer dizer um ou outro ou ambos. Enta˜o
o significado de ∨ na˜o e´ exatamente o “ou” que conhecemos.
4.6 Conectivos Derivados
O CP utiliza alguns conectivos derivados, que na˜o pertencem a` linguagem, mas que sa˜o empregados
por comodidade. Estes conectivos ja´ foram definidos, mas repetimos aqui a sua definic¸a˜o:
D1 (A ∧B) e´ ¬(¬A ∨ ¬B);
30
D2 (A−→B) e´ (¬A ∨B);
D3 (A←→B) e´ (A−→B) ∧ (B−→A).
As tabelas verdade destes conectivos podem ser obtidas das tabelas do ¬ e −→ e sa˜o dadas
abaixo.
A B A ∧B
V V V
V F F
F V F
F F F
A B A−→B
V V V
V F F
F V V
F F V
A−→B e´ F apenas quando A e´ V e B e´ F. Enta˜o se A e´ F e B e´ V, A−→B e´ V. Mas sera´ que
isto faz sentido em Matema´tica? Afinal, estamos estudando lo´gica Matema´tica ! Para responder
isto, vamos examinar os racioc´ınios va´lidos nesta disciplina. Veja a seguinte deduc¸a˜o, criada por
Smullyan [1]:
5 = 5(subtraia 1)
4 = 4(substitua por algo equivalente)
22 = 22(substitua por algo equivalente)
22 = (−2)2(extraia a raiz)
2 = −2(subtraia 1)
1 = −3
Naturalmente, esta deduc¸a˜o esta´ errada, pois se a2 = b2, na˜o podemos deduzir que a = b. Mas
e a deduc¸a˜o “Se 1 = −3 enta˜o 5 = 5”? Refac¸a os passos ao contra´rio e na˜o encontrara´ nenhum
erro. A Matema´tica admite que se A e´ falso e B e´ verdadeiro, enta˜o A−→B e´ verdadeiro.
Um outro exemplo, citado por Mendelson [8], e´ a frase “se x e´ um inteiro ı´mpar, enta˜o x2 e´
um inteiro ı´mpar”. Esta frase e´ verdadeira em Matema´tica. Se x for par, queremos que a frase
inteira seja considerada falsa? Claramente na˜o. Considerando A como “x e´ um inteiro ı´mpar” e
B como “x2 e´ um inteiro ı´mpar”, enta˜o se x for par teremos um caso no qual A e´ F e queremos
que A−→B seja V. E´ por causa de racioc´ınios como estes, da Matema´tica, que a tabela verdade
de −→ considera A−→B verdadeiro sempre que A e´ F.
Em l´ıngua natural, sempre se exige alguma conexa˜o causal entre A e B quando se emprega
a sentenc¸a A−→B. Em Lo´gica Matema´tica, sendo uma disciplina formal, que nada conhece do
mundo f´ısico, na˜o se exige nenhuma conexa˜o entre o antecedente A e o consequ¨ente B. Enta˜o, as
sentenc¸as abaixo sa˜o verdadeiras na lo´gica que estudamos:
31
1. se 12 e´ primo, enta˜o o Sol na˜o existe;
2. se 6 e´ primo, hoje e´ quarta-feira.
Note que na u´ltima sentenc¸a, “hoje e´ quarta-feira” assume V ou F dependendo do dia em que a
frase e´ lida. Na˜o interessa se ela e´ V ou F. A sentenc¸a toda e´ verdadeira de qualquer forma.
A B A←→B
V V V
V F F
F V F
F F V
O operador bicondicional, representado por ←→, indica que duas sentenc¸as sa˜o logicamente
equivalentes: A←→B e´ V se e somente se A e´ V quando B e´ V e A e´ F quando B e´ F.
4.7 Considerac¸o˜es Finais
As tabelas verdade dos conectivos ba´sicos define precisamente como calcular os valores verdade
das fo´rmulas ¬A e A ∨ B dados os valores de A e B. Estas tabelas verdade sa˜o como tabuadas e
sera˜o empregadas futuramente para calcular o valor verdade de fo´rmulas mais complexas.
No in´ıcio desta sec¸a˜o, mapeamos frases em Portugueˆs para fo´rmulas do CP. Contudo, isto foi
feito apenas para introduzir os conceitos, facilitar o aprendizado. O CP na˜o se aplica ao mundo
real. Esta lo´gica foi feita para a Matema´tica e a´ı ela funciona perfeitamente. Em particular, se
A−→B e´ verdade, isto na˜o quer dizer que A “causa” B. Dizemos A “implica” B, mas a palavra
implica aqui na˜o tem o significado usual da palavra implica em Portugueˆs.
4.8 Exerc´ıcios
4.1. Fac¸a as tabelas verdade de todos os conectivos ba´sicos e derivados.
4.2. Podemos afirmar que, na Matema´tica, (7 < 1)−→(0 = 0)? E (7 < 1)−→(0 = 1)? Se sim,
fac¸a uma prova informal destes dois “teoremas”.
4.3. Converta as frases seguintes para fo´rmulas do ca´lculo proposicional. Escreva o que cada
varia´vel da fo´rmula significa.
(a) Este celular e´ um computador, caˆmera e um mp3 player ao mesmo tempo.
(b) Se o prec¸o do carro estiver bom, levaremos dois.
(c) Uma de duas coisas acontecera´: se ele for bom, resolvera´ o problema. E se ele na˜o for bom,
contratara´ algue´m para resolveˆ-lo.
(d) Ele e´ chato mas inteligente.
32
(e) Ele e´ engenheiro ou analista de sistemas. E e´ competente.
(f) O nu´mero e´ maior do que zero, ı´mpar, mas na˜o e´ primo.
(g) Se o nu´mero e´ primo, ele na˜o e´ divis´ıvel por quatro mas pode ser divis´ıvel por 3 e pode ser
divis´ıvel por 2.
(h) Uma figura de quatro lados e´ um quadrado se todos os lados sa˜o do mesmo tamanho e todos
os aˆngulos entre os lados sa˜o iguais.
4.4. A sentenc¸a “Se a terra e´ quadrada enta˜o o mar e´ lila´s ou o ce´u e´ verde” e´ verdadeira na lo´gica
que estudamos ? Isto quer dizer que o mar e´ lila´s ? Ou que o ce´u e´ verde ?
33
Unidade 5
Tabelas Verdade e Tautologias
5.1 Primeiras palavras
Esta unidade ensina como montar tabelas verdade para fo´rmulas que envolvem qualquer nu´mero
de conectivos. Ao final desta unidade voceˆ sera´ capaz de montar a tabela verdade de fo´rmulas
como A ∧B−→(¬C ∨ A ∨ ¬B). Definimos tambe´m o que sa˜o tautologias e como identifica´-las.
5.2 Problematizando o Tema
Na Unidade anterior, aprendemos como fazer tabelas verdade para fo´rmulas com um u´nico conec-
tivo ba´sico. Sera´ poss´ıvel estender este me´todo para fo´rmulas com dois ou mais conectivos, como
(¬A ∧B)−→A? Veremos que sim.
Sera´ que alguma fo´rmula da lo´gica sera´ sempre verdadeira independente dos valores de suas
varia´veis? Isto e´, podemos ter uma fo´rmula como A ∧ B−→(¬C ∨ A ∨ ¬B) que sera´ verdade
independente dos valores verdade que associemos a A, B, C e D? Ou sera´ isso

Outros materiais