fundamentos de matem´atica - matemática ufmgelaine/ic/fundmat.pdf · 6 sistema de frege 16 ... o...

67
Fundamentos de Matem´atica Elaine Gouvˆ ea Pimentel 12 de mar¸ co de 2008 Resumo O presente texto visa descrever alguns aspectos da fundamenta¸c˜ao da matem´atica, mostrando, a partir de uma vis˜ao hist´orica, como alguns conceitos de matem´atica foram formalizados. Aˆ enfase ser´a sobre a teoria de conjuntos e “resolu¸c˜ao” de paradoxos. Tamb´ em ser´a dada uma apre- senta¸c˜ao formal da teoria de provas, onde sistemas l´ogicos servir˜ao como ferramentapara afundamenta¸c˜aodeconceitos taiscomo a“demonstra¸c˜ao por absurdo”. Por fim, ser´a apresentada o teorema da incompletude de G¨odel que diz, basicamente, que dentro de um determinado ramo da ma- tem´atica que possui um n´ umero finito de axiomas (como, por exemplo, a aritm´ etica de Peano), existem sempre teoremas (ou seja, proposi¸c˜oes verdadeiras) que n˜ao podem ser provados. 1

Upload: lengoc

Post on 10-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Fundamentos de Matematica

Elaine Gouvea Pimentel

12 de marco de 2008

Resumo

O presente texto visa descrever alguns aspectos da fundamentacao damatematica, mostrando, a partir de uma visao historica, como algunsconceitos de matematica foram formalizados. A enfase sera sobre a teoriade conjuntos e “resolucao” de paradoxos. Tambem sera dada uma apre-sentacao formal da teoria de provas, onde sistemas logicos servirao comoferramenta para a fundamentacao de conceitos tais como a “demonstracaopor absurdo”. Por fim, sera apresentada o teorema da incompletude deGodel que diz, basicamente, que dentro de um determinado ramo da ma-tematica que possui um numero finito de axiomas (como, por exemplo,a aritmetica de Peano), existem sempre teoremas (ou seja, proposicoesverdadeiras) que nao podem ser provados.

1

Page 2: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Sumario

1 Fundamentos da matematica 4

2 Logica matematica (classica) 42.1 Semantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1 Tabela da verdade . . . . . . . . . . . . . . . . . . . . . . 72.1.2 Algebra de Boole . . . . . . . . . . . . . . . . . . . . . . . 8

3 Logica intuicionista 103.1 Semantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4 Logica e Matematica 13

5 Matematica como uma ciencia independente 135.1 A aritmetizacao da Analise . . . . . . . . . . . . . . . . . . . . . 145.2 Criterios para a fundamentacao . . . . . . . . . . . . . . . . . . . 15

6 Sistema de Frege 166.1 Ideias basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166.2 O sistema formal . . . . . . . . . . . . . . . . . . . . . . . . . . . 176.3 Paradoxos e a teoria de tipos de Russell . . . . . . . . . . . . . . 20

7 Teoria de conjuntos de Zermelo-Fraenkel 217.1 Ideias basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217.2 Formalizacao de ZF . . . . . . . . . . . . . . . . . . . . . . . . . 227.3 Axioma da escolha . . . . . . . . . . . . . . . . . . . . . . . . . . 24

8 O programa de Hilbert e a incompletude de Godel 268.1 O programa de Hilbert . . . . . . . . . . . . . . . . . . . . . . . . 278.2 Teoremas de incompletude de Godel . . . . . . . . . . . . . . . . 288.3 O metodo de prova dos teoremas de Godel: funcoes recursivas . . 29

8.3.1 Prova do primeiro teorema de incompletude de Godel . . 318.3.2 Prova do segundo teorema de incompletude de Godel . . . 34

9 λ-calculus e computabilidade 34

10 λ-calculus tipado simples 3610.1 Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3610.2 Sistemas de Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . 3810.3 Outras propriedades de sistemas de tipos . . . . . . . . . . . . . 4010.4 Tipos Simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4010.5 Tipo produto, tipo soma e tipos recursivos . . . . . . . . . . . . . 43

10.5.1 Produtos cartesianos . . . . . . . . . . . . . . . . . . . . . 4310.5.2 Somas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

10.6 Polimorfismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4410.7 Inferencia de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . 45

11 Isomorfismo de Curry-Howard 45

2

Page 3: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

12 Tipos e Significados: Semantica 4712.1 Semantica Denotacional . . . . . . . . . . . . . . . . . . . . . . . 4812.2 Semantica Operacional . . . . . . . . . . . . . . . . . . . . . . . . 50

13 Semantica denotacional do λ-calculus 5313.1 Conjunto parcialmente ordenado (POSET) . . . . . . . . . . . . 5413.2 Ordem parcial completa (CPO) . . . . . . . . . . . . . . . . . . . 55

14 Logica Linear 5714.1 Semantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

15 Logica e Ciencia da Computacao 59

16 Logical frameworks 6016.1 Logica Linear como framework para especificar sistemas de sequen-

tes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

A De deducao natural para calculo de sequentes 62A.1 Deducao natural . . . . . . . . . . . . . . . . . . . . . . . . . . . 62A.2 Calculo de sequentes . . . . . . . . . . . . . . . . . . . . . . . . . 63

A.2.1 Cut elimination . . . . . . . . . . . . . . . . . . . . . . . . 65

3

Page 4: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

1 Fundamentos da matematica

O termo “fundamentos da matematica” (em ingles, foundations of mathematics)e em geral usado para certas areas da matematica, como por exemplo a logicamatematica, teoria de conjuntos axiomatica, teoria de provas, teoria de modelos,teoria da recursao. A procura de fundamentos para a matematica e tambemuma questao central de filosofia da matematica: quando podemos dizer que umaafirmacao matematica pode ser chamada verdadeira?

No paradigma matematico dominante atualmente, a verdade de uma afir-mativa pode ser derivada dos axiomas da teoria de conjuntos usando regras delogica formal.

A preocupacao em estabelecer uma base logica e filosofica para a matematicacomecou com os Elementos de Euclides. Essencialmente, Euclides foi o primeiroa questionar quando os axiomas de um certo calculo (no seu caso, a geometria),podem assegurar completeza e consistencia. Na era moderna, esse debate deuorigem a tres escolas de pensamento: logicismo, formalismo e intuicionismo.

Logicistas propoe que objetos matematicos abstratos devem ser inteiramentedesenvolvidos a partir de ideias basicas de conjuntos e pensamento racional oulogico.

Formalistas acreditavam que a matematica era a manipulacao de confi-guracoes de sımbolos de acordo com regras prescritas, um jogo, independentede qualquer interpretacao fısica dos sımbolos.

Intuicionistas rejeitam certos conceitos de logica e a nocao que um metodoaxiomatico seria suficiente para explicar toda a matematica, e veem a ma-tematica como uma atividade intelectual que lida com construcoes mentais(construtivismo), independente da linguagem e de qualquer realidade externa.

O presente texto diz respeito apenas ao logicismo e, portanto, visa estudar asideias basicas da teoria de conjuntos (de Zermelo-Fraenkel), bem como a teoriade provas, tendo como pano de fundo sempre a logica classica.

2 Logica matematica (classica)

A logica matematica lida com a formalizacao e a analise de tipos de argu-mentacao utilizados em matematica.

Desta forma, os sistemas logicos formais utilizados para esse fim devem serferramentas adequadas para provar proposicoes. Parte do problema com a for-malizacao da argumentacao matematica e a necessidade de se especificar demaneira precisa uma linguagem matematica formal. Linguagens naturais, as-sim como o portugues ou ingles, nao servem a este proposito: elas sao muitocomplexas e em constante modificacao. Por outro lado, linguagens formais como(algumas) linguagens de programacao, que tambem sao rigidamente definidas,sao muito mais simples e menos flexıveis que as linguagens naturais. Utilizamosentao um sistema logico formal.

Um sistema logico formal e composto, alem da sintaxe (ou notacao), de umaespecificacao cuidadosa de regras de argumentacao (regras de inferencia), bemcomo de alguma nocao de como interpretar e dar um significado a sentencas (ouproposicoes) da linguagem adotada (semantica).

A linguagem usada atualmente para formalizar a argumentacao matematicae a logica (classica) de primeira ordem, juntamente com um sistema formal de

4

Page 5: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

provas, que serao apresentados a seguir.Comecaremos pela sintaxe (ou notacao). A ideia e que expressoes validas

da linguagem logica sao sequencias especiais de sımbolos de um dado alfabeto,geradas por uma definicao indutiva (gramatica). Desta forma, partindo doalfabeto basico:

ALFABETOLetras : A,B,C, ...Conectivos : ¬,∧,∨,⇒,⊥Agrupamento : (·)

as formulas da logica classica proposicional de primeira ordem sao dadas pelagramatica:

GRAMATICAF ::= A|(¬F )|(F ∧ F )|(F ∨ F )|(F ⇒ F )|⊥|∀x.F |∃x.F

que significa que uma formula F pode ser uma proposicao atomica (ou seja,uma formula A sem conectivos logicos), a negacao de uma formula, a conjuncaode duas formulas, a disjuncao de duas formulas, implicacao, falso ou formulasquantificadas (para todo e existe).

Vale ressaltar que a gramatica acima nao e minimal. De fato, podemos, porexemplo, identificar ¬A com A⇒ ⊥. Mas escrever a negacao de forma concisafacilitara a visualizacao de provas em deducao natural, que veremos a seguir.Outra observacao importante e que ⊥ nao e uma formula atomica, mas sim ozero-ario do conectivo ∨.

A segunda parte de um sistema logico consiste em estabelecer os axiomas eas regras de inferencia do sistema.

Existem diversas formas de se definir regras e axiomas de um sistema logicoformal. Comecaremos por descrever rapidamente os sistemas de Hilbert.

Os sistemas de Hilbert (tambem chamados de sistemas axiomaticos) saomuito utilizados por filosofos para formalizar a argumentacao logica. Tais sis-temas sao, em geral, faceis de serem compreendidos, mas extremamente difıceisde serem usados para provar teoremas. Sistemas de Hilbert possuem um grandenumero de axiomas basicos, como por exemplo:

⊢ A ⊃ A ∨B ou ⊢ A ⊃ (B ⊃ A)

e no caso da logica proposicional existe apenas uma regra de inferencia: modusponens (veja definicao abaixo). Desta forma, derivacoes sao sequencias linearesque comecam com instancias dos axiomas que sao decompostos pela regra deinferencia, ate que a conclusao e atingida.

De maneira oposta, em sistemas de deducao natural existem apenas regras deinferencia, alem de afirmativas que comecam as derivacoes, como por exemplo:

(A)...B

A⇒ B

Neste caso, os pontos verticais indicam a derivacao de B a partir de A, que porsua vez e descartada na linha de inferencia (procedimento indicado pelo uso de

5

Page 6: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

parentesis em torno de A) para produzir A ⇒ B. Desta forma, uma prova deB depende de uma prova de A, enquanto que a prova de A⇒ B nao.

Utilizaremos aqui uma presentacao mais moderna de deducao natural, queutiliza um sistema a la calculo de sequentes (veja Secao A.2), onde as afirmativasa serem “descartadas” na linha de inferencia sao anotadas no contexto. Istoe, os nodos da arvore de uma derivacao deixam de ser formulas para se tornarsequentes da forma Γ ⊢ C, onde Γ e um conjunto de formulas chamado contextoou antecedente enquanto que C uma formula chamada sucedente. Desta forma,a regra acima pode ser re-escrita como:

A ⊢ B⊢ A⇒ B

Nesta presentacao, a logica classica tem um e apenas um axioma:

Γ, A ⊢ A Inicial

que diz que uma formula e provavel a partir de si mesma.Como exemplo de regra de inferencia, apresentamos aqui o famoso modus

ponens1:Γ ⊢ A Γ ⊢ A⇒ B

Γ ⊢ B (⇒ E)

Informalmente, essa regra diz que se temos uma funcao do tipo A ⇒ B e umargumento do tipo A, entao podemos aplicar a funcao ao argumento e obter umresultado do tipo B.

Veja a Figura 1 para lista completa das regras de deducao natural para alogica cassica.

Vale a pena observar que, em logica cassica, vale o tao comentado princıpiodo meio excluıdo. Ou seja, a proposicao

p ∨ ¬pe sempre valida. Isso significa que uma formula e sempre ou verdadeira, oufalsa.

Essa afirmacao e extremamente nao construtiva, uma vez que nada se podedizer de qual das das opcoes e valida. Existe uma serie de consequencias quederivam dessa formula, e esse sera objeto de um estudo cuidadoso durante odecorrer destas notas.

A prova formal do princıpio do meio excluıdo utilizando as regras de deducaonatural (Figura 1) e:

¬(p ∨ ¬p), p ⊢ p (Inicial)

¬(p ∨ ¬p), p ⊢ p ∨ ¬p (∨I1) ¬(p ∨ ¬p) ⊢ ¬(p ∨ ¬p) (Inicial)

¬(p ∨ ¬p), p ⊢ ⊥ (¬E)

¬(p ∨ ¬p) ⊢ ¬p (¬I)

¬(p ∨ ¬p) ⊢ p ∨ ¬p (∨I2) ¬(p ∨ ¬p) ⊢ ¬(p ∨ ¬p) (Inicial)

¬(p ∨ ¬p) ⊢ ⊥ (¬E)

⊢ ¬¬(p ∨ ¬p) (¬I)

⊢ p ∨ ¬p (DN)

1Esta e uma regra de eliminacao, propria de sistemas descritos em deducao natural. Veja

o Apendice A.2 para a diferenca entre calculo de sequentes e deducao natural.

6

Page 7: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Γ, A ⊢ A Inicial

Γ ⊢ A Γ ⊢ BΓ ⊢ A ∧B (∧I) Γ ⊢ A ∧B

Γ ⊢ A (∧E1) Γ ⊢ A ∧BΓ ⊢ B (∧E2)

Γ ⊢ AΓ ⊢ A ∨B (∨I1) Γ ⊢ B

Γ ⊢ A ∨B (∨I2)Γ ⊢ A ∨B Γ, A ⊢ C Γ, B ⊢ C

Γ ⊢ C (∨E)

Γ, A ⊢ BΓ ⊢ A⇒ B

(⇒ I) Γ ⊢ A Γ ⊢ A⇒ BΓ ⊢ B (⇒ E)

Γ ⊢ ⊥Γ ⊢ A (⊥E)

Γ, A ⊢ ⊥Γ ⊢ ¬A (¬I) Γ ⊢ A Γ ⊢ ¬A

Γ ⊢ ⊥ (¬E)

Γ ⊢ ¬(¬A)

Γ ⊢ A (DN)

Figura 1: Deducao natural para a logica cassica

A B ¬A A ∧B A ∨B A⇒ B ⊥V V F V V V FV F F F V F FF V V F V V FF F V F F V F

Tabela 1: Tabela da verdade

2.1 Semantica

Com relacao a semantica (significado dos sımbolos logicos), no caso proposici-onal (isto e, sem os quantificadores) o significado de formulas em logica podeser dado de maneira trivial, baseado na tabela da verdade, ou um pouco maiselaborada utilizando, por exemplo, algebras de Boole.

2.1.1 Tabela da verdade

A cada sımbolo basico da logica e dado um valor (semantico): verdadeiro V oufalso F . Dependendo desse valor, chegamos ao valor das formulas formadas apartir da gramatica analisando a Tabela 1.

A semantica dos quantificadores e mais complicada e nao sera objeto deestudo neste curso.

Atraves dessa analise semantica, podemos ver, por exemplo, por que as

7

Page 8: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

formulas A⇒ B, ¬B ⇒ ¬A e ¬(A ∧ ¬B) possuem o mesmo comportamento:

A B A⇒ B ¬B ⇒ ¬A ¬(A ∧ ¬B)V V V V VV F F F FF V V V VF F V V V

Ou seja, provas matematicas do fato:

B segue de A

utilizando qualquer dos seguintes metodos:

direto, contra-recıproco, por absurdo

sao equivalentes.

2.1.2 Algebra de Boole

Nesta secao mostraremos como utilizar algebras de Boole para estabelecer asemantica da logica classica proposicional. Alem de ser interessante por si so, po-deremos utilizar alguns conceitos aqui estabelecidos para a semantica da logicaintuicionista (ver Secao 3.1).

Comecaremos por relembrar o conceito de aneis

Definicao 1 Um conjunto nao vazio R fechado com relacao as operacoes + e· e dito um anel associativo se ∀ a, b e c em R:

1. a+ b = b+ a

2. (a+ b) + c = a+ (b+ c)

3. ∃0 ∈ R tal que a+ 0 = a ∀a ∈ R

4. ∀a.∃(−a) tal que a+ (−a) = 0

5. (a.b).c = a.(b.c)

6. a.(b+ c) = a.b+ a.c e (b + c).a = b.a+ c.a

Os ıtens (1)−(4) dizem queR e um grupo abeliano com relacao a +, enquantoque (5) diz que R e um semigrupo com operador ·.

Dizemos ainda que R e um anel com unidade se ∃1 ∈ R tal que ∀a ∈ Ra.1 = 1.a = a. Alem disso, R e um anel comutativo se ∀a, b ∈ R, a.b = b.a.

Exemplo 1 a) (Z,+, ·) e um anel comutativo com unidade.

• R = conjunto dos inteiros pares e anel comutativo sem unidade.

b) (Q,+, ·) e anel comutativo com unidade. Alem disso, os elementos de Q

diferentes de zero formam um grupo abeliano com relacao a multiplicacao.Um anel com esta propriedade e chamado corpo.

c) (Z6,+, ·) e um anel comutativo com unidade, mas nao um corpo.

8

Page 9: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Definicao 2 (Algebra Booleana) Uma algebra Booleana e um anel (R,+, ·,0,1)no qual cada elemento e idempotente com relacao a multiplicacao (ou seja, igualao seu quadrado).

Exemplo 2 a) (P(A),∆,∩, ∅, A) e uma algebra booleana, onde ∆ e a operacaode diferenca simetrica:

X∆Y = (X ∪ Y ) − (X ∩ Y ) = (X ∩ (A− Y )) ∪ ((A −X) ∩ Y ).

b) Z2 e a unica algebra de Boole que tambem e um corpo. De fato, seja B umaalgebra de Boole que e um corpo. Para todo x ∈ B, x2 = x ≡ x(x−1) = 0.Entao, se B e um domınio de integridade, temos x = 0 ou x = 1. Ouseja, B e isomorfo a Z2.

Propriedade 1 1. Em qualquer algebra de Boole, todo elemento e seu proprioinverso aditivo.

2. Toda algebra de Boole e comutativa.

Prova Como (a+ b)2 = (a+ b) e (a+ b)2 = a2 + a.b+ b.a+ b2 entao:

a.b+ b.a = 0 (1)

Fazendo b = 1, obtemos a = −a. Para a segunda parte, sabemos que a.b e oinverso de a.b. Mas por (1), a.b tambem e o inverso de b.a e portanto a.b = b.a.

A semantica da logica classica proposicional sera dada a seguir.Seja F o conjunto de todas as formulas proposicionais da logica classica e ∼

a seguinte relacao de equivalencia:

ϕ ∼ ψ se e somente se ⊢ ϕ⇒ ψ e ⊢ ψ ⇒ ϕ

Seja F∼ = F/ ∼= {[ϕ]∼ : ϕ ∈ F}. As seguintes operacoes sobre F∼ sao bemdefinidas:

[α]∼ ∪ [β]∼ = [α ∨ β]∼ [α]∼ ∩ [β]∼ = [α ∧ β]∼−[α]∼ = [¬α]∼ [α]∼ → [β]∼ = [α⇒ β]∼[α]∼ ↔ [β]∼ = [α⇔ β]∼ [α]∼ = [β]∼ = [α < β]∼

Chame 0 = [⊥]∼ e 1 = [⊤]∼, onde ⊤ = ⊥ ⇒ ⊥. Entao (F∼,=,∩,0,1) euma algebra de Boole.

Observe que[⊤]∼ = {ϕ : ∅ ⊢ ϕ}

ou seja, 1 e a classe das tautologias. Observe tambem que

−a ∩ a = [⊥]∼ e − a ∪ a = [⊤]∼.

a ultima igualdade sendo equivalente ao princıpio do meio excluıdo.Seja PVc o conjunto de variaveis proposicionais da logica classica. Dizemos

que uma valuacao v em F∼ e uma aplicacao v : PVc −→ {0,1}.Dada uma valuacao v em F∼, definimos a aplicacao [[•]]vc : F −→ {0,1} de

maneira trivial:

9

Page 10: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

[[p]]vc = v(p) para p ∈ PV[[⊥]]vc = 0[[ϕ ∨ ψ]]vc = [[ϕ]]vc ∪ [[ψ]]vc[[ϕ ∧ ψ]]vc = [[ϕ]]vc ∩ [[ψ]]vc[[ϕ⇒ ψ]]vc = [[ϕ]]vc → [[ψ]]vc

Escreveremos Γ |= ϕ sempre que [[Γ]]vc = 1 implica [[ϕ]]vc = 1 para todos B ev relacionados com a algebra de Boole F∼.

O seguinte teorema diz que o modelo semantico baseado em algebra de Boolee completo e “sound”:

Teorema 1 As seguintes condicoes sao equivalentes:

1. Γ ⊢ ϕ;

2. Γ |= ϕ.

3 Logica intuicionista

Como descrito na Secao 2, o entendimento classico de logica e baseado na nocaode verdade. Ou seja, a veracidade de uma afirmativa e “absoluta” e indepen-dente de qualquer argumentacao, crenca ou acao.

Desta forma, afirmativas sao ou falsas ou verdadeiras (princıpio do meioexcuıdo), onde falso e a mesma coisa que nao verdadeiro (veja Tabela 1).

Claro que essa abordagem de pensamento e muito intuitiva e baseada emexperiencia e observacao. Para um matematico preocupado em provar um teo-rema, e importante a ideia de que toda afirmativa pode ser provada verdadeirase uma prova e apresentada ou falsa se existe um contra-exemplo. Alem disso,varias tecnicas de demostracao utilizam implicitamente o princıpio do meio ex-cluıdo.

Considere o seguinte exemplo:

Teorema 2 Existem dois numeros irracionais x e y tais que xy e racional.

Prova A prova desse fato e bastante simples: se 2√

2 e racional, entao toma-mos x = y =

√2.

Caso contrario, tomamos x = 2√

2 e y =√

2.Observe que nao temos como saber qual dos casos realmente acontece, porque

nao se sabe se 2√

2 e racional ou irracional. Mas o princıpio do meio excluıdonos garante que uma das opcoes ocorre e isso e bastante natural de se aceitar.Entao, para o exemplo acima descrito, o problema se limita ao fato de que aprova apresentada nao e construtiva.

Um caso mais serio surge com o seguinte teorema:

Teorema 3 Existem sete 7’s consecutivos na representacao decimal do numeroπ.

Ora, ou alguem algum dia chega a representacao de com um numero decasas decimais grande o suficiente de modo a encontrar sete 7’s consecutivos ouentao... nao se sabe!

Considere p a afirmativa:

10

Page 11: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

existe uma prova de que existem sete 7’s consecutivos na representacaodecimal do numero π.

e chamemos de t o predicado dado pelo enunciado do Teorema 3. Parece claroque p ⇔ t. Mas isso vale somente se p e verdadeiro. Se p e falso nao se podedizer que t e falso.

Esse e um exemplo de uma afirmativa para a qual nao existe sentido a suanegacao. Ou seja, o princıpio do meio excluıdo nao se encaixa em um sistema quepossui esse tipo de “teorema”. Observe que aqui “infinitude” esta envolvida.Ou seja, muito provavelmente, provar o Teorema 3 significa testar todas as(infinitas) possibilidades.

A logica intuicionista abandona a ideia de verdade absoluta, e afirmativassao consideradas validas se e somente se existe uma prova construtiva da mesma.Ou seja, o princıpio do meio excluıdo nao e mais valido.

Com relacao ao sistema de provas da logica intuicionista, em deducao naturalas regras sao as mesmas das apresentadas na Figura 1, com excessao da regra dedupla negacao, (DN). Ja em calculo de seqentes, a presentacao mais conhecidae o sistema de Gentzen LJ , onde os sequentes validos possuem exatamenteuma formula como sucedente e as regras de weakening and contraction nao saovalidas a direita. Isto e, sao consideradas todas as regras da Figura A.2 menosas regras weakR e contR. Daremos maiores detalhes na Secao 8.

Exemplo 3 Todos os sequentes abaixo sao provaveis em logica classica:

1. ¬(p ∨ q) ⊢ (¬p ∧ ¬q)

2. (p ∨ q) ⊢ ¬(¬p ∧ ¬q)

3. (p ∨ q) ⊢ (¬p ⇒ q)

4. ¬(p ∧ q) ⊢ (¬p ∨ ¬q)

5. ((p⇒ q) ⇒ p) ⊢ p

6. ⊢ (p⇒ q) ∨ (q ⇒ p)

Mas apenas (1), (2) e (3) apresentam provas construtivas, isto e, sao provaveisintuicionisticamente.

3.1 Semantica

Um dos modelos semanticos mais populares para a logica intuicionista e baseadoem algebras de Heyting. Descreveremos aqui (de maneira resumida) a semanticapara o caso proposicional [31].

Seja Φ o conjunto de todas as formulas proposicionais da logica intuicionista,considere Γ ⊆ Φ e seja ∼ a seguinte relacao de equivalencia:

ϕ ∼ ψ se e somente se Γ ⊢ ϕ⇒ ψ e Γ ⊢ ψ ⇒ ϕ

Seja LΓ = Φ/ ∼= {[ϕ]∼ : ϕ ∈ Φ} e defina uma ordem parcial ≤ sobre LΓ daseguinte forma:

[ϕ]∼ ≤ [ψ]∼ se e somente se Γ ⊢ ϕ⇒ ψ.

11

Page 12: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Podemos tambem definir as seguintes (bem definidas) operacoes sobre LΓ:

[α]∼ ∪ [β]∼ = [α ∨ β]∼;

[α]∼ ∩ [β]∼ = [α ∧ β]∼;

−[α]∼ = [¬α]∼;

ou ainda ir mais adiante e mostrar que as operacoes ∩ e ∪ sao operacoes “ınfimo”e “supremo” com relacao a ≤, e que as leis de distributividade

(a ∪ b) ∩ c = (a ∩ c) ∪ (b ∩ c) e (a ∩ b) ∪ c = (a ∪ c) ∩ (b ∪ c)

sao satisfeitas 2. A classe [⊥]∼ e o menor elemento (0) de LΓ e [⊤]∼, onde⊤ = ⊥ ⇒ ⊥, e o maior elemento (1). Temos tambem que [⊤]∼ = {ϕ : Γ ⊢ϕ}. Entretanto, existem algumas dificuldades (ja esperadas) com a operacaocomplementar:

−a ∩ a = [⊥]∼ mas nao necessariamente − a ∪ a = [⊤]∼.

O maximo que podemos afirmar e que −a e o maior elemento tal que −a∩a =0. Chamamos −a de pseudo-complemento de a. Uma vez que a negacao e umcaso especial de implicacao (pois ¬a ≡ a ⇒ ⊥), o que foi dito acima mereceuma generalizacao. Um elemento c e chamado um pseudo-complemento relativode a com relacao a b se e somente se c e o maior elemento tal que a ∩ c ≤ b. Opseudo-complemento relativo, caso existir, e denotado por a ⇀ b.

Nao e difıcil de ver que na algebra LΓ (comumente chamada de algebra deLindenbaum), temos

[ϕ]∼ ⇀ [ψ]∼ = [ϕ⇒ ψ]∼.

Formalmente, uma algebra de Heyting (ou algebra pseudo-Booleana), e umsistema algebrico H que e um reticulado distributivo contendo o zero e quepossui um pseudo-complemento relativo definido para cada par de elementos.Em particular, cada algebra de Boolean e uma algebra de Heyting com a ⇀ bdefinido como −a ∪ b 3.

A semantica da logica intuicionista proposicional e dada pela aplicacao [[•]]i,definida a seguir.

Definicao 3 Seja H = 〈H,∪,∩,⇀,−, 0, 1〉 uma algebra de Heyting. Denota-mos por PV ao conjunto de variaveis proposicionais da logica intuicionista.

i. Uma valuacao v em H e uma aplicacao v : PV −→ H.

ii. Dada uma valuacao v em H, definimos a aplicacao [[•]]vi : Φ −→ H por:

[[p]]vi = v(p) para p ∈ PV[[⊥]]vi = 0[[ϕ ∨ ψ]]vi = [[ϕ]]vi ∪ [[ψ]]vi[[ϕ ∧ ψ]]vi = [[ϕ]]vi ∩ [[ψ]]vi[[ϕ⇒ ψ]]vi = [[ϕ]]vi ⇀ [[ψ]]vi

2Ou seja, LΓ e um reticulado distributivo.3O exemplo mais conhecido de algebra de Heyting que nao e uma algebra de Boole e a

algebra de conjuntos abertos de um espaco topologico.

12

Page 13: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Escreveremos Γ |= ϕ sempre que [[Γ]]vi = 1 implica [[ϕ]]vi = 1 para todos H ev relacionados com a algebra de Heyting H.

O seguinte teorema diz que o modelo semantico baseado em algebra de Hey-ting e completo e “sound”:

Teorema 4 As seguintes condicoes sao equivalentes:

1. Γ ⊢ ϕ;

2. Γ |= ϕ.

4 Logica e Matematica

Para muitos, logica nao faz parte da matematica. De fato, parece paradoxal di-zer que a logica e um ramo da matematica, uma vez que a logica e o instrumentoutilizado para a formalizacao da matematica.

Na realidade, o estudo da logica como um modelo para a matematica, sendoao mesmo tempo uma parte da matematica nao forma um cırculo vicioso, maspode ser entendido como uma escada em espiral. Se a matematica esta no n-esimo degrau (chamado degrau intuitivo), o degrau n + 1 contem um modeloreduzido, um prototipo (degrau formal). A passagem do degrau n para o degraun+ 1 e chamado formalizacao.

Com relacao a logica, a passagem do degrau n para o degrau n+ 1 implicaem aumentar a ordem. Entao, a logica classica de primeira ordem (que e umramo da matematica) da origem a logica de segunda ordem (que contem toda amatematica), onde predicados podem ser quantificados, e nao apenas variaveis.

E interessante tambem ressaltar que, nas areas classicas da matematica, oproposito inicial e propor um modelo matematico para alguma situacao maisou menos concreta. Com a logica, acontece algo similar. A sua particularidadereside no fato de que a “realidade” que a logica visa descrever nao e fora domundo matematico, mas sim a propria matematica. Desta forma, do mesmomodo que um matematico nao confunde o ambiente fısico em que vive com umespaco vetorial euclideano tri-dimensional, um pesquisador na area de logicanao a confunde com a matematica sendo descrita.

Por fim, observe que tanto na matematica quanto na logica, o estudo de mo-delos da origem ao aparecimento de novos ramos de estudo, que aparentementenada ou pouco tem a ver com o objetivo inicial de descrever um “objeto”, seja eleconcreto ou nao. Desta forma, a logica como disciplina passa a ter vida propria,e o seu estudo nao se limita ao caso classico. Isto justifica o aparecimento eestudo de logicas como a intuicionista, linear, fuzzy, modal, etc.

5 Matematica como uma ciencia independente

Existem diversas opinioes a respeito de como surgiu a matematica. Alguns ma-tematicos tendem a considerar a fısica como a principal fonte de problemas eideias matematicas. Outros consideram a intuicao matematica ligada principal-mente com a estrutura abstrata de objetos matematicos (o que quer que venhaa ser isso) e portanto independente de outras ciencias. Essa dicotomia de pen-samento vem desde os primordios do estudo da matematica. Por exemplo, osmatematicos gregos desenvolveram a geometria axiomatica e deram os primeiros

13

Page 14: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

passos em logica formal, mas nao possuiam nem mesmo um sistema numerico:trabalhavam com comprimentos de segmentos de reta e suas razoes. Eles clara-mente reconheciam pontos e retas como entidades abstratas e nao-fısicas, apesarde saber que a geometria por eles desenvolvida podia ser aplicada a problemaspraticos de medicao de espaco, por exemplo.

O calculo diferencial foi inventado ao mesmo tempo por Newton e Leibniz, oprimeiro claramente motivado por um forte sentido de realidade fısica, enquantoque o segundo estava muito mais interessado em logica e matematica formal.

De qualquer forma, existem varios pontos fundamentais nos quais a maioriados matematicos concorda, independentemente de conviccoes filosoficas, relaci-onados a natureza da matematica. A primeira e que a matematica e abs-trata, e isso consiste essencialmente em argumentar com abstracoes. A segundae que a verdade ou falsidade de uma proposicao em matematica e determinadapor um processo de deducao, ou seja, mostrando que uma proposicao podeser provada tendo como base alguns princıpios ou verdades assumidas. Esseprocesso difere de outras ciencias ao menos em um aspecto: todas as outrasciencias (mesmo uma tao abstrata quanto a fısica teorica) dependem de umacerta quantidade de manipulacao do mundo fısico. Ou seja, as hipoteses e leissao consideradas validas apenas depois de serem testadas atraves de algum ex-perimento. Em matematica, teoremas sao provados (portanto estabelecendo asua veracidade) sem a necessidade de convalidar o resultado no mundo fısico.

Desta forma, o primeiro ingrediente dos estudos modernos dos fundamentosda matematica e a visao da matematica como uma ciencia independente darealidade fısica, uma ciencia cujos objetos de estudo sao sistemas abstratos eauto-consistentes, e que usa a prova como tecnica principal para determinar averdade.

Entao, o que e uma prova? Praticamente falando, uma prova e qualquerargumento razoavel aceito como tal pelos matematicos. Esta definicao e muitoimprecisa, e nao da pistas de que tipo de proposicoes podem ser provadas ounao. Essa e uma das razoes para o estudo de logica matematica.

5.1 A aritmetizacao da Analise

Um segundo ingrediente dos estudos modernos dos fundamentos da matematicae o desenvolvimento da Analise e da Teoria da Conjuntos nos seculos XIX e XX.Este desenvolvimento teve o efeito de separar aspectos puramente aritmeticosou algebricos do numero, dos aspectos geometricos.

Algebra foi desenvolvida pelas civilizacoes Indu-Arabe e Descartes “inven-tou” a Analise atraves da fusao de Algebra e Geometria em uma unica disci-plina, a geometria analıtica. Isto permitiu que os matematicos “vissem” funcoesatraves de seus graficos. Um numero real passou a ser considerado como umcontinuum que era ao mesmo tempo geometrico e algebrico, e provas de fatosrelacionados a funcoes eram feitas atraves da analise de seus graficos. Destaforma, uma funcao nunca era separada da curva que era a sua contrapartidageometrica.

A aritmetizacao da Analise (Dedekind, Weierstrass, Cauchy, Cantor, etc) foiresponsavel pelo desenvolvimento de uma nocao algebrica de numero real quenao apelava para a intuicao geometrica. A definicao de numeros reais partia dosnumeros racionais. Os racionais eram, por sua vez, definidos a partir de razoesde inteiros e os inteiros eram facilmente construıdos a partir dos naturais.

14

Page 15: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Apos a aritmetizacao da Analise, veio a generalizacao da Geometria, criandoa Topologia, que hoje e uma disciplina independente. As duas possuem umaintersecao quando se fala de espacos metricos.

Neste ponto, ficou claro que a fundamentacao matematica necessaria parasuportar esse boom de novas teorias e areas da matematica deveria ir muitoalem de reduzir tudo aos numeros naturais. De fato, eram necessarios: osnaturais e mais uma serie de argumentacoes baseadas em teoria de conjuntos.O problema e que a teoria de conjuntos usada na epoca era extremamenteingenua, e o aparecimento de contradicoes logicas (ou paradoxos) estremeceu abase da argumentacao matematica.

Alguma coisa tinha que ser feita, e foi daı que surgiram os primeiros esforcosde axiomatizar a teoria de conjuntos. Esse assunto foi definitivamente encerradona primeira decada do seculo XX, quando Zermelo publicou o seu trabalho, logocomplementado por Fraenkel. Surge entao a teoria de conjuntos de Zermelo-Fraenkel, que sera o objeto de estudo da Secao 7.

5.2 Criterios para a fundamentacao

Nesta secao estabeleceremos alguns criterios que devem ser seguidos na hora dedecidir o que e uma fundacao (ou fundamentacao) para a matematica.

1. Uma fundacao para a matematica deve ser adequada para argumentarsobre uma porcao grande da matematica.

De acordo com o Teorema de incompletude de Godel (veja Secao 8.2), naoexiste uma fundacao que seja consistente e completa, ou seja, que sejaadequada para toda a matematica. Sempre vao existir alguns teoremasvalidos que nao poderao ser obtidos puramente atraves de um processoformal de argumentacao. Basta entao decidir quais verdades sao maisimportantes, de maneira a se minimizar as perdas.

2. Uma fundacao deve derivar de alguns princıpios intuitivos e naturais.

Um sistema axiomatico e o meio mais comum de catalogar um conjuntode “verdades” e, em geral, esse sistema e baseado em intuicao.

3. Os princıpios basicos e nocoes primitivas (nao definidas) devem ser taoeconomicas quanto possıvel.

4. A fundacao deve ser consistente.

A nao consistencia tem uma consequencia desastrosa: as regras da logicade primeira ordem podem ser usadas para provar que qualquer afirmativae um teorema (ou seja, e sempre verdadeira). Desta forma, o sistemaresultante e trivial e portanto inutil.

5. A fundacao deve poder ser expressa como um sistema formal.

E claro que uma fundacao para a matematica poderia ser proposta demodo a nao poder ser expressa atraves de um sistema formal. De fato,os resultados de Godel a respeito da incompletude de sistemas formaiscolaboraria para que essa fosse a solucao mais adequada. Entretanto,nao haver um sistema formal implica sempre em se desenvolver discursosquase-filosoficos e obscuros, onde a impera a ausencia de uniformidade eclareza.

15

Page 16: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

6. A construcao da matematica do dia-a-dia no sistema adotado deve sernatural e ordenada.

6 Sistema de Frege

No comeco de sua carreira, Georg Cantor investigou conjuntos de pontos de des-continuidade em funcoes que admitiam representacoes de Fourier. Ele tambemapresentou uma construcao dos numeros reais a partir dos racionais, e mostrouque existe muito mais reais que racionais. Cantor seguia uma nocao de conjun-tos abstratos, trabalhando com hierarquias tais como o “conjunto de todos ossubconjuntos”.

Mas o que vem a ser um conjunto abstrato? Em alguns textos matematicosmuito, mas muito antigos, um conjunto e definido como sendo uma aglomeracaode elementos, que se juntam de maneira arbitraria e vem de fontes independen-tes. Mas essa definicao, alem de ser muito doida, entra em conflito direto coma pratica matematica, que busca sempre a descricao formal e precisa dos entesa serem definidos, e possui pouca aplicacao pratica tambem em filosofia.

6.1 Ideias basicas

Comecando em 1879, Gottlob Frege [8] definiu conjuntos atraves da compre-ensao de predicados, onde qualquer predicado (ou propriedade) pudesse serusado para definir um conjunto.

Se pensarmos em um conjunto como uma colecao de objetos, entao existembasicamente duas maneiras diferentes de descrever conjuntos:

(1) exibindo cada um de seus objetos;

(2) apresentando uma propriedade que seja uma condicao necessaria e sufici-ente para pertinencia ao conjunto.

Para conjuntos finitos, podemos utilizar tanto (1) quanto (2). De fato, oconjunto A = {a1, . . . , an} e determinado pela propriedade

x1 = a1 ∨ . . . ∨ xn = an

Para conjuntos infinitos, (1) e claramente impossıvel. A pergunta que surgeentao e: quando dois conjuntos sao iguais?

A condicao mais aceita e intuitivamente correta e que dois conjuntos saoiguais se e somente se eles possuem os mesmos elementos. Mas, apesar deintuitiva, essa afirmativa e altamente nao trivial pois as propriedades usadasna descricao de dois conjuntos com elementos iguais podem ser diferentes. Porexemplo, o conjunto de todos os inteiros irracionais e o conjunto das pessoasimortais e igual. Dois conjuntos com os mesmos elementos sao ditos seremco-estensivos.

Se aceitarmos a condicao descrita anteriormente para igualdade de conjuntos,entao essa relacao entre conjuntos deve satisfazer todas as propriedades de umarelacao de igualdade. A reflexividade vale obviamente, pois todo conjunto possuios mesmos elementos que si mesmo. A outra condicao basica da igualdade eque dois conjuntos iguais devem possuir as mesmas propriedades:

A = B ⇒ P (A) ≡ P (B)

16

Page 17: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Esta condicao nao pode ser deduzida a partir da nocao de co-extencao. Ou seja,se desejamos que co-extensao caracterize a identidade entre conjuntos, entao essacondicao (ou princıpio) deve ser posta como axioma. Esse princıpio e conhecidocomo o princıpio ou axioma da extensionalidade.

Observamos que o princıpio da extensionalidade pode parecer obvio, mas epossıvel formular uma teoria de conjuntos coerente em que tal princıpio naovale.

Uma vez que acreditamos no princıpio da extensionalidade, surge uma outraquestao: toda propriedade define um conjunto? Ou seja, dada uma propriedadeP , existe um conjunto definido exatamente por aqueles objetos que satisfazem acondicao P? A tese de que toda propriedade ou condicao define um conjunto econhecida como princıpio da abstracao (o conjunto e abstraıdo da propriedadeque o define). Formalmente:

∀P.∃A.∀x.(x ∈ A ≡ P (x))

Frege e Dedekind provaram, utilizando uma serie de construcoes engenhosas,que toda a matematica basica podia ser descrita usando apenas logica de pri-meira ordem mais os dois princıpios: extensionalidade e abstracao. Ou seja, seconsiderarmos a l.p.o. (com “∈” como o unico predicado primitivo) mais os axi-omas citados acima entao e possıvel, por meio de construcoes e definicoes dentrodo sistema, definir os numeros naturais, os reais, e reproduzir formalmente asprovas usuais dos teoremas conhecidos sobre tais conjuntos e seus elementos.

6.2 O sistema formal

A linguagem F definida por Frege contem apenas um predicado, que escrevere-mos como ∈. As fomulas de F sao definidas abaixo.

1. Toda variavel e um termo.

2. Se x, y sao termos, entao x ∈ y e uma formula.

3. Se A e uma formula e x e uma variavel, entao ∀x.A e ∃x.A sao formulas.

4. Se A e uma formula contendo x como variavel livre, entao {x | A} e umtermo.

5. Se A,B sao formulas, entao ¬A,A ∨B sao formulas.

6. As formulas e termos de F sao exatamente as definidas pelas regras acima.

A primeira definicao de F e a de igualdade:

Definicao 4 Escrevemos (x = y) para

∀z.z ∈ x ≡ z ∈ y

onde a variavel z nao ocorre livre em x ou y.

Os axiomas de extensionalidade e abstracao sao os unicos axiomas de F :

F1. ∀x.∀y.(x = y) ⇒ A(x, x) ≡ A(x, y) onde A(x, y) e obtido de A(x, x)substituindo x por y zero, uma ou mais ocorrencias de x em A(x, x) e y elivre em x em todas as ocorrencias de x por ele substituıdas.

17

Page 18: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

F2. ∀x.x ∈ {y | A(y)} ≡ A(x) onde A(y) contem y livre, x e livre em y emA(y) e A(x) e obtido de A(y) substituindo y por x em todas as ocorrenciaslivres de y em A(y).

Segue imediatamente que se ⊢ A(x) ≡ B(x) entao ⊢ {x | A(x)} = {x |B(x)}.

A seguir, apresentaremos algumas definicoes e teoremas em F .

Teorema 5 ⊢ ∀x.x = x

Prova Considere a seguinte derivacao:

⊢ x2 ∈ x1 ≡ x2 ∈ x1(inicial)

⊢ ∀x2.x2 ∈ x1 ≡ x2 ∈ x1(∀I)

Pela Definicao 4, obtemos ⊢ x1 = x1. Logo,

⊢ x1 = x1(inicial)

⊢ ∀x1.x1 = x1(∀I)

como querıamos.

Definicao 5 V denota {x | x = x}

Teorema 6 ⊢ ∀x.x ∈ V

Ou seja, V e, na verdade, o conjunto universal contendo tudo. Em particular,V contem ele mesmo.

Definicao 6 ∅ denota {x | x 6= x}

Teorema 7 ⊢ ∀x.x /∈ ∅

∅ e o conjunto vazio, um conjunto que nao contem elementos. Poderıamosseguir adiante e definir uniao, intersecao e complementar de conjuntos. Veja areferencia 5 para a lista completa de definicoes.

O mais impressionante dessa teoria, e que podemos definir o conjunto dosnaturais com apenas o que foi descrito ate agora. A seguir, as definicoes de zero,sucessor e do conjunto dos naturais.

Definicao 7 0 denota {∅}

Definicao 8 S(x) denota {y | ∃z.z ∈ y ∧ (y ∩ z) ∈ x}

Definicao 9 N denota {x1 | ∀x2.(0 ∈ x2) ∧ ((∀x3.x3 ∈ x2 ⇒ S(x3) ∈ x2) ⇒x1 ∈ x2)}

Um conjunto e dito indutivo se contem o sucessor de todos os seus elementos.N e o menor conjunto indutivo contendo o 0.

Com as definicoes acima, podemos provar alguns teoremas sobre o conjuntoN .

Teorema 8 ⊢ 0 ∈ N

18

Page 19: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Ou seja, 0 e um numero natural. Tambem, 0 nao e o sucessor de nenhumnumero natural:

Teorema 9 ⊢ ∀x.0 6= S(x)

O sucessor de um natural tambem e natural:

Teorema 10 ⊢ ∀x.x ∈ N ⇒ S(x) ∈ N

Teorema 11 ⊢ ∀x1.(0 ∈ x1 ∧ ∀x2.x2 ∈ x1 ⇒ S(x2) ∈ x1) ⇒ (N ⊂ x1)

O teorema acima diz que N esta contido em qualquer conjunto contendo ozero e o sucessor de cada um de seus elementos, e permite enunciar a inducaomatematica:

Teorema 12 ⊢ (P (0) ∧ ∀x.P (x) ⇒ P (S(x))) ⇒ ∀x.(x ∈ N ⇒ P (x))

Algumas observacoes importantes sobre o que foi discutido acima:

• Os cinco postulados de Peano (formalizacao da aritmetica) podem serprovados a partir do sistema de Frege.

• As operacoes de adicao, multiplicacao, etc, podem ser definidas utilizandoa recursao:

x+ 0 = xx+ S(y) = S(x+ y)

Claro que o segundo ıtem depende do Teorema da recursao primitiva: dadasas funcoes g(x1, . . . , xn) e h(x1, . . . , xn, y, z), existe uma funcao f(x1, . . . , xn, xn+1)tal que f(x1, . . . , xn, 0) = g(x1, . . . , xn) e f(x1, . . . , xn, S(y)) = h(x1, . . . , xn, y, f(x1, . . . , xn, y)).Tal teorema pode ser provado por inducao, tambem dentro do sistema de Frege.Mas nao pode ser provado apenas a partir dos axiomas de Peano.

O sistema de Frege e certamente viavel e satisfaz claramente 5 dos criteriosestabelecidos anteriormente para uma boa fundamentacao da matematica. Asconstrucoes sao naturais e intuitivas e os axiomas nao fazem nada a mais queexpressar formalmente algumas caracterısticas que parecem basicas e essenciaisem teoria de conjuntos.

Mas falta o mais importante: a consistencia!

Teorema 13 ⊢ {x | x /∈ x} /∈ {x | x /∈ x}

Teorema 14 ⊢ {x | x /∈ x} ∈ {x | x /∈ x}

Se toda condicao determina um conjunto, entao considere o conjunto y de-terminado pela condicao x /∈ x. Ou seja, y e o conjunto de todos os conjuntosque nao sao elementos de si mesmos.

A princıpio, y e um conjunto grande, uma vez que a maioria dos conjuntosnao e membro de si mesmo. Por exemplo, o conjunto dos reais nao e um numeroreal. O paradoxo consiste no fato de que y e um elemento de si mesmo se esomente se nao o e. Mais sobre o Paradoxo de Russell na Secao 6.3.

Sendo o Sistema de Frege inconsistente, qualquer coisa pode ser provadadentro dele e, portanto, ele nao poder ser usado como uma fundacao para amatematica.

19

Page 20: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Mas, apesar de ser inconsistente, nem tudo o que foi desenvolvido por Fregeera errado. Por exemplo, a construcao dos conjuntos numericos e consistente.O erro consistiu em considerar o princıpio da abstracao de uma maneira geral.

Entao a pergunta que surge e: e possıvel propor um sistema baseado nasideias de Frege que nao seja contraditorio? Veja a resposta na Secao 7.

6.3 Paradoxos e a teoria de tipos de Russell

Em 1903, Bertrand Russell publicou Principles of Mathematics, onde ele afirmaque matematica e logica sao identicas. Em suas palavras:

“Pure mathematics is the class of all propositions of the form p implies qwhere p and q are propositions ... and neither p nor q contains any constantsexcept logical constants.”

No seu trabalho posterior Principia Mathematica, escrito entre 1910 e 1913em colaboracao com Alfred North Whitehead (1861-1947), Russell propoe umsistema que pensa ser completo para matematica pura, baseado exclusivamenteem princıpios logicos puros, e formulado utilizando uma linguagem simbolicaprecisa.

A preocupacao principal do Principia Mathematica era evitar os tao famososparadoxos circulares viciosos, tais como o paradoxo de Russell. O paradoxo deRussell comeca com o questionamento se um conjunto qualquer e um membrode si mesmo ou nao.

Por exemplo, o conjunto de todos os gatos nao e membro de si mesmo, pornao ser um gato. Mais interessante, considere R a colecao contendo apenas osconjuntos que nao sao membros de si mesmos. A pergunta que surge e: R eum conjunto ou nao? Suponha que sim. Entao existem duas possibilidades: ouR ∈ R, ou R /∈ R. No primeiro caso, R deve satisfazer a condicao de pertinenciaa R, ou seja, R nao deve ser um membro de si mesmo, o que e um absurdo.Conversamente, suponha que R nao seja um elemento de si mesmo. Entao Rnao satisfaz a condicao de pertinencia a R. Ou seja, R deve ser um elemento desi mesmo. De qualquer modo, chegamos a uma posicao contraditoria, onde R eum membro de si mesmo precisamente quando nao o e. Observe que o fato deR ser finito ou infinito e irrelevante.

O mesmo paradoxo aparece em diversas outras situacoes, como por exemploo classico: a bibliografia de todas as bibliografias. A esse tipo de “conjunto detodos os conjuntos” chamamos usualmente de colecao.

Examinando de perto o paradoxo de Russell, vemos que R e definido atravesde uma referencia implıcita a si mesmo, e portando gerando um cırculo vicioso.

A solucao apresentada por Russell para esse tipo de problema com auto-referencia foi a de excluir todas as colecoes cuja definicao fazia referencia apropria colecao. Ou seja, ele sugeriu uma teoria de tipos ou nıveis, onde a todaclasse (conjunto, colecao) corresponde um tipo e uma classe pode conter apenaselementos de menor tipo. Com essa restricao, classes devem possuir tipo maiorque o tipo de cada um de seus membros, evitando paradoxos como o de Russell.

A teoria desenvolvida por Russell foi chamada de teoria ramificada de tipos,e consiste na espinha dorsal do Principia Mathematica. Enquanto a teoriaramificada de tipos exclui a possibilidade de paradoxos, e um sistema muitofraco para sevir como ferramenta logica para a matematica. De fato, nao sepode nem ao menos provar que existe uma infinidade de numeros naturais, ou

20

Page 21: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

mesmo que cada numero natural possui um sucessor diverso. Desta forma, atentativa de Russell de reduzir a matematica a logica foi um fracasso.

7 Teoria de conjuntos de Zermelo-Fraenkel

A partir dos trabalhos de Frege e Russell, se tornava evidente que um maioresforco deveria ser feito no sentido de formalizar (ou axiomatizar) a teoria deconjuntos.

Isso foi feito com sucesso por Ernst Zermelo. Suas razoes para faze-lo foramduas. Primeiro, a descoberta do paradoxo de Russell. Como ja observado anteri-ormente, a solucao proposta pro Russell em sua teoria de tipos nao e satisfatoria.Mas Zermelo observou que o paradoxo de Russell pode ser evitado atraves deuma escolha cuidadosa dos princıpios de construcao de conjuntos, obtendo aindao poder de expressao necessario para a argumentacao matematica.

O preco que se deve pagar para evitar inconsistencia e apenas que alguns“conjuntos” nao existem, como por exemplo o conjunto “universal” (conjuntode todos os conjuntos), ou o conjunto de todos os numeros cardinais.

A segunda razao e um pouco mais delicada. No desenvolvimento da teoriade numeros cardinais e ordinais de Cantor, surgiu a questao de qual tipo deconjunto pode ser ordenado. De fato, Zermelo provou que todo conjunto satisfazo princıpio da boa ordenacao, mas pode fazer isso apenas depois de introduzirum novo axioma que parecia ser independente dos outros (como realmente o e).

O seu axioma da escolha se tornou a ferramenta padrao da matematicamoderna, e a discussao que surgiu em torno desse axioma se compara a deoutro axioma famoso, o quinto postulado de Euclides. Mais sobre o axioma daescolha na Secao 7.3. A teoria axiomatica de conjuntos que utilizamos hoje emdia (ZF) e baseada na proposicao original de Zermelo, depois melhorada porFraenkel em 1922.

7.1 Ideias basicas

Respondendo a pergunta feita no final da Secao 6, Zermelo evitou os paradoxos einconsistencias no sistema de Frege baseando-se na ideia de que conjuntos podemser construıdos a partir de alguns conjuntos simples e algumas operacoes.

Com relacao ao princıpio da abstracao: quando conjuntos sao definidospor propriedades, eles sao usualmente subconjuntos de um dado conjunto ma-tematico. Por exemplo, um matematico trabalha com o conjunto de todas asfuncoes reais contınuas quando define a nocao “f e contınua” em termos logicospuros. Mas este e um subconjunto do conjunto de todas as funcoes reais, queos matematicos consideram um objeto matematico valido. Mas certamente naoocorreria a um matematico considerar o conjunto de todas as funcoes (ou equi-valentemente o conjunto de todos os conjuntos). A razao e simples: nao temsentido em se falar do conjunto de todas as funcoes, uma vez que cada funcaoe determinada por um domınio, uma regra matematica, um co-domınio e assimpor diante.

Portanto, no sistema de Zermelo, o princıpio da abstracao se torna o princıpioda separacao. Basicamente, esse princıpio determina um processo de obter sub-conjuntos a partir de um conjunto dado atraves de propriedades, ao inves dedefini-los a priori pelas propriedades.

21

Page 22: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

O princıpio da separacao pode ser definido de maneira intuitiva:

Para cada condicao P (que possa ser expressa por uma formula logicana nossa teoria formal) e para cada conjunto y dado, o conjunto detodos os elementos de y que satisfazem a propriedade P existe.

Utilizando a notacao logica:

⊢ ∀y.∃x.∀z.(z ∈ x) ≡ (z ∈ y) ∧ P (z)

Ou seja, ao inves de propor a existencia de conjuntos, o princıpio da se-paracao fala sobre a existencia de subconjuntos de um dado conjunto.

O unico conjunto cuja existencia pode ser provada a partir do princıpio daseparacao e o conjunto vazio. Basta tomar qualquer propriedade auto contra-ditoria para P . Por exemplo:

⊢ ∃x1.∀x2.(x2 ∈ x1) ≡ (x2 ∈ x3) ∧ ((x2 ∈ x2) ∧ (x2 /∈ x2))

o que implica⊢ ∃x1.∀x2.(x2 /∈ x1)

Observe que nenhuma formula logica P da origem ao conjunto universal.Com o princıpio da separacao podemos apenas construir o conjunto vazio.

Todos os outros conjuntos devem ser subconjuntos de conjuntos dados. Entaodevemos determinar quais sao esses conjuntos. Basicamente, conjuntos validossao construıdos atraves do conjunto vazio e operacoes basicas como power set euniao. Temos necessidade de outros postulados (ou axiomas) para garantir essasoperacoes. Esses axiomas adicionais, juntamente com o princıpio da separacao,constituem o sistema de Zermelo-Fraenkel (ZF).

7.2 Formalizacao de ZFA gramatica de termos e formulas de ZF e basicamente a mesma descritaanteriormente para o sistema de Frege, exceto pela introducao de termos quesao operadores primitivos, que serao apresentados ao longo do texto.

A primeira definicao de ZF e a de igualdade, igual a definicao de Frege:

Definicao 10 Escrevemos (x = y) para

∀z.z ∈ x ≡ z ∈ y

onde x e y sao quaisquer termos nos quais a variavel z nao ocorre livre.

O axioma de extensionalidade de ZF :

ZF1. ∀x.∀y.(x = y) ⇒ A(x, x) ≡ A(x, y) onde A(x, y) e obtido de A(x, x)substituindo x por y zero, uma ou mais ocorrencias de x em A(x, x) e y elivre em x em todas as ocorrencias de x por ele substituıdas.

Teorema 15 ⊢ ∀x1.∀x2.((x1 = x2) ⇒ ∀x3.(x1 ∈ x3) ≡ (x2 ∈ x3))

22

Page 23: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Prova Considere a deducao abaixo:

x1 = x2 ⊢ (x1 ∈ x3) ≡ (x2 ∈ x3)

x1 = x2 ⊢ ∀x3.(x1 ∈ x3) ≡ (x2 ∈ x3)(∀I)

⊢ (x1 = x2) ⇒ ∀x3.(x1 ∈ x3) ≡ (x2 ∈ x3)(⇒ I)

⊢ ∀x1.∀x2.((x1 = x2) ⇒ ∀x3.(x1 ∈ x3) ≡ (x2 ∈ x3))(∀I)

Pelo axioma ZF1 com x = x1, y = x2 e A(x, x) = ∀x3.x ∈ x3 ≡ x ∈ x3:

⊢ (x1 = x2) ⇒ ∀x3.(((x1 ∈ x3) ≡ (x1 ∈ x3)) ≡ ((x1 ∈ x3) ≡ (x2 ∈ x3)))

Logo,

(x1 = x2) ⊢ (((x1 ∈ x3) ≡ (x1 ∈ x3)) ≡ ((x1 ∈ x3) ≡ (x2 ∈ x3))) (x1 = x2) ⊢ (x1 ∈ x3) ≡ (x1 ∈ x3)

x1 = x2 ⊢ (x1 ∈ x3) ≡ (x2 ∈ x3)

O axioma da separacao e formalmente enunciado como:

ZF2. ∀x.∀y.(x ∈ {y | (y ∈ z) ∧A(y)}) ≡ (x ∈ z) ∧A(x).

A diferenca entre o princıpio da separacao e o princıpio da abstracao deFrege e a condicao extra y ∈ z.

O axioma a seguir que diz que 0 e o conjunto vazio:

ZF3. 0 = {x1 | x1 ∈ 0 ∧ x1 6= x1}, onde 0 e uma constante primitiva.

Como ja observamos antes, a existencia do conjunto vazio pode ser deduzidaa partir de ZF2. ZF3 apenas nos diz que 0 e o conjunto de nenhum elemento,como o 0 = ∅ do sistema de Frege.

Teorema 16 ⊢ ∀x.(x = x)

A demonstracao do teorema acima e trivial e este resultado pode ser usado paraprovar:

Teorema 17 ⊢ ∀x.(x /∈ 0)

Prova Por ZF2, x ∈ 0 = x ∈ 0 ∧ x 6= x. Logo x ∈ 0 ⇒ x 6= x pode serprovado:

x ∈ 0 ⊢ x ∈ 0 ∧ x 6= x(inicial)

x ∈ 0 ⊢ x 6= x(∧E)

⊢ x ∈ 0 ⇒ x 6= x(⇒ I)

Utilizando as equivalencias De Morgan, a conclusao da derivacao acima e equi-valente a ⊢ x = x⇒ x /∈ 0. Logo,

⊢ x = x⇒ x /∈ 0⊢ ∀x.x = x⊢ x = x

(∀E)

⊢ x /∈ 0(⇒ E)

⊢ ∀x.x /∈ 0(∀I)

Dado que P e a representacao da funcao primitiva que indica o “power set”(P(y) e o conjunto de todos os subconjuntos de y), o quarto axioma do sistemaZF pode ser enunciado assim:

23

Page 24: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

ZF4. ∀x.∀y.x ∈ P(y) ≡ (x ⊂ y).

Seja {y, z} a representacao da funcao primitiva que indica o par nao ordenadode y e z, ou o conjunto cujos unicos elementos sao y e z.

ZF5. ∀y.∀z.∀x.x ∈ {y, z} ≡ (x = y ∨ x = z).

Seja⋃

a representacao da funcao primitiva tal que⋃

(y) indica a uniao detodos os conjuntos na colecao y. O proximo axioma e conhecido como axiomada soma de conjuntos.

ZF6. ∀y.∀x.x ∈ ⋃

(y) ≡ ∃z.(z ∈ y) ∧ (x ∈ z).

Definicao 11 Denotaremos x ∪ y =⋃

({x, y}).

Definicao 12 Denotaremos x′ = x ∪ {x}. Em particular, escreveremos 1 =0′, 2 = 1′. etc.

O operador x′ e a funcao sucessor no sistema de Zermelo. A versao denumeros naturais que obtemos e a mesma desevolvida por von Neumann. In-tuitivamente, os numeros naturais formam o menor conjunto contendo o 0 efechado com relacao a operacao sucessor.

Ao total, sao 10 os axiomas de ZF . Nao discutiremos todos os outros aqui,mas de especial interesse sao aqueles que tratam da existencia do conjuntoinfinito e o axioma da escolha, que e o assunto da proxima secao.

7.3 Axioma da escolha

No livro Introducao a Filosofia da Matematica, Russell relata a parabola de ummilionario cujo guarda roupa possui um numero enumeravel (infinito) de paresde sapatos, assim como de meias. Parece obvio que existe uma bijecao entreos sapatos e os numeros naturais, e uma bijecao entre as meias e os numerosnaturais.

Com relacao aos sapatos, essa bijecao e facil de estabelecer: o sapato es-querdo do n-esimo par corresponde ao numero 2n, enquanto que o sapato direitocorresponde ao numero 2n+1. E com relacao as meias? O problema e que, emgeral, nao se pode distinguir meias de um certo par, como feito com sapatos.Ou seja, para que o mesmo procedimento funcione nesse caso e necessario queas meias de todos os pares (a menos de um numero finito) sejam diversas. Masnao somente isso, as meias devem ser diversas mas seguindo um certo criterio,como por exemplo uma e azul e a outra preta.

O fato de que nao existe um modo sistematico de escolher uma meia de umpar significa que precisamos da uma funcao de escolha, mesmo que nao possamosapresenta-la explicitamente.

Uma funcao de escolha em uma famılia S de conjuntos e uma funcao f comdomınio S tal que, para todo conjunto nao vazio X em S, f(X) e um elementode X . Em outras palavras, f “escolhe” um elemento para cada membro de S.

Se S e finito, a existencia da funcao de escolha em S e uma consequenciatrivial dos princıpios basicos de formacao de conjuntos e das regras de logicaclassica.

Quando S e infinito, entretanto, esses princıpios nao sao suficientes e por-tanto a existencia de uma funcao de escolha deve ser postulada. A afirmativa

24

Page 25: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

que em qualquer famılia de conjuntos nao vazios (mesmo que sejam infinitos)existe ao menos uma funcao de escolha e chamado o axioma da escolha. Esseprincıpio foi proposto por Zermelo em 1904.

Formalmente, o axioma da escolha diz o seguinte:

ZF10. ∀x.x 6= 0 ⇒ σ(x) ∈ x onde σ e a representacao da funcao primitiva queindica a funcao escolha.

σ(x) escolhe exatamente um elemento do conjunto nao vazio x. Claramente,σ escolhe o mesmo elemento para dois conjuntos iguais:

Teorema 18 ⊢ ∀x1.∀x2.(x1 = x2) ⇒ σ(x1) = σ(x2)

O carater altamente nao construtivo do axioma da escolha provocou umagrande crıtica inicialmente: ao mesmo tempo que garante a possibilidade de sefazer um numero arbitrariamente grande de escolhas arbitrarias, o axioma naoda nenhuma indicacao de como essas escolhas devem ser feitas.

Em 1938, Godel estabeleceu a relativa consistencia do axioma da escolhacom relacao a sistemas usuais de teoria de conjuntos e isso, juntamente com aimportancia do axioma da escolha em provas de muitos teoremas matematicosimportantes, fez com que o axioma fosse aceito pela maioria da comunidadeacademica.

A prova de independencia do axioma da escolha (com relacao aos demaisaxiomas da teoria de conjuntos de Zermelo Fraenkel) foi apresentada em 1964por P. J. Cohen.

A julgar pelo numero de consequencias matematicas, o axioma da escolha esem duvida o mais fertil princıpio da teoria de conjuntos.

Muitas dessas consequencias sao, na verdade, equivalentes ao teorema daescolha. As mais famosas sao:

1. Teorema da boa ordenacao de Zermelo: todo conjunto pode ser bem or-denado.

2. Princıpio de tricotomia: em todo par de numeros cardinais, um e menorque o outro, ou eles sao iguais.

3. Lema de Kuratowski-Zorn: qualquer conjunto nao vazio no qual todosubconjunto ordenado possui um limite superior, possui um elemento ma-ximal.

4. Teorema de Tychonov: o produto de qualquer famılia de espacos to-pologicos compactos e compacto.

5. Teorema de Hamel-Banach: todo espaco vetorial possui uma base.

Como observado anteriormente, o carater nao construtivo do axioma daescolha foi notado desde quando foi proposto. Entretanto, a questao de qual eo seu “status” logico continuou sem solucao por um bom tempo. Finalmente,em 1975, Diaconescu mostrou que o axioma da escolha implica o princıpio domeio excluıdo (veja Teorema 19 abaixo). Esse resultado e extraordinario perse, apesar de nao ser de todo surpreendente. De fato, isso basta para entenderporque os metodos de prova em matematica sao baseados em logica classica,como a demonstracao por absurdo por exemplo.

A seguir, uma prova facil de que o axioma da escolha implica o princıpio domeio excluıdo.

25

Page 26: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Teorema 19 Considere a seguinte formulacao do axioma da escolha:ZF10′ : Se S e um subconjunto do produto cartesiano A × B e, para cada

x ∈ A existe y ∈ B tal que (x, y) ∈ S, entao existe uma funcao f : A → B talque (x, f(x)) ∈ S para cada x ∈ A.

Entao vale o princıpio do meio excluıdo: ⊢ p ∨ ¬p.

Prova Seja A = {s, t}, onde s = t se e somente ⊢ p, onde p e um predicadoqualquer. Seja B = {0, 1} e seja S = {(s, 0), (t, 1)} ⊂ A×B. Se f : A→ B e afuncao de escolha para S, entao

(I) f(s) = 1 ou f(t) = 0, entao devemos ter s = t e, portanto p vale; ou

(II) f(s) = 0 e f(t) = 1, e portanto s nao pode ser igual a t e p nao vale.

Finalmente, um comentario rapidinho sobre as consequencias “paradoxais”do axioma da escolha. Em 1914, Hausdorff provou, utilizando o axioma daescolha, que 2/3 da superfıcie da esfera e congruente a 1/3 dela. Esse resul-tado foi mais tarde estendido para o caso tri-dimensional por Banach e Tarskiem 1924, onde eles utilizaram o axioma da escolha para provar que qualqueresfera solida pode ser decomposta em um numero finito de subconjuntos, quepodem ser re-arranjados de tal modo a formar duas esferas solidas, cada umado mesmo tamanho da original. Esse resultado e conhecido como o paradoxode Banach-Tarski. Por mais estranhos que esses resultados possam parecer,eles nao constituem, verdadeiramente, contradicoes. Decomposicoes “parado-xas” como essas so se tornam possıveis em teoria de conjuntos porque objetosgeometricos contınuos foram considerados como um conjunto discreto de pon-tos, que o axioma da escolha entao permite ser rearranjado em uma maneiraarbitraria.

8 O programa de Hilbert e a incompletude de

Godel

Nesta secao comecaremos a discutir algumas questoes basicas que dizem respeitoa relacao entre provas dentro de uma certa linguagem formal e a argumentacaometa-matematica sobre as provas dentro da linguagem.

O problema basico a ser abordado e o seguinte: dado um sistema logicoformal, como podemos provar que tal sistema e consistente?

Para provar a inconsistencia, basta exibir uma deducao de uma contradicao,como foi feito no caso do sistema de Frege.

Para provar a consistencia, devemos provar que e impossıvel que qualquercontradicao possa ser um teorema do sistema. Existem basicamente dois metodospara fazer isso. O primeiro e mostrar que o sistema formal e, na verdade, umaestrutura matematica. Atraves de uma exaustiva analise do processo de provadentro do sistema (visto como uma operacao matematica) pode-se mostrar quecontradicoes nao estao presentes no sistema. Este metodo e conhecido comoproof theory.

O segundo metodo utiliza o fato de que qualquer sistema que possui ummodelo (matematico) e consistente. Essa abordagem e conhecida como modeltheory.

26

Page 27: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Em qualquer um dos dois metodos, para provar consistencia devemos utilizara matematica. Como a matematica nao foi provada consistente, existe aı umacircularidade.

Uma maneira de evitar este dilema e restringir as ferramentas matematicasutilizadas para prova de consistencia. Por exemplo, utilizar apenas o que podeser desenvolvido atraves de metodos matematicos construtivos. Um exemplo ea prova de consistencia da logica de primeira ordem.

Para a discussao que se segue, precisaremos da linguagem S da aritmeticade primeira ordem.

S e uma teoria de primeira ordem com um predicado binario primitivo “=”,duas funcoes binarias primitivas “+” e “•”, uma funcao unaria “′” e uma cons-tante primitiva “0”. Intuitivamente, tais entes primitivos representam a relacaode igualdade, as operacoes de adicao, multiplicacao e sucessor nos naturais, ezero, respectivamente. Os axiomas de S consistem daqueles para igualdade (verHatcher pagina 70), os axiomas de Peano para o 0 e ′, e as definicoes recursivaspara a adicao e multiplicacao:

x+ 0 = x ∧ x+ y′ = (x+ y)′

x • 0 = 0 ∧ x • y′ = x • y + x

Observe que esta linguagem e bem mais fraca que uma baseada em teoria deconjuntos, uma vez que todos os axiomas de S sao teoremas dentro da teoria deconjuntos ZF .

Os teoremas de aritmetica que podem ser provados dentro de S sao ditoselementares.

Observe que para provar a consistencia de S devemos utilizar a aritmetica.Ou seja, devemos assumir que S e consistente e pronto! Tambem porque ateoria de numeros e uma parte basica da matematica, entao S ser inconsistentedesmorona toda a matematica que conhecemos.

8.1 O programa de Hilbert

Em 1899 David Hilbert publicou o seu trabalho Grundlagen der Geometrie(Fundamentos da Geometria), que marcou epoca. Sem introduzir nenhum sim-bolismo especial, nesse trabalho Hilbert formula um tratamento axiomatico ri-goroso da geometria euclideana.

Ele tambem estabelece a consistencia do seu sistema axiomatico mostrandoque ele pode ser interpretado em um sistema de numeros reais. Com esse sis-tema, Hilbert procurava mostrar que a geometria era inteiramente auto sufici-ente como um sistema dedutivo.

O grande sucesso que Hilbert obteve com esse trabalho o levou a tentar apli-car o mesmo metodo a matematica pura como um todo, deste modo assegurandoo que ele esperava ser o rigor perfeito de toda matematica.

Hilbert foi o primeiro a formular o conceito de meta-matematica, por meioda qual ele pretendia estudar sistemas formais atraves de metodos concretos(construtivos) de teoria de numeros. O objetivo era apresentar uma prova deconsistencia de um sistema no qual toda a matematica poderia ser deduzida.

O programa de Hilbert (1920) tinha como objetivo prover uma nova fundacaopara a matematica, nao reduzindo-a a logica, mas representando a sua formaessencial dentro de sımbolos concretos. Desta forma, proposicoes matematicas

27

Page 28: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

que se referiam apenas a objetos concretos foram chamados reais, ou concre-tos, enquanto que outras proposicoes matematicas eram consideradas ideais ouabstratas.

Entao, por exemplo, 2+2=4 seria considerado como uma proposicao real,enquanto que “existe um numero ımpar perfeito” seria visto como ideal. Naverdade, proposicoes ideais eram pensadas como pontos no infinito da geometriaprojetiva.

As ambicoes propostas no programa de Hilbert foram derrubadas mais tardepor Godel, que provou, atraves do seus famosos teoremas de incompletude, queexistem sempre proposicoes reais provaveis atraves de metodos ideais que naopodem ser provadas por metodos concretos. Ou seja, o programa de Hilbertpara estabelecer a consistencia da matematica se mostrou irrealizavel.

8.2 Teoremas de incompletude de Godel

No princıpio do seculo XX, Godel acabou com qualquer esperanca de encontraruma base axiomatica para a matematica que fosse ao mesmo tempo completa elivre de contradicoes.

De uma maneira concisa, o teorema da incompletude de Godel diz que:

em qualquer formalizacao consistente da matematica que seja su-ficientemente forte para definir o conceito de numeros naturais, sepode sempre construir uma afirmativa que nao pode ser provadaverdadeira ou falsa dentro do sistema.

Mais especificamente, seja F um sistema de primeira ordem no qual igual-dade pode ser definida. Dizemos que F e suficientemente rico se ao menos aaritmetica de primeira ordem pode ser desenvolvida dentro de F . Ou seja, osaxiomas de S devem ser teoremas de F . Godel provou que:

1. Se o conjunto de axiomas de um sistema for decidıvel (no sentido de quepodemos decidir por metodos construtivos quando uma formula e ou naoum axioma), entao nao e possıvel construir um sistema formal de primeiraordem suficientemente rico no qual todos os teoremas dentro do sistemasao provaveis verdadeiros.

2. A consistencia de um sistema formal de primeira ordem suficientementerico F nao pode ser provado por metodos que podem ser expressos em F .Em particular, se S e consistente, entao nao podemos provar a consistenciade S dentro de S4. Ou seja, nao existe uma prova absoluta de consistenciapara nenhum sistema consistente e suficientemente rico.

Observe que o ıtem (2) e equivalente a dizer que e impossıvel provar a con-sistencia da matematica dentro de um sistema de primeira ordem. Entao, comoresultado imediato do fato de que a logica de primeira ordem ser consistente,temos que a matematica nao pode ser formalizada utilizando apenas logica deprimeira ordem.

A prova apresentada por Godel e feita atraves de uma modificacao engenhosado paradoxo do mentiroso:

4E importante observar que S foi provado consistente por Gentzen, mas seu metodo usa

inducao transfinita e portanto envolve os metodos de teoria geral de conjuntos.

28

Page 29: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

“esta sentenca e falsa”.

Basicamente, Godel provou que se nessa frase se substitui a palavra falsa pelafrase nao concretamente provavel, entao a proposicao resultante e verdadeira,mas nao concretamente provavel. Estendendo esse argumento, Godel foi capazde provar que a consistencia da aritmetica nao pode ser provada por meiosconcretos.

8.3 O metodo de prova dos teoremas de Godel: funcoesrecursivas

Ilustraremos aqui, de maneira intuitiva, o metodo utilizado por Godel para osistema S.

O primeiro passo para demonstrar o resultado (1) e estabelecer uma corres-pondencia 1 − 1 (g) entre os sımbolos primitivos, expressoes bem formadas esequencias de expressoes bem formadas de S e os numeros naturais. A imagemde um certo sımbolo ou expressao e chamada de numero de Godel.

Deste modo, os numeros de Godel para S (por convencao) sao:

g(0) = 3,g(′) = 5,g(() = 7,g()) = 9,g(+) = 11,g(•) = 13,g(=) = 15,g(xn) = 15+2n

onde xn e qualquer variavel.Depois, lembramos que uma expressao e qualquer sequencia finita de sımbolos

primitivos, e que toda expressao bem formada e uma expressao. Atribuımosnumeros de Godel a expressoes da seguinte forma:

• Se a0a1 . . . an e uma sequencia finita de sımbolos primitivos, entao

g(a0a1 . . . an) = 2g(a0) · 3g(a1) · . . . · pg(an)n

onde pn e o n-esimo primo.

• Se x = e0e1 . . . en e uma sequencia finita de expressoes, entao

g(x) =

n∏

i=0

pg(ei)i

Observe que a correspondencia g e 1-1 entre conjunto formado pela uniao dis-junta de sımbolos primitivos, expressoes bem formadas ou sequencias de ex-pressoes e a sua imagem nos naturais. De fato, o metodo apresentado paracalcular o numero de Godel e construtivo. Reciprocamente, podemos decidir seum dado natural e um numero de Godel e, mais ainda, encontrar a expressaonesse caso.

Outra observacao e que o numero de Godel para sımbolos primitivos e ımpar,enquanto que o de expressoes e par com todos os expoentes ımpares na fatoracaoprima. O numero de Godel para sequencias de expressoes e par com todos osexpoentes pares.

Exemplo 4 Calculemos o numero de Godel para a expressao (x1 = x1).

g((x1 = x1)) = 2g(() · 3g(x1) · 5g(=) · 7g(x1) · 11g())

27 · 317 · 515 · 717 · 119

29

Page 30: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Uma vez que estabelecemos uma correspondencia entre a aritmetica e umalinguagem formal, podemos observar que toda propriedade da linguagem for-mal da origem a uma propriedade da aritmetica e vice versa. Por exemplo, apropriedade

ser uma expressao bem formada de S

determina um unico conjunto de expressoes e, por consequencia, um unico con-junto de numeros que representam a contrapartida aritmetica da propriedadeem questao, a saber:

ser um numero de Godel para uma expressao bem formada.

Alem disso, note que podemos representar todos os numeros naturais em S.De fato, o numero zero e representado pela constante “0” e, de uma maneirageral, o numero n e representado pelo termo 0

′′...′ com n ocorrencias do sımboloprimitivo ′. Chamaremos de numerais esses termos de S e escreveremos n parao numeral associado ao numero n.

Passaremos agora a definir o conceito de funcao recursiva. As seguintesfuncoes aritmeticas sao iniciais:

• a funcao zero: Z(x) = 0 para todo x ∈ N ;

• a funcao sucessor: v(x) = x+ 1 para todo x ∈ N ;

• as funcoes projecao: Uni (z1, . . . , zi, . . . , zn) = zi onde (z1, . . . , zi, . . . , zn) ∈

Nn

As seguintes operacoes elementares definem uma funcao aritmetica a partirde outras funcoes aritmeticas dadas:

• Substituicao: dadas n funcoes h1, . . . , hn dem variaveis cada e uma funcaog de n variaveis, a funcao f e definida por:

f(z1, . . . , zm) = g(h1(z1, . . . , zm), h2(z1, . . . , zm), . . . , hn(z1, . . . , zm))

• Recursao primitiva: dadas uma funcao h de n+ 2 variaveis e uma funcaog de n variaveis, a funcao f de n+ 1 variaveis e definida por:

f(z1, . . . , zn, 0) = g(z1, . . . , zn)f(z1, . . . , zn, y + 1) = h(z1, . . . , zn, y, f(z1, . . . , zn, y))

• Minimalizacao: associa a funcao f de n variaveis a funcao h de n + 1variaveis tal que

f(z1, . . . , zn) = min y(h(z1, . . . , zn, y) = 0)

onde min y significa “o menor y tal que”. Claro que pode ocorrer que talmınimo nao esteja definido para um determinado h e para certos valoresz1, . . . , zn. Desta forma, o uso de minimalizacao sera restrito aqueles casosonde existe um mınimo para cada conjunto de valores dos parametros zi.

Definicao 13 1. Uma funcao recursiva e qualquer funcao que e ou inicialou pode ser obtida a partir de uma funcao inicial por um numero finito deaplicacoes de operacoes elementares.

30

Page 31: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

2. Um conjunto recursivo de numeros naturais e definido como um conjuntode numeros naturais cuja funcao caracterıstica (ou seja, a funcao que vale0 para todos os elementos do conjunto e 1 fora dele) e recursiva.

3. Uma relacao e recursiva se sua funcao caracterıstica e recursiva.

4. Uma funcao primitiva recursiva e uma funcao recursiva que pode ser obtidaa partir das funcoes iniciais sem o uso de minimalizacao.

Intuitivamente, uma funcao recursiva e aquela cujos valores podem ser cal-culados por um computador. Ou seja, funcoes recursivas sao computaveis. Arecıproca nao pode ser demonstrada porque nao existe uma definicao precisa doque vem a ser computavel (Tese de Church).

De maneira semelhante, um conjunto recursivo de numeros naturais e intui-tivamente um conjunto “decidıvel” no sentido que podemos decidir quando umobjeto esta ou nao no conjunto.

Definimos o conjunto recursivo de expressoes bem formadas como sendo todoconjunto para o qual o conjunto correspondente de numeros de Godel e recur-sivo. Similarmente, uma relacao entre expressoes bem formadas e dita recursivase a relacao correspondente nos numeros naturais tambem e recursiva. Emparticular, dizer que o conjunto de axiomas de um sistema formal e decidıvelsignifica que o seu conjunto de numeros de Godel e recursivo. Um sistema cujoconjunto de axiomas e recursivo e dito axiomatico.

Dada uma relacao R de grau n entre numeros naturais, dizemos que R podeser expressa em S se existe uma expressao bem formada A(x1, . . . , xn) tal que:

i. Se a n-tupla 〈y1, . . . , yn〉 de numeros naturais esta em R, entao

⊢ A(y1, . . . , yn)

onde yi representa o numeral associado a yi.

ii. Se a n-tupla 〈y1, . . . , yn〉 de numeros naturais nao esta em R, entao

⊢ ¬A(y1, . . . , yn)

Se R pode ser expressa em S, dizemos que A(x1, . . . , xn) expressa R.A importancia crucial do conceito de recursividade se baseia no fato de que

toda relacao recursiva pode ser expressa em S. E e essa possibilidade de expressarafirmativas sobre S dentro de S que e importante para provar os resultados (1)e (2) formulados por Godel.

A ideia da prova de (1) e baseada na construcao de uma expressao bemformada G de S tal que nem G nem ¬G podem ser provadas como teorema deS se S e consitente. O metodo para obter tal G utiliza os numeros de Godel.

Passemos entao a prova detalhada do primeiro teorema de Godel.

8.3.1 Prova do primeiro teorema de incompletude de Godel

Em primeiro lugar, definimos os predicados P e Q.

P Sejam n o numero de Godel de alguma sequencia de expressoes e1, . . . , en

e m o numero de Godel de uma expressao bem formada e. Definimos opredicado Pnm como sendo verdadeiro se e1, . . . , en ⊢ e. Dizemos que Pprova o par 〈n,m〉.

31

Page 32: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Q Seja Qx uma expressao bem formada que possui uma unica variavel livrex e seja n o seu numero de Godel. Representamos por Qn a expressaobem formada (fechada) formada a partir de Qx instanciando todas asocorrencias de x por n. Uma vez que Qn possui um numero de Godel,definimos o predicado Qxy que diz que y e o numero de Godel de Qx.

Por um lado, Qn significa que algum numero n possui a propriedade n. MasQn tambem diz que a expressao bem formada com numero de Godel n (a saber,Qx), possui a propriedade Q, uma vez que n e apenas a referencia a Qx. Ouseja, n cria um tipo de auto-referencia indireta5. Observe que predicados quefazem referenca a si proprios correspondem a funcoes recursivas.

Com o predicado Pxy, podemos tambem dizer que uma expressao bem for-mada A nao e um teorema, ou nao pode ser provada em S.De fato, seja a onumero de Godel de A. Entao a expressao

¬(∃x.Pxa)

diz que nao existe sequencia que prova A, ou simplesmente:

¬(⊢ A)

O segundo passo para provar o teorema de Godel consiste em construir asentenca bem formulada F de S:

F : ¬(∃x.∃y.Pxy ∧Qzy)

Em palavras, F diz que nao existe uma prova do par 〈x, y〉 onde y e o numerode Godel de Qz. Ou seja, Qz nao pode ser provado em S.

Para fazer F falar de si proprio, instanciamos a unica variavel livre de F , z,ao numero f de Godel de F :

G : ¬(∃x.∃y.Pxy ∧Qfy)

Alguns comentarios sobre G:

i. G = Qf , ou seja, G e a auto referencia de F .

ii. G diz que nao existe prova do par 〈x, y〉, onde y e o numero de Godel deQf . Mas Qf e G.

iii. Ou seja, G diz que nao existe prova em S de G:

G ≡ ¬(⊢ G)

iv. Mas a negacao de G tambem nao pode ser provada em S. De fato, suponhaque ¬G seja provavel em S. Ou seja,

⊢ ¬G

Como G e o mesmo que a proposicao ¬(⊢ G), obtemos

⊢ ¬G ≡ ⊢ ¬(¬(⊢ G))≡ ⊢ G

o que contraria a nossa hipotese.

5Se voce tem a impressao que o cerebro vai dar um no, entao e porque voce esta entendendo.

32

Page 33: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

v. Desta forma, dizemos que G e indecidıvel em S, ou seja, nem G nem a suanegacao podem ser provados em S.

O comentario v acima ja e suficiente para provar a incompletude de S e, por-tanto, provar o primeiro teorema de incompletude de Godel para S.

Mas o fato mais extraordinario sobre G e que ele e verdadeiro! De fato, Gdiz que nao existe prova de G em S e isso nos acabamos de ver que e verdadeiro.Observe que nos “provamos” que G e verdadeiro atraves de uma meta-analise,nao dentro de S.

Ou seja, nao obstante existem expressoes bem formadas que nao podem serprovadas em S, existem teoremas que nao podem ser provados.

Vale notar que existem outras provas do resultado (1). Algumas bastantesimples, como a descrita abaixo:

1. Alguem mostra a Godel a MV U , uma maquina que supoe-se ser umaMaquina da Verdade Universal, capaz de responder corretamente qualquerpergunta.

2. Godel pede para ver o programa e o circuito da MVU . O programa podeser complicado, mas possui comprimento finito. Chamemos este programade P (MV U).

3. Sorrindo de maneira sarcastica, Godel escreve a seguinte sentenca:

“A maquina construıda com base no programa P (MV U) nunca vai dizerque esta sentenca e verdadeira.”

Chame a sentenca acima de G, de Godel. Note que G e equivalente a:

“MVU nunca vai dizer que G e verdadeiro.”

4. Agora Godel ri e pergunta a MVU se G e verdadeiro ou nao.

5. Acontece que se MV U diz que G e verdadeiro, entao “MVU nunca vaidizer que G e verdadeiro” e falso. Da mesma forma, se MVU diz que Ge falso, entao “MVU nunca vai dizer que G e verdadeiro” e verdadeiro.Portanto MV U nao pode dar nenhuma resposta, uma vez que faz apenasafirmativas verdadeiras.

6. Em particular, MVU nunca vai dizer que G e verdadeiro. Ou seja, G everdadeiro!

7. “Eu sei uma verdade que MVU nunca podera provar,” diz Godel. “Eusei que G e verdadeiro. MVU nao e universal!”

Observe que a prova acima mostra que Godel provou uma coisa que nenhumcomputador pode provar.

Uma pergunta interessante que surge e: o que acontece se adicionarmosG aoconjunto de axiomas de S? O sistema resultante seria completo? A resposta enao. De fato, chamemos S’ a uniao de S e G. Godel provou que podemos sempreconstruir uma outra expressao bem formada G′ que nao pode ser provada em S’.Claro, podemos adicionar G′ a S’ e assim por diante. Atraves do uso abstrato

33

Page 34: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

do metodo de diagnalizacao, Godel provou que todos os sistemas dessa formasao incompletos. Esse tipo de incompletude e chamado incompletude omega

Por fim, gostaria de salientar que o teorema de Godel nao se aplica a todosos sistemas de aritmetica. So aos suficientemente fortes. Isso cria o dilema daincompletude: ou o sistema e incompleto porque e muito fraco, ou ele e fortemas ainda incompleto pelo teorema de Godel6.

Moral da estoria deste capıtulo: se a matematica e consistente (e todosacreditamos que sim!), ela e incompleta.

8.3.2 Prova do segundo teorema de incompletude de Godel

O segundo teorema de incompletude de Godel e tao revolucionario quanto oprimeiro.

Em poucas palavras, o segundo teorema diz que nenhum sistema (suficien-temente forte) pode provar a sua propria consistencia, a nao ser que o sistemaem si seja inconsistente.

A expressao bem formada utilizada para provar esse teorema e:

SC : {S e consistente}

Abaixo segue uma prova rapida do segundo teorema a partir do primeiro:1. SC ⇒ G provado no primeiro teorema2. (⊢ SC) ⇒ (⊢ G) (1) e meta-argumentacao3. ¬(⊢ G) provado no primeiro teorema4. ¬(⊢ SC) (2), (3) e modus tollens

O resultado do segundo teorema implica que, para provar a consistencia deum sistema A, devemos faze-lo ou informalmente, ou atraves de argumentacaoem um sistema B. Desta forma, obtemos apenas uma consistencia relativa paraA, uma vez que a consistencia de A agora depende da consistencia de B. Mas,por sua vez, a consistencia de B deve ser provada atraves da argumentacao emum sistema C, e assim por diante.

Para terminar este capıtulo, gostaria de salientar que o primeiro teorema deGodel provou que sistemas que contem a aritmetica nao podem ser completos,e que alguns teoremas de teoria de numeros nunca poderao se provadas verda-deiras ou falsas, nao importa o esforco que facamos. O segundo teorema mostraque a confianca que temos na aritmetica nao pode nunca ser perfeita.

Ou seja, Godel conseguiu, com uma tacada so, destruir dois ideais da ma-tematica, e o fez em 1931, aos 25 anos de idade.

9 λ-calculus e computabilidade

O λ-calculus [1, 26] e um sistema formal que lida com a teoria de funcoes. Foiintroduzido nos anos 1930 por Alonzo Church. Originalmente, Church tentouconstruir um sistema (que continha o λ-calculus) para a fundamentacao da ma-tematica. Mas esse sistema foi mostrado inconsistente por ser possıvel simular

6Hofstadter usa uma analogia interessante para este problema: imagine um ladrao que so

rouba pessoas suficientemente ricas e que para todos os viajantes que passam por uma certa

estrada. Entao, todos os viajantes que passam pela estrada serao pobres: Ou porque nao

eram suficientemente ricos, ou porque o eram e foram roubados.

34

Page 35: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

o paradoxo de Russell dentro da teoria. Desta foma, Church separou a parte doλ-calculus e a usou para estudar a computabilidade.

λ-calculus e uma teoria que representa funcoes como regras, ao inves datradicional abordagem de funcoes como graficos. Funcoes como regras e a nocaomais antiga de funcao e refere-se ao processo de partir de um argumento para umvalor, processo esse determinado apenas por uma definicao e por certas regras.Desta forma, e possıvel estudar os apectos computacionais das funcoes.

Por exemplo, podemos pensar em funcoes determinadas por definicoes emportugues aplicadas a argumentos tambem expressos em portugues. Ou, maisespecificamente, funcoes dadas como programas aplicadas a outros programas.Em ambos os casos, temos uma estrutura livre de tipos, onde os objetos deestudo sao, ao mesmo tempo, funcao e argumento.

Esse e o ponto de partida para o λ-calculus atipado. Em particular, umafuncao pode ser aplicada a ela mesma. Na nocao usual de funcao em matematica(como na teoria de conjuntos de Zermelo-Fraenkel), isso e impossıvel (por causado “axioma de fundacao”).

De maneira formal, termos em λ-calculus sao definidos da seguinte forma.

Definicao 14 Seja Var um conjunto enumeravel finito de variaveis. O con-junto deλ-termos e definido pela seguinte gramatica:

M ::= x | λx.M | MM

Ou seja, um λ-termo pode ser uma variavel, uma abstracao ou uma aplicacaode termos. Observe que um λ-termo e uma funcao com apenas um argumentoque, por sua vez, vem a ser uma funcao com um unico argumento, etc. Dessaforma, se tem uma ideia intuitiva do porque -calculus trata de funcoes recursi-vamente enumeraveis.

Funcoes sao definidas atraves de uma λ-expressao que expressa a acao dafuncao em seu argumento. Por exemplo, a funcao

f(x) = x+ 2

e expressa em λ-calculus comoλx.x + 2

que significa que o comportamento da funcao e de adicionar 2 ao argumento,caso exista. Observe que o nome da funcao (antes f) nao importa, ou seja, foiabstraıda. Tambem nao importa se a funcao e ou nao aplicada a um argumento(no caso de f , o argumento era x), uma vez que isso nao e necessario paradescrever o comportamento da funcao. Mais do que isso, a λ-funcao pode seraplicada a um numero natural, real, ou a uma outra funcao, o que nao e possıvelcom a representacao usual de funcoes.

O λ-calculus possui apenas uma regra de reducao, que basicamente diz queaplicar uma funcao a um argumento significa substituir todas as ocorrencias davariavel da funcao pelo argumento em questao.

Definicao 15

i) A regra β e definida como: (λx.M)N →M [N/x]

ii) A β-reducao e o fechamento contextual da regra β, representada por →β.

35

Page 36: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Entao, considerando o exemplo de funcao definido acima,

(λx.x + 2)5 →β (x + 2)[5/x] = 5 + 2 = 7

Essa reducao corresponde, no caso usual, ao calculo do valor da funcao f para5:

f(5) = 5 + 2 = 7

O λ-calculus pode ser considerado a menor linguagem de programacao uni-versal. Menor no sentido que possui uma unica regra de reducao (a reducaoβ, que nada mais e que a substituicao de variaveis). Universal porque todasas funcoes computaveis podem ser expressas utilizando esse formalismo (tese deChurch).

Apesar de ser possıvel programar em λ-calculus, a sua real importanciapara ciencia da computacao e que muitos problemas de design de linguagense de implementacao, especialmente aqueles que dizem respeito a estrutura detipos, sao mais faceis de serem investigados dentro do λ-calculus do que emlinguagens de programacao mais complexas. Por isso dizemos que o λ-calculuse um instrumento teorico utilizado para provar propriedades sobre aplicacoespraticas.

O λ-calculus com a β-reducao definida acima da origem a uma estrategiade passagem de parametros chamada call-by-name, onde os parametros naoprecisam ser avaliados antes de serem fornecidos a funcao. Essa estrategia eutilizada em linguagens de programacao como ML, por exemplo.

Existem termos emλ-calculus para os quais se pode construir uma sequenciainfinita de reducoes. O exemplo classico e:

(λx.xx)(λx.xx) →β (λx.xx)(λx.xx) →β . . .

Tais termos sao utilizados para modelar o comportamento de sub-rotinasque entram em loop, por exemplo.

Mas os λ-termos mais importantes de estudo sao aqueles que, para qual-quer estrategia de reducao escolhida, a reducao sempre para. Tais termos saochamados fortemente normalizaveis.

10 λ-calculus tipado simples

10.1 Tipos

Tipos estao presentes tanto em matematica quanto em computacao. Na te-oria de conjuntos tradicional, o agrupamento de elementos em um conjuntoindepende da natureza desses elementos. Quando passamos a trabalhar emaplicacoes especıficas, precisamos classificar os objetos em categorias, de acordocom o seu uso ou aplicacao.

A nocao de tipos origina-se dessa classificacao: um tipo e uma colecao deobjetos ou valores que possuem alguma propriedade em comum. Em geral, paracada tal conjunto de valores, existe uma classe sintatica correspondente, qualseja, de termos que representam esses valores, que tambem e chamada de tipo,em abreviacao a expressao de tipo.

Em matematica, tipos impoem restricoes que evitam paradoxos. Universosnao tipados, como o da teoria de conjuntos de Frege, apresentam inconsistenciaslogicas (tais como o paradoxo de Russell).

36

Page 37: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Em computacao, existem diversas linguagens nao tipadas (ou seja, que pos-suem apenas um tipo, que contem todos os valores) como, por exemplo: LISP,λ-calculus, Self, Perl e Tcl. Essas linguagens nao dispoem de nenhum me-canismo para a deteccao de falhas devidas a operacoes aplicadas a argumen-tos improprios. A ocorrencia de um erro dessa natureza nao interrompe aexecucao do programa, sendo possıvel que o erro seja detectado somente aposuma sequencia bastante grande de operacoes subsequentes a ocorrencia do mesmo.

O tipo de uma expressao determina em que contextos a ocorrencia dessaexpressao e valida ou nao. Em outras palavras, o agrupamento de valores emtipos permite que se verifique se expressoes que denotam tais valores nao saousadas em contextos em que nao fazem sentido.

Essa verificacao, comumente chamada de “checagem” de tipo, pode ser feitaem tempo de compilacao ou em tempo de execucao de um programa. Quandoa verificacao e feita em tempo de compilacao, alem dos erros de tipo seremdetectados antecipadamente (um programa nao e executado caso contenha errosde tipos), eles sao sempre detectados, podendo ser entao corrigidos.

No caso de verificacao em tempo de execucao, um erro existente so seradetectado se alguma execucao do programa envolver, de fato, o ponto onde talerro ocorre; em outras palavras, o erro so e detectado se a execucao do programaconstitui um teste para o caso correspondente ao erro de tipo.

Como um exemplo simples, considere a expressao:

if E then 1 else 1 + “1”

No caso de checagem em tempo de execucao, o erro de tipo contido nesta ex-pressao so e detectado se a avaliacao da sub-expressao E resulta no valor falso.

Podem entao ocorrer casos em que um erro de tipo nao e detectado, mesmodepois de um numero grande de testes do programa. Esse erro podera ocorrer,inesperadamente, em um passo de execucao nao testado anteriormente, comconsequencias potencialmente desastrosas. No caso de checagem em tempo decompilacao, ao contrario, todos os erros de tipo serao sempre detectados.

E claro que existem formas de erro que nao sao erros de tipo. No entanto,os argumentos apresentados acima, sao importantes devido a grande frequenciade erros de tipo usualmente cometidos durante uma tarefa de programacao.Em face dos argumentos apresentados, o estudo de tipos em linguagens de pro-gramacao tornou-se de grande importancia, no sentido de sua influencia sobreo projeto e a definicao de linguagens de programacao e, portanto, sobre o de-senvolvimento de software em geral.

Apesar da similaridade entre as nocoes de tipo em matematica e em com-putacao, existem algumas diferencas entre estes dois conceitos. Em primeirolugar, a finalidade e diferente. Em computacao, a nocao de tipos e motivada pe-los fatores apresentados acima: estruturacao, clareza e eficiencia de programas,e deteccao de erros; em matematica, o proposito e o de evitar inconsistenciaslogicas. Outra diferenca relevante e o fato de que tipos em linguagens de pro-gramacao sao definidos para objetos cuja avaliacao pode nao terminar, o quenao ocorre em matematica; por exemplo, pode-se definir recursivamente umavariavel inteira v, da seguinte forma:

v = v + 1

A variavel v nao pertenceria ao tipo (matematico) dos inteiros. A interpretacao

37

Page 38: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

matematica para definicoes recursivas foi estabelecida a partir da teoria dedomınios.

O estudo de tipos em linguagens de programacao tornou-se de grande im-portancia, especialmente por causa de sua influencia sobre o projeto e a definicaode linguagens de programacao e, portanto, sobre o desenvolvimento de softwareem geral.

10.2 Sistemas de Tipos

A definicao de uma linguagem de programacao serve a diferentes grupos depessoas: projetistas, implementadores (de compiladores, interpretadores ou edi-tores com recursos especıficos para edicao de programas) e programadores. Taldefinicao deve especificar tanto a sintaxe quanto a semantica da linguagem.

A definicao da sintaxe de uma linguagem determina quais sequencias desımbolos sao frases (validas), e como frases podem ser combinadas de modo aformar outras frases. Aspectos dinamicos, relativos a execucao de programas,nao sao considerados. Exemplos de frases de programas sao literais, variaveis,declaracoes, expressoes, comandos, programas etc.

As condicoes que determinam se uma sequencia de sımbolos e uma frasepodem ser expressas atraves de regras livres de contexto e de regras sensıveisao contexto. Como o nome indica, regras livres de contexto sao aquelas emque as condicoes para a construcao de novas frases podem ser especificadas semconsiderar o contexto no qual essas frases ocorrem. Regras sensıveis ao contexto,ao contrario, levam em conta o contexto em que as frases ocorrem, na definicaodas condicoes para a construcao de novas frases.

A maioria das condicoes que definem a sintaxe de uma linguagem (em ge-ral, em numero muito grande) pode ser especificada atraves de regras livresde contexto. Alguns exemplos simples sao: uma variavel e uma sequencia desımbolos que comeca com uma letra e e seguida por uma sequencia de letras oudıgitos ou o sımbolo “ ”; uma expressao e uma variavel, uma lambda-abstracaoou uma aplicacao; uma aplicacao e uma expressao seguida de outra expressao(separadas por pelo menos um caractere delimitador); uma lambda-abstracao euma sequencia de sımbolos iniciada pelo sımbolo “λ”, seguido de uma variavel,depois do sımbolo “.” e, em seguida, de uma expressao.

Sao exemplos ilustrativos de condicoes sensıveis ao contexto: 1) toda variaveldeve ser declarada antes de ser usada; 2) uma variavel que ocorre em umaexpressao e tem que ocorrer, anteriormente, apos o sımbolo λ de alguma lambda-abstracao que tem e como sub-expressao; 3) em um comando de atribuicao, otipo da expressao (que ocorre no lado direito desse comando) tem que ser igualao tipo da variavel (que ocorre no lado esquerdo desse comando).

Regras sensıveis ao contexto podem ser regras de escopo e regras de tipo.Uma regra de escopo permite associar um nome a uma definicao, especificandoo escopo dessa definicao. Os exemplos 1) e 2) acima sao exemplos de regrasde escopo. Regras de tipo determinam o tipo de cada expressao da linguagem,possibilitando garantir que cada operacao tenha operandos de tipo apropriado.Por exemplo, supondo que Integer e Bool sao tipos pre-definidos em umadada linguagem, e que a operacao de adicao, denotada por +, e definida apenassobre operandos de tipo Integer, uma expressao como True + x, que envolvea constante True, de tipo Bool, nao e sintaticamente valida.

38

Page 39: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Existem diversas maneiras distintas de se definir a sintaxe de linguagensde programacao. O uso de um formalismo baseado em logica, constituıdopor axiomas e regras de inferencia, possibilita definir, simultaneamente, tantocondicoes livres de contexto quanto condicoes sensıveis ao contexto. Tal forma-lismo tem sido cada vez mais usado, principalmente na definicao e estudo demodelos/nucleos de linguagens de programacao.

A ideia basica desses sistemas formais e estabelecer regras de formacao dasfrases da linguagem, a partir de suas subfrases, levando em conta propriedadesdas construcoes envolvidas na formacao dessas frases. Como as propriedadesconsideradas sao, tipicamente, tipos de expressoes, tais sistemas sao denomina-dos sistemas de tipos.

Sistemas de tipos de linguagens de programacao sao usualmente apresenta-dos sob a forma de calculo de sequentes, definicao no Apendice A.2, podendotambem ser apresentados sob a forma de um sistema de deducao natural 2.

Os tipos de expressoes atomicas sao definidos por meio de axiomas de tipoda forma

Γ ⊢ e : σ

Esse axioma define que a expressao atomica e tem tipo σ no contexto de tiposΓ.

Um contexto de tipos mantem informacao sobre os tipos das variaveis quepodem ser usadas (i.e. que foram declaradas), possibilitando detectar se umaexpressao e bem tipada, com base nos tipos das variaveis livres que ocorremnessa expressao. Por exemplo, verifica-se se a expressao x + 1 e bem tipada,em um determinado contexto, examinando se a variavel x tem tipo inteiro nessecontexto. E natural representar o contexto como um conjunto de pares x : σ,de variaveis e seus respectivos tipos:

Γ = {x1 : σ1, . . . , xk : σk}

A colecao das variaveis x1, . . . , xk em Γ e indicada por dom(Γ).Em geral, exige-se que nenhuma variavel ocorra mais de uma vez em um

dado contexto. Isso significa que cada variavel so pode ser ligada a uma unicadefinicao, em um dado escopo. Essa condicao pode ser eliminada em sistemasde tipos que suportam sobrecarga (overloading) de um nome com diferentesdefinicoes, dadas por expressoes com tipos distintos. A forma geral de umaregra de inferencia de um sistema de tipos e:

Γ1 ⊢ e1 : σ1 . . . Γn ⊢ en : σn

Γ ⊢ e : σ

onde as formulas Γi ⊢ ei : σi, para i = 1, . . . , n, sao as hipoteses (ou premissas)da regra e Γ ⊢ e : σ e a sua conclusao. Intuitivamente, esta regra diz que, secada expressao ei tem tipo σi no contexto Γi, para i = 1, . . . , n, entao e temtipo σ no contexto Γ.

Uma expressao e e dita bem tipada em um dado contexto Γ, com relacao aum sistema de tipos, se existe uma derivacao de Γ ⊢ e : σ, para algum σ, obtidamediante os axiomas e regras desse sistema de tipos.

Vale observar que sistemas formais podem definir nao apenas tipos, mastambem outras propriedades de construcoes de linguagens de programacao.

39

Page 40: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

10.3 Outras propriedades de sistemas de tipos

Alem das propriedades mencionadas anteriormente, existem outras propriedadesdesejaveis para sistemas de tipos.

• Decidibilidade — O sistema de tipos da maioria das linguagens de pro-gramacao e decidıvel, isto e, existe um algoritmo tal que, dado um pro-grama p, determina se esse programa e bem tipado ou nao. Em termosdo sistema de tipos, o algoritmo determina se existe uma derivacao paraa formula Γ ⊢ p : σ, para algum σ, de acordo com as regras do sistemade tipos, onde Γ e um contexto contendo tipagens para os sımbolos pre-definidos da linguagem.

Alguns sistemas de tipos de linguagens de programacao sao indecidıveis,como os das linguagens Quest e Cayenne

A argumentacao em favor do uso de sistemas de tipos indecidıveis, em geralmais complexos, e baseada em dois aspectos. O primeiro e o de que, emgeral, a linguagem compreende um conjunto de frases bem tipadas maiordo que o de uma linguagem com um sistema de tipos decidıvel. O segundoe o de que o numero de casos em que, de fato, o algoritmo para, sem umaverificacao de tipo bem sucedida (por ter alcancado o limite estabelecidopara o numero de reducoes) seria muito pequeno. Entretanto, e aindanecessaria uma maior experiencia com o uso de tipos dependentes paraque se possa avaliar como se comportam, na pratica, sistemas de tiposindecidıveis.

• Unicidade — Um sistema possui a propriedade de unicidade de tipos se,para cada frase e bem formada e cada contexto Γ, existe um unico σ talque Γ ⊢ e : σ e provavel. Para sistemas de tipos com subtipagem (poli-morfismo), a propriedade de unicidade de tipos e, em geral, substituıdapelas propriedades de tipo e tipagem mınima (principal) - veja secao 10.6.

• Tipo e tipagem mınima, tipo e tipagem principal.

10.4 Tipos Simples

Estudos sobre tipos em linguagens de programacao sao usualmente desenvolvi-dos sob o arcabouco do λ-calculus tipado. O λ-calculus tipado surgiu a partirdo λ-calculus nao tipado, ambos definidos por Church, na decada de 1930. Oλ-calculus (nao tipado) prove um modelo muito simples de avaliacao de ex-pressoes.

Apesar dessa simplicidade, o λ-calculus e um modelo “universal” de compu-tabilidade, no sentido de que qualquer funcao recursiva, assim como qualquerfuncao computavel por uma maquina de Turing, pode ser expressa como umtermo do λ-calculus. Para se ter uma ideia de como o λ-calculus consegue talpoder de expressao, e interessante considerar como se pode expressar definicoesrecursivas em λ-calculus, ou seja, utilizando um operador de ponto fixo. Umoperador de ponto fixo e qualquer expressao fix tal que, para toda expressaoe, tem-se que fix e = e (fix e), ou seja, fix e e um ponto fixo da expressaoe. O operador de ponto fixo pode ser definido em λ-calculus, por exemplo, pelaseguinte expressao:

fix ≡ λf. (λx.f(xx))(λx.f(xx))

40

Page 41: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

De fato, aplicada a uma expressao qualquer e, fix e retorna um ponto fixo dee:

fix e = (λf. (λx.f(xx))(λx.f(xx))) e

⇒ (λx.e(xx))(λx.e(xx))

⇒ e((λx.e(xx))(λx.e(xx)))

= e (fix e)

Expressoes como fix acima introduzem dificuldades na definicao do sigini-ficado de expressoes do λ-calculus. Por exemplo: se uma expressao e tem maisde um ponto fixo, qual deles e dado por fix e? O que significa fix e, se enao tem ponto fixo (por exemplo, e ≡ λx. x + 1)? Certamente, um modelo deinterpretacao para o λ-calculus deve ser capaz de responder a essas questoes.Na interpretacao definida por Scott, fix e denota o ponto fixo minimal (“me-nos definido”) da funcao (contınua) denotada por e, no domınio semantico. Acomplexidade de interpretacao do operador de ponto fixo e evidenciada pelofato de sua definicao envolver a aplicacao de uma variavel (x) a ela propria.Essa possibilidade pode levar a paradoxos. Considere, por exemplo, a seguinteexpressao:

λy. if y y = a then b else a

Se x representa essa expressao, entao xx resulta, contraditoriamente, em:

if x x = a then b else a

A possibilidade de qualquer expressao poder ser aplicada a ela propria requer queo espaco de valores representados por essas expressoes seja isomorfo ao espacode funcoes sobre esses valores. Dessa forma, embora o modelo de execucao doλ-calculus nao tipado seja muito simples e poderoso, a complexidade de seusmodelos de interpretacao, assim como o fato de que linguagens de programacaosao, em sua maior parte, linguagens tipadas, motivaram o estudo de calculosbaseados no λ-calculus tipado.

O λ-calculus tipado simples, proposto por Church, considera apenas tiposbasicos (por exemplo, Int, o tipo dos inteiros, e Bool, o tipo dos valores boolea-nos) e tipos funcionais. O sistema de reducao do λ-calculus tipado simples herdaas propriedades fundamentais do sistema de reducao do λ-calculus nao tipado:confluencia e normalizacao. A propriedade de confluencia, tambem chamada depropriedade de Church-Rosser , garante que, se uma expressao e reduz para e1ou para e2, entao existe uma expressao e′, tal que e1 reduz para e′ e e2 reduzpara e′. Como consequencia, se um termo tem uma forma normal, entao ela eunica. A propriedade de normalizacao garante a existencia de uma determinadaestrategia de reducao para a qual a sequencia de reducoes de qualquer expressaoresulta em sua forma normal, caso a expressao possua uma forma normal.

A Figura 2 apresenta a sintaxe livre de contexto das expressoes do λ-calculustipado simples. No λ-calculus tipado simples, ao contrario do λ-calculus nao ti-pado, uma expressao nao pode ser aplicada a si propria. Assim, nao se podedefinir o operador de ponto fixo na propria linguagem. Alem disso, o λ-calculustipado simples possui a propriedade de terminacao (tambem chamada de nor-malizacao forte): toda sequencia de reducao de qualquer expressao termina, ouseja, toda expressao possui uma (unica) forma normal.

41

Page 42: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Tipos τ ::= b tipo basico (ou primitivo)τ1 → τ2 tipo funcional

Termos e ::= x variavelλ x : τ. e λ-abstracaoe e′ aplicacao

Figura 2: Sintaxe livre de contexto do λ-calculus tipado simples

Γ, x : τ ⊢ x : τ(V AR)

Γ ⊢ e : τΓ, x : τ ′ ⊢ e : τ

(ADV AR)

Γ, x : τ ′ ⊢ e : τ

Γ ⊢ (λx : τ ′. e) : τ ′ → τ(ABS)

Γ ⊢ e : τ ′ → τ, Γ ⊢ e′ : τ ′

Γ ⊢ e e′ : τ(APL)

Figura 3: Sistema de tipos do λ-calculus tipado simples

A Figura 3 apresenta o sistema de tipos do λ-calculus tipado simples.O axioma (VAR) indica que uma variavel tem o tipo especificado na sua

“declaracao” (isto e, o tipo τ que ocorre em λx : τ. e).A regra (AD VAR) permite que uma hipotese seja adicionada ao contexto.

A notacao Γ, x : τ significa Γ∪ {x : τ}, com a condicao de que x nao ocorra emΓ. Isto indica que, se um termo e e bem tipado em um dado contexto, entaotodas as variaveis livres de e devem ocorrer nesse contexto. Segundo a regra(AD VAR), se um termo e possui tipo τ em um contexto Γ, entao, para qualquervariavel x, de tipo τ ′, que nao ocorra livre em e e nao pertenca ao domınio deΓ, podemos formar um novo contexto Γ′ = Γ, x : τ ′ tal que e possui tipo τ emΓ′.

A regra (ABS) estabelece que se e : τ e derivavel em um contexto Γ′ ondex tem tipo τ ′, entao a expressao λx : τ ′. e define uma funcao de tipo τ ′ → τ nocontexto Γ = Γ′ − {x : τ ′}.

A regra (APL) permite a aplicacao de qualquer funcao e, de tipo τ ′ → τ , aum argumento e′ de tipo τ ′, produzindo um resultado, e e′, de tipo τ .

O λ-calculus tipado simples pode ser estendido de diversas maneiras, introduzindo-se novos tipos basicos ou novos construtores de tipos. Construtores de tiposcomumente adicionados sao construtores para os tipos produto e soma (uniaodisjunta) e tipos recursivos (veja secao 10.5).

Para servir como modelo para linguagens de programacao, o λ-calculus ti-pado simples tem que ser estendido com a introducao de operadores de pontofixo (um para cada tipo funcional τ → τ ′), de modo a prover definicoes defuncoes recursivas. Desta forma, a linguagem torna-se “universal” (toda funcao

42

Page 43: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

recursiva definida sobre os naturais pode ser expressa na linguagem).O seguinte axioma de tipo e usado na formacao de expressoes bem tipadas

usando operadores de ponto fixo:

Γ ⊢ fixτ : (τ → τ) → τ(FIX)

A semantica (operacional) de operadores de ponto fixo e definida pelo se-guinte axioma de reducao (fix):

fixτ ⇒fix λf : τ → τ. f(fixτ f)

A introducao de operadores de ponto fixo possibilita definir, como no λ-calculus nao tipado, termos que nao possuem forma normal. Tambem da mesmaforma, mesmo que um termo possua uma forma normal, a estrategia de reducaoadotada e importante para que esse termo seja reduzido para a sua forma nor-mal. Por exemplo, para qualquer expressao e : τ → τ , pode-se aplicar repetidasvezes o axioma de reducao (fix):

fixτ e⇒fix e(fixτe) ⇒fix e(e(fixτ e)) ⇒fix . . .

e, portanto, para qualquer termo fixτe : τ (que possua ou nao forma nor-mal) existe uma sequencia infinita de reducoes, determinada por uma estrategiade reducao que escolha o redex mais interno em cada passo de reducao. Aocontrario do que ocorre com o λ-calculus nao tipado, termos da forma xx naopodem ser definidos.

10.5 Tipo produto, tipo soma e tipos recursivos

Extensoes do λ-calculus tipado simples com tipos produto e soma, e com ti-pos recursivos, sao usadas para modelar diversas construcoes em linguagens deprogramacao.

10.5.1 Produtos cartesianos

Um tipo produto τ1 × τ2 e um tipo de pares de valores, onde o primeiro com-ponente tem tipo τ1 e o segundo tem tipo τ2. As regras de formacao e acesso acomponentes de valores de tipo produto sao apresentadas na Figura 4.

Γ ⊢ e : τ1 Γ ⊢ e′ : τ2Γ ⊢ 〈e, e′〉 : τ1 × τ2

(PROD)

Γ ⊢ e : τ1 × τ2Γ ⊢ proj1τ1,τ2 e : τ1

(PROJ1)

Γ ⊢ e : τ1 × τ2Γ ⊢ proj2τ1,τ2 e : τ2

(PROJ2)

Figura 4: Regras de inferencia para tipo produto

43

Page 44: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

As regras (PROJ1) e (PROJ2) introduzem as funcoes de projecao proj1τ1,τ2 eproj2τ1,τ2 , utilizadas para obter os componentes de um par. A semantica dessesoperadores e definida pelos seguintes axiomas de reducao:

proj1τ1,τ2 〈e, e′〉 ⇒ eproj2τ1,τ2 〈e, e′〉 ⇒ e′

Um registro e uma tupla cujos componentes (chamados campos) possuemrotulos. A diferenca entre tuplas e registros e que, enquanto cada componentede uma n-tupla e identificado pela sua posicao (de 1 a n), os campos de um re-gistro podem ocorrer em qualquer ordem, sendo identificados apenas pelo rotuloassociado a cada um deles. O tipo de um registro (r1 = e1, . . . , rn = en) pode serescrito como (r1 : τ1, . . . , rn : τn), onde r1, . . . , rn sao rotulos sintaticamente dis-tintos. Escolhendo uma ordenacao para os componentes, podemos transformarregistros em produtos cartesianos.

10.5.2 Somas

A notacao τ1 + τ2 e usada para denotar uniao disjunta dos conjuntos denotadospelos tipos τ1 e τ2. Isto significa que um elemento v de tipo τ1 + τ2 pode ser umelemento de tipo τ1 (τ2) juntamente com uma indicacao de que v e um elementode tipo τ1 (τ2) (veja Figura 5).

Γ ⊢ e : τ1Γ ⊢ inEsqτ1,τ2 e : τ1 + τ2

(IN1)

Γ ⊢ e : τ2Γ ⊢ inDirτ1,τ2 e : τ1 + τ2

(IN2)

Γ ⊢ e : τ1 + τ2 Γ ⊢ f : τ1 → τ3 Γ ⊢ g : τ2 → τ3Γ ⊢ case e f g : τ3

(ELIM)

Figura 5: Regras de inferencia para tipo soma

A funcao de injecao inEsqτ1,τ2recebe um elemento de tipo τ1 e constroi um

elemento de tipo τ1 + τ2. Similarmente, a funcao de injecao inDirτ1,τ2recebe

um elemento de tipo τ2 e constroi um elemento de tipo τ1 + τ2.A regra de eliminacao (ELIM) caracteriza o uso correto de expressoes cujo

tipo e uma soma. Intuitivamente, case e f g inspeciona o tipo de e e aplica fse e possui tipo τ1, ou g se e possui tipo τ2.

A semantica desses operadores e definida pelos seguintes axiomas de reducao:

case (inEsqτ1,τ2 e) f g ⇒ fcase (inDirτ1,τ2 e) f g ⇒ g

10.6 Polimorfismo

O λ-calculus tipado simples possibilita definir apenas funcoes monomorficas, ouseja, funcoes que podem ser aplicadas a argumentos de um unico tipo. Issorequer, por exemplo, que se tenha que definir uma funcao identidade, de tipo

44

Page 45: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

τ → τ , para cada tipo τ , embora a definicao dessa funcao seja a mesma paravalores de qualquer tipo.

Em algumas linguagens, tais como Standard ML (ou simplesmente ML),podem ser definidas funcoes polimorficas, isto e, funcoes que operam uniforme-mente sobre argumentos de varios tipos. O mecanismo utilizado para a definicaode funcoes polimorficas em ML, constitui, em sua essencia, uma extensao simplese elegante do λ-calculus tipado simples.

10.7 Inferencia de tipos

Anotacoes de tipo podem ser muito uteis, pelas razoes expostas na secao 10.1,mas nao constituem parte necessaria de programas. Para permitir a omissaode anotacoes de tipo, caso se julgue conveniente, linguagens de programacaoutilizam mecanismos de inferencia de tipos, isto e, mecanismos para determinarautomaticamente o tipo de expressoes que ocorrem em um programa, em tempode compilacao.

Toda linguagem tipada faz uso de inferencia de tipos, uma vez que, em ge-ral, utiliza anotacoes de tipos apenas em determinados pontos do programa (nasdeclaracoes de variaveis ou funcoes). Os tipos das demais expressoes sao infe-ridos, de acordo com as informacoes pre-definidas ou providas por declaracoes.A linguagem ML prove um mecanismo de inferencia de tipos que possibilita atotal omissao de anotacoes de tipo em programas.

Para dar uma nocao do mecanismo de inferencia de tipos de ML, considere,por exemplo, a seguinte expressao:

fn x ⇒ x+ 1

Ao analisar a expressao x+ 1, o compilador atribui tipo α a variavel x (onde αe uma variavel de tipo). A ocorrencia do operador “+” nao determina, ainda,o tipo de x, ja que “+” e definido tanto para argumentos inteiros quanto paraargumentos reais. Com a ocorrencia da constante inteira 1, o compilador reco-nhece que trata-se de uma soma de argumentos inteiros e infere, portanto, quex tem tipo int. Consequentemente, o tipo inferido para a expressao acima eint → int.

11 Isomorfismo de Curry-Howard

O isomorfismo de Curry-Howard [31] estabelece uma correspondencia muitointeressante entre sistemas de logica formal (tratados em teoria de provas) ecalculos computacionais (como aqueles em teoria de tipos). Desta forma, os doismundos que sao objeto de estudo no presente curso - logica e teoria de funcoes- que, a princıpio, parecem ser muito diferentes, estao intrinsecamente ligados.Tal isomorfismo entre o λ-calculus simplesmente tipado e a logica intuicionistafoi estabelecida por volta de 1940 de maneira independente por Curry e Howard.

Outros exemplos de isomorfismo sao: logica de 1a ordem ↔ tipos dependen-tes; logica de 2a ordem ↔ tipos polimorficos.

Analisaremos aqui apenas o isomorfismo para o caso λ-calculus/logica intui-cionista 7. Neste caso, a nıvel sintatico, temos que:

7Nao sera feita uma demonstracao formal do teorema, sera apresentada apenas uma ideia

intuitiva de como funciona o isomorfismo.

45

Page 46: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

• Formulas ↔ tipos.

• Provas ↔ termos.

• Provabilidade ↔ inhabitation.

• Normalizacao de provas ↔ reducao de termos.

Como exemplo, considere as provas para o sequente ⊢ φ⇒ ψ ⇒ ψ:

φ, ψ ⊢ ψ (inicial)

φ ⊢ ψ ⇒ ψ(⇒ I)

⊢ φ⇒ ψ ⇒ ψ(⇒ I)

e

ψ ⇒ ψ, φ ⊢ ψ ⇒ ψ(inicial)

ψ ⇒ ψ ⊢ φ⇒ ψ ⇒ ψ⇒ I

⊢ (ψ ⇒ ψ) ⇒ φ⇒ ψ ⇒ ψ(⇒ I)

ψ ⊢ ψ (inicial)

⊢ ψ ⇒ ψ(⇒ I)

⊢ φ⇒ ψ ⇒ ψ(⇒ E)

A segunda prova claramente possui desvios que podem ser evitados, enquantoque a primeira prova e direta. O processo de retirar de provas desvios inuteis echamado de normalizacao de provas e provas sem desvios sao chamadas provasnormais.

Observe que o desvio da segunda arvore e criado atraves da aplicacao deuma regra de introducao seguida de uma regra de eliminacao. Em geral, sempreque isso ocorre podemos eliminar a ocorrencia da aplicacao dessas regras (aslogicas classica e intuicionista sao fortemente normalizaveis).

Considere agora a prova para a formula λy : φ.λx : ψ.x : φ⇒ ψ ⇒ ψ:

y : φ, x : ψ ⊢ x : ψ(V AR)

y : φ ⊢ λx : ψ.x : ψ ⇒ ψ(ABS)

⊢ λy : φ.λx : ψ.x : φ⇒ ψ ⇒ ψ(ABS)

Claramente, esta prova e parecida com a primeira prova apresentada para φ⇒ψ ⇒ ψ. De fato, o tipo de λy : φ.λx : ψ.x e a formula φ ⇒ ψ ⇒ ψ. Destemodo, tipos em λ-calculus simplismente tipado correspondem a formulas nalogica intuicionista. E a prova dessa formula e determinada pelo termo λy :φ.λx : ψ.x.

Da mesma forma, considere a prova para a formula (λz : ψ ⇒ ψ.λy :φ.z)(λx : ψ.x) : φ⇒ ψ ⇒ ψ:

z : ψ ⇒ ψ, y : φ ⊢ z : ψ ⇒ ψ(V AR)

z : ψ ⇒ ψ ⊢ (λy : φ.z) : φ⇒ ψ ⇒ ψ(ABS)

⊢ (λz : ψ ⇒ ψ.λy : φ.z) : (ψ ⇒ ψ) ⇒ φ⇒ ψ ⇒ ψ(ABS)

x : ψ ⊢ x : ψ(V AR)

⊢ (λx : ψ.x) : ψ ⇒ ψ(ABS)

⊢ (λz : ψ ⇒ ψ.λy : φ.z)(λx : ψ.x) : φ⇒ ψ ⇒ ψ(APL)

A mesma discussao feita anteriormente vale para este caso: o tipo de (λz :ψ ⇒ ψ.λy : φ.z)(λx : ψ.x) e a formula φ ⇒ ψ ⇒ ψ e a prova dessa formula edeterminada pelo termo (λz : ψ ⇒ ψ.λy : φ.z)(λx : ψ.x).

46

Page 47: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Por fim, observe que:

(λz.λy.z)(λx.x) ⇒β λy.λx.x

Ou seja, normalizacao corresponde a β-reducao!

12 Tipos e Significados: Semantica

A palavra semantica foi primeiro empregada em um livro de Michel Breal publi-cado em 1900; naquele trabalho, semantica se referia ao estudo de como palavrasmudam o seu signficado. Atualmente, utilizamos a palavra semantica para de-signar o estudo da relacao existente entre palavras e sentencas de uma liguagem(falada ou escrita) e seus significados.

A area onde esse tipo de estudo teve maior desenvolvimento foi na linguıstica(e filosofia) que estudam o significado se sentencas da linguagem natural. Umasegunda area de estudo da semantica e a logica matematica, onde e estudada asemantica de linguagens formais utilizadas na matematica.

O texto que se segue discute um terceiro uso de semantica, aquele que dizrespeito ao estudo do signeficado de expressoes utilizadas em linguagens deprogramacao.

Os objetivos do estudo de semantica de linguagens de programacao saobastante diferentes daqueles de semantica para linguagens naturais ou logicamatematica, mas ainda assim existe uma intersecao nos metodos utilizados.Tradicionalmente, linguagens de computadores sao baseadas em sentencas im-perativas utilizadas para designar comandos. Em linguagem natural, sentencasanalogas sao aquelas que podem ser encontradas em um livro de receita de bolos:“bata a clara ate ficarem duras”. Em contraste, sentencas em logica matematicadizem respeito a verdades que independendem do tempo: “se batidas, as clarasficam duras”.

Na verdade, essas duas sentencas descrevem o mesmo processo. Isso podeser usado para analisar a diferenca entre linguagens imperativas e declarativas.Por exemplo, considere o seguinte programa (usando a sintaxe de Prolog):

gcd(X,0,X).

gcd(X,Y,Gcd) :- mod(X,Y,Z), gcd(Y,Z,Gcd).

Dado que mod(X,Y,Z) significa que Z e o resto da divisao de X por Y, asemantica usual de primeira ordem prove um significado de gcd como a relacaounica que satisfaz essas duas formulas para inteiros nao negativos. Desta forma,as clausulas acima pertencem a logica, mas possuem uma conotacao algorıtmica.Poderıamos facilmente escrever uma expressao imperativa para calcular o maiordivisor comum. E vice versa, sempre podemos descrever atraves de sentencaslogicas expressoes imperativas. Disso surgem os paradıgmas de linguagens deprogramacao e a escolha de uma ou outra linguagem depende da aplicacao.

Entretanto, no caso da linguagem de programacao e linguagem natural,esse processo nao e, em geral, valido. Ou seja, dada uma sentenca em lin-guagem natural, nao e sempre que podemos transforma-la em um predicadologico. Isso porque, apesar de uma sentenca ser sempre construıda utilizandouma gramatica, o seu significado depende de uma serie de entendimentos ex-ternos. Linguagens artificiais, ao contrario, podem ser inteiramente estudadase entendidas, pois nao dependem da interpretacao.

47

Page 48: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

De fato, em geral, o design de uma linguagem de programacao comeca peladefinicao de uma gramatica e depois pela determinacao da semantica para essagramatica. Isso parece muito razoavel, mas merece um pouco de reflexao. Porexemplo, considere as seguintes duas sentencas (gramaticamente corretas) emlinguagem natural (ingles):

Time flies like an arrow.

Fruit flies like a banana.

Na primeira sentenca, “flies” e um verbo, enquanto que na segunda e umsubstantivo. Ou seja, e impossıvel construir uma semantica para a lıngua inglesabaseada apenas na sua gramatica.

Programas bem tipados, assim como os tipos usados nesses programas, pos-suem significado. Nesta secao, abordamos metodos formais usados na definicaoda semantica de linguagens de programacao. Duas diferentes abordagens saousualmente empregadas:

• Denotacional — associa a cada frase da linguagem um significado, comoum elemento de um domınio semantico escolhido para a interpretacao dalinguagem. Formalmente, uma semantica denotacional pode ser definidacomo um homomorfismo, entre uma algebra de termos (algebra inicial so-bre a assinatura de tipos e sımbolos da linguagem) e uma algebra semantica(sobre a mesma assinatura, cujos “carriers” sao os domınios semanticoscorrespondentes aos valores dos termos da linguagem).

• Operacional — o significado de cada frase e definido a partir de umarelacao de transicao, apresentada sob a forma de um sistema de inferencia.Para ser caracterizado como operacional, o sistema de inferencia deve serfinitario, isto e, cada regra ou axioma deve ter um conjunto finito dehipoteses.

12.1 Semantica Denotacional

Em uma semantica denotacional, o significado de termos e frases de uma lingua-gem e definido por meio de uma funcao que associa, a cada termo, um elementode um domınio matematico adequado para a interpretacao da linguagem. Esseelemento e chamado denotacao do termo. A cada tipo da linguagem e tambemassociado um significado: a denotacao de um tipo e um conjunto (possivel-mente munido de alguma estrutura) de elementos do domınio de interpretacaodos termos da linguagem.8

A denotacao de um termo que possui variaveis livres depende do significadoatribuıdo a essas variaveis. 9 Por isso, a funcao semantica e parametrizada poroutra funcao, denominada ambiente, que associa a cada variavel um elementodo domınio. A denotacao de um termo e, em um ambiente ρ, e representadapor [[e]]ρ.

Da mesma forma, em sistemas de tipo que incluem variaveis de tipo, osignificado de uma expressao de tipo depende do significado atribuıdo a suas

8Em sistemas de tipos em que tipos podem ser usados como valores, os conjuntos denotados

por tipos devem ser, eles proprios, elementos do domınio de interpretacao da linguagem.9Veja, na secao 10.4, a definicao de ocorrencias livres e ligadas de variaveis em uma ex-

pressao.

48

Page 49: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

variaveis de tipo livres. Na apresentacao que segue, supomos que o ambienteρ tambem atribui significado a variaveis de tipo, ou seja, ρ e uma funcao queassocia variaveis de expressao a valores do domınio, e associa subconjuntos devalores do domınio a variaveis de tipo. A denotacao de um tipo σ, em umambiente ρ, e representada por [[σ]]ρ.

Dois termos e1 e e2 sao denotacionalmente equivalentes, e1den= e2, se, para

todo ambiente ρ, temos[[e1]]ρ = [[e2]]ρ

O significado dos termos de uma linguagem e definido, de forma mais natural,por inducao sobre a estrutura de provas de derivacao de tipos, no sistema detipos da linguagem. Isso garante que se atribua significado apenas a termos bemtipados.10 A semantica de uma linguagem e entao definida da seguinte forma:

1. Para cada termo atomico e, tal que Γ ⊢ e : σ e provavel, o significado de ee definido em funcao de um ambiente ρ e do proprio termo e. Usualmentedefinimos:

[[Γ, x : σ ⊢ x : σ]]ρ = ρ(x)

isto e, o significado da variavel livre x e o valor que lhe e atribuıdo peloambiente ρ.

2. O significado de um termo composto e, tal que Γ ⊢ e : σ e provavel, apartir das provas de Γ1 ⊢ e1 : σ1, . . . , Γn ⊢ en : σn, onde e1, . . . , en sao ossubtermos de e, e obtido em funcao dos significados de e1, . . . , en.

Dizemos que um ambiente ρ satisfaz um contexto Γ se ρ(x) ∈ [[σ]]ρ, paratodo x : σ ∈ Γ, isto e, se para todo x de tipo σ em Γ, o valor atribuıdo a x peloambiente ρ e um elemento do conjunto denotado por σ.

Como a semantica denotacional de uma linguagem e definida por inducaosobre a estrutura de provas em seu sistema de tipos, ocorre o problema decoerencia: diferentes derivacoes de tipo para um mesmo termo devem possuiro mesmo significado (ou um significado relacionado). Em outras palavras, osignificado de um termo e deve ser independente de uma escolha particular dederivacao de tipo para e, dependendo apenas do proprio termo e e dos valoresatribuıdos as suas variaveis livres pelo ambiente. Essa propriedade, denominadacoerencia, e formalmente enunciada a seguir:

Propriedade 2 (Coerencia) Sejam ∆ e ∆′ derivacoes de tipo com conclusoesΓ ⊢ e : σ e Γ′ ⊢ e : σ′, respectivamente, e suponha que toda variavel x, livre eme, possui o mesmo tipo em Γ e em Γ′. Se ρ e um ambiente que satisfaz Γ e Γ′,entao

[[Γ ⊢ e : σ]]ρ = [[Γ′ ⊢ e : σ′]]ρ

onde os significados sao definidos utilizando ∆ e ∆′ respectivamente.

Alguns sistemas de tipos nao satisfazem esta propriedade, dificultando adefinicao da semantica de termos e tipos da linguagem. Por exemplo, considereum sistema de tipos que contenha as regras da Figura 6 e no qual contextos detipos podem conter varias ocorrencias de uma mesma variavel, com diferentes

10No caso de linguagens dinamicamente tipadas, o domınio de interpretacao dos termos

deve incluir um elemento especial, como denotacao de erro dinamico de tipo.

49

Page 50: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Γ ⊢ x : σ se x : σ ∈ Γ(V AR)

Γ ⊢ e : τ → τ ′ Γ ⊢ e′ : τΓ ⊢ e e′ : τ ′

(APL)

Figura 6: Regras de Inferencia

tipos. Suponha um contexto Γ que contenha as seguintes atribuicoes de tipo:g : Int → Int, g : Float → Int, one : Int e one : Float. A partir das regrasda Figura 6, podemos obter as seguintes derivacoes para a expressao g one,nesse contexto Γ:

Γ ⊢ g: Float→Int Γ ⊢ one: Float

Γ ⊢ g one: Int

Γ ⊢ g: Int→Int Γ ⊢ one: Int

Γ ⊢ g one: Int

O significado de Γ ⊢ g one: Int, em um ambiente ρ que satisfaz Γ, e dado,indutivamente, em funcao de [[Γ ⊢ g : Float → Int]]ρ e de [[Γ ⊢ one : Float]]ρ,na derivacao (1), e em funcao de [[Γ ⊢ g : Int → Int]]ρ e de [[Γ ⊢ one : Int]]ρ,na derivacao (2). Como estes significados podem ser diferentes, e possıvel queg one : Int tenha significados diferentes, dependendo da derivacao escolhida.

A concordancia entre o sistema de tipos e a semantica denotacional dostermos e tipos desse sistema e dada pela propriedade de correcao, a seguir.Essa propriedade expressa que o significado de uma expressao bem tipada deveser um elemento do conjunto denotado pelo seu tipo.

Propriedade 3 (Correcao) Se Γ ⊢ e : σ e provavel, e ρ e um ambiente quesatisfaz Γ, entao [[Γ ⊢ e : σ]]ρ ∈ [[σ]]ρ.

Na Secao 13, descreveremos a semantica denotacional do λ-calculus.

12.2 Semantica Operacional

Em uma semantica operacional, o significado de um termo e usualmente outrotermo, em forma normal , isto e, que nao pode ser simplificado pela relacao detransicao. A relacao de transicao (ou reducao) captura a nocao de um passo deavaliacao de termos da linguagem. Uma regra de transicao, escrita na formae ⇒ e′, define que o termo e avalia, ou reduz, para o termo e′, em um passo.Nesse caso, dizemos que e e um redex e e′ e o seu reduto. Escrevemos e⇒∗ e′, see avalia para e′ em zero ou mais passos. Formalmente, uma expressao e e umaforma normal se nao existe nenhum termo e′, tal que e pode ser reduzido parae′. Se e ⇒∗ e′, e e′ e uma forma normal, dizemos que e′ e uma forma normalde e.

Note que podem existir diferentes sequencias de reducao para uma dada ex-pressao. Por exemplo, duas diferentes sequencias de reducao para a expressaosquare (2+5), onde square e definido por square x = x ∗ x, seriam:

50

Page 51: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

square (2+5) ⇒ (2+5) ∗ (2+5) ⇒ 7 ∗ 7 ⇒ 49

square (2+5) ⇒ square 7 ⇒ 7 ∗ 7 ⇒ 49

Uma estrategia de reducao e uma funcao parcial F , de termos em termos, talque F (e) = e′ implica que e⇒ e′. F e uma “estrategia” porque e definida combase em uma estrategia particular para a escolha do redex a ser reduzido emcada passo da avaliacao da expressao. Por exemplo, na primeira das reducoesacima, a estrategia e escolher, em cada passo, o redex mais externo e que ocorremais a esquerda na expressao.

Dada uma estrategia de reducao F , o significado de um termo e e dado pelafuncao parcial de avaliacao evalF , definida indutivamente do seguinte modo:

evalF (e) =

{

e se e e uma forma normale′ se F (e) = e1 e evalF (e1) = e′

De modo geral, diferentes escolhas da estrategia de reducao podem resultarem funcoes de avaliacao que atribuem significados distintos a uma mesma ex-pressao (mesmo no caso de relacoes de reducao que satisfazem a propriedade deChurch-Rosser).11

Existem diferentes estrategias de avaliacao : avaliacao estrita (chamada-por-valor), avaliacao normal (chamada-por-nome) e avaliacao preguicosa (chamada-por-necessidade).

A funcao de avaliacao, como definida acima, atribui significado, indistinta-mente, tanto a termos validos quanto a termos que nao sao bem tipados. Porexemplo, o significado da expressao (2+5) e 7, uma vez que (2+5) ⇒ 7, e 7 euma forma normal. Do mesmo modo, o significado da expressao (2+True) e essapropria expressao, uma vez que ela nao avalia para nenhuma outra expressao,sendo, portanto, uma forma normal.

E possıvel distinguir esses dois casos, definindo-se explicitamente a sintaxelivre de contexto do conjunto dos termos em forma canonica da linguagem. Amotivacao de tal distincao e possibilitar que se verifique se o sistema de tipos ea semantica operacional da linguagem estao definidos de forma concordante, asaber, satisfazem as propriedades 4 e 5 definidas a seguir. A funcao de avaliacaoparcial evalF e redefinida como:

evalF (e) =

e se e e uma forma canonicae′ se F (e) = e1 e evalF (e1) = e′

erro se e nao e uma forma canonica enao existe e1 tal que F (e) = e1

Utilizando uma sintaxe adequada para os termos em forma canonica dalinguagem, terıamos evalF (2 + 5) = 7 (como anteriormente), mas evalF (2 +True) = erro, uma vez que (2 + True) nao seria uma forma canonica.

Dizemos que dois programas p1 e p2 sao operacionalmente equivalentes seevalF (p1) = evalF (p2). Isto significa que, ou p1 e p2 avaliam para uma mesmaforma canonica, ou ambos resultam em erro, ou evalF e indefinida para ambosos casos (tanto p1 quanto p2 “entram em loop”). Escrevemos, nesse caso, p1

op

=p2.

11Veja secao 10.4, pagina 41.

51

Page 52: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Para estender a definicao de equivalencia operacional para termos (e naoapenas para programas) e necessario introduzir a nocao de contexto.12 Essanocao e necessaria, uma vez que termos podem conter variaveis livres, cujosignificado nao e observavel, isto e, nao e definido pela relacao de reducao. Umcontexto C[ ] e um termo que contem um “buraco” (representado por um par decolchetes), onde outro termo pode ser inserido. Por exemplo:

C0[ ]def= λx :Integer. x+ [ ]

e um contexto tal que, se inserimos nele um termo e qualquer, ele passa a ter aforma13

C0[e]def= λx :Integer. x+ e

Na insercao de um termo e em um contexto C[ ], resultando em C[e], ocorrenciaslivres de variaveis em e podem ser capturadas em C[e], uma vez que a insercaode um termo em um contexto C[ ] e efetuada sem que as variaveis ligadas nessecontexto sejam renomeadas.

Dois termos e1 e e2 sao operacionalmente equivalentes (e1op

= e2) se, paratodo contexto C[ ] tal que C[e1] e C[e2] sao programas, tem-se que evalF (C[e1]) =evalF (C[e2]).

A concordancia entre o sistema de tipos e a semantica operacional de umalinguagem e expressa pelas seguintes propriedades:

Propriedade 4 (Reducao preserva tipo) Se Γ ⊢ e : σ e provavel, e e ⇒ e′

entao Γ ⊢ e′ : σ e provavel.

Propriedade 5 (Programas bem tipados nao contem erros) Se Γ ⊢ p :σ e provavel, entao evalF (p) 6= erro

A primeira propriedade expressa que a relacao de transicao deve preservaro tipo das expressoes. A segunda propriedade expressa que termos validos(bem tipados) avaliam para formas canonicas da linguagem. A verificacao dessapropriedade possibilita a detectar eventuais erros na definicao do sistema detipos (a atribuicao de um tipo a uma expressao que nao deveria ser tipada),assim como na definicao da semantica operacional (a avaliacao de um programabem tipado resultando em erro). Uma linguagem que satisfaz essa segundapropriedade e dita fortemente tipada.

A semantica denotacional de uma linguagem prove uma definicao do signi-ficado de seus termos que e, em geral, mais adequada para o raciocınio sobrepropriedades de programas e de construcoes da linguagem, do que a definicaoobtida atraves da semantica operacional. A semantica operacional, por outrolado, prove uma definicao mais adequada de como a linguagem deve ser imple-mentada, sendo muito util, portanto, para implementadores da linguagem.

Deve-se notar tambem que as semanticas operacional e denotacional de umalinguagem devem ser definidas de forma concordante, isto e, devem satisfazer aseguinte propriedade:

12Observe que o termo contexto definido na secao anterior refere-se a um contexto de tipos,

diferentemente do definido aqui, que pode ser visto como um termo incompleto, com um

buraco em que outro termo pode ser inserido.13A notacao de λ-expressoes e descrita na secao 10.4. Intuitivamente, uma expressao λ x :σ. e

representa uma funcao que, ao receber um argumento denotado por x, de tipo σ, fornece como

resultado o valor definido pela expressao e.

52

Page 53: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Propriedade 6 (Adequacao computacional) Seja p um programa e v uma

forma canonica. Temos que pden= v se, e somente se, evalF (p) = v.

Para termos arbitrarios e e e′, o que se espera, em geral, e que, se e e e′ saodenotacionalmente equivalentes, entao e e e′ sao operacionalmente equivalentes

(den= implica

op

=). Se a recıproca e tambem verdadeira (ou seja, seop

= implicaden= ), entao a semantica denotacional e dita totalmente abstrata. Entretanto, adefinicao de uma semantica denotacional totalmente abstrata pode ser muitodifıcil.

Se as semanticas operacional e denotacional de uma linguagem estao rela-cionadas pela propriedade de adequacao computacional, entao a propriedade5 torna-se um corolario da propriedade 3. De fato, suponha que Γ ⊢ p : σ eprovavel e que evalF (p) = erro. Pela propriedade de adequacao computacional,

temos pden= erro. Mas como erro nao possui significado denotacional, o mesmo

deve acontecer com p. Absurdo, pois [[Γ ⊢ p : σ]]ρ ∈ [[σ]]ρ, para qualquer ρ quesatisfaz Γ, pela propriedade 3.

13 Semantica denotacional do λ-calculus

Relembrando:Y = λh.(λx.h(xx))(λx.h(xx))

Y e tal que, para qualquer termo M

YM = M(YM)

As perguntas que surgem sao:

• Se M tem mais de um ponto fixo, qual YM produz?

• O que acontece quando Y e applicado a expressoes como λx.x + 1, quenao possui ponto fixo?

• Paradoxos: u ≡ λy.if yy = a then b else a

Para entender melhor a segunda pergunta, considere a seguinte definicaorecursiva:

f = λx. if x = 0 then 1else if x = 1 then f(3)else f(x− 2).

Resolver a equacao acima significa procurar o ponto fixo de:

λf.λx. if x = 0 then 1else if x = 1 then f(3)else f(x− 2).

Mas tal equacao possui varias solucoes. De fato, algumas delas sao:

f1(x) =

{

1, x par⊥, x ımpar.

f2(x) = 1

f3(x) =

{

1, x para, x ımpar.

53

Page 54: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Parece claro que a primeira solucao e a melhor. Mas por que? A resposta e quetodas as outras solucoes contem informacoes arbitrarias, que uma computacao(automatica) nao pode decidir.

Em outras palavras, f1 e a solucao minimal, ou a que contem o mınimo deinformacoes.

O objetivo do texto a seguir e formalizar esse conceito de ordenacao devalores dependendo da quantidade de informacao que eles carregam.

13.1 Conjunto parcialmente ordenado (POSET)

Considere os seguintes intervalos na reta:

x = [x1, x2] e y = [y1, y2]

Se y1 ≤ x1 e x2 ≤ y2, entao podemos comparar x com y: x e mais preciso doque y.

Escreveremos:y ⊑ x

significando que y aproxima-se de x. Em geral, temos a seguinte definicao:

Definicao 16 Um POSET e um conjunto P munido de uma ordem parcial⊑P em P tal que ⊑P e:

1. Reflexiva: x ⊑P x

2. Transitiva: x ⊑P y ∧ y ⊑P z ⇒ x ⊑P z

3. Anti-simetrica: x ⊑P y ∧ y ⊑P x⇒ x ⊑P y

A partir da definicao de POSET, podemos introduzir as nocoes de supremoe elemento mınimo.

Definicao 17 Uma cota superior ub em P de X ⊆ P e u ∈ P tal que∀x ∈ X, x ⊑ u.

Definicao 18 O supremo lub de X ⊆ P e um ub U de X ⊆ P , tal que∀v ∈ P, v um ub de X ⇒ u ⊑ v. Escreveremos: u = lubPX.

Definicao 19 O elemento mınimo de um POSET P e um elemento ⊥P ∈ Ptal que ∀x ∈ P, ⊥P ⊑ x.

Observe que nem todo POSET precisa ter um elemento mınimo ⊥ mas,quando o tem, ele e unico devido a anti-simetria de ⊑. Note tambem, que nemtodo conjunto precisa ser um POSET. Qualquer ordenacao total dentro de umconjunto e chamdo de cadeia.

Definicao 20 X ⊆ P e uma cadeia em P se

∀x, y ∈ X, x ⊑ y ∨ y ⊑ x

ou seja, a ordem parcial ⊑ e uma ordem total em X.

Se X = {x0, x1, . . .} for uma cadeia, escrevemos: x0 ⊑ x1 ⊑ . . . e se P forum POSET sem cadeias infinitas, a altura de P sera o comprimento de suamaior cadeia.

54

Page 55: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

13.2 Ordem parcial completa (CPO)

Definicao 21 Um CPO e um POSET no qual toda cadeia tem um lub em P

Observe que os racionais com a ordenacao ≤ nao e um CPO. De fato, porexemplo, o lub do subconjunto (infinito) contendo todos os racionais menoresque

√2 nao e um numero racional. Observe tambem os naturais com ≤ nao e

um CPO.Mas todo POSET de altura finita que tenha um elemento mınimo e um

CPO.A seguir descreveremos o processo de construcao de um CPO trivial a partir

de qualquer conjunto A, chamado flat:

• Cria-se a CPO A⊥ = A ∪ ⊥A, tal que ⊥A /∈ A.

• Define-se a relacao ⊑A tal que, para todo a, b ∈ A⊥:

a ⊑A b⇔ a = ⊥A ou a = b.

Desta forma, a altura de A⊥ e 2.Outra forma de construir CPOs a partir de certos CPOs dados e utilizando

a nocao de produto cartesiano.

Definicao 22 Sejam P e Q CPOs. O produto cartesiano P xQ e definido como:

P xQ = {< x, y > |x ∈ P, y ∈ Q}

munido da relacao ⊑PxQ, tal que < x, y >⊑PxQ< w, z > quando x ⊑P w ey ⊑Q z.

Teorema 20 Sejam P e Q CPOs. Entao P xQ e um CPO.

Prova

1. PxQ tem elemento mınimo: < ⊥P ,⊥Q >.

2. ⊑PxQ e reflexiva, transitiva e anti-simetrica.

3. Toda cadeia < t0, v0 >⊑< t1, v1 >⊑ . . . em PxQ tem um lub < t, v > talque

t = lub ti em P e v = lub vi em Q.

Definicao 23 Sejam P e Q CPO’s. A funcao f : P −→ Q e monotonica se

∀p, p′ ∈ P, p ⊑P p′ ⇒ f(p) ⊑Q f(p′).

Proposicao 21 Seja p0 ⊑P p1 ⊑P p2 ⊑P . . . uma cadeia em P . Seja f umafuncao monotonica. Entao f(p0) ⊑Q f(p1) ⊑Q f(p2) ⊑Q . . . e uma cadeia emQ.

Prova f monotonica: pi ⊑P pi+1 ⇒ f(pi) ⊑Q f(pi+1). O resultado seguepor transitividade.

Definicao 24 Sejam P e Q CPO’s. A funcao P −→ Q e contınua se, paratoda cadeia nao vazia p0 ⊑P p1 ⊑P . . . em P :

55

Page 56: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

1. f(p0) ⊑Q f(p1) ⊑Q . . . e uma cadeia em Q.

2. f(lubi≥0pi) = lubi≥0f(pi)

Observacao: Toda funcao contınua e monotonica.

Proposicao 22 Seja P um CPO de altura finita. Seja Q um CPO qualquer.Se f : P −→ Q for uma funcao monotonica, entao f e contınua.

Prova Seja p0 ⊑P p1 ⊑P . . . ⊑P pn uma cadeia em P . Como f e monotonica,

f(p0) ⊑Q f(p1) ⊑Q . . . ⊑Q f(pn)

e uma cadeia em Q (Proposicao 21). E

f(lub0≤i≤npi) = f(pn) = lub0≤i≤nf(pi)

Definicao 25 Definimos [P −→ Q] como o conjunto das funcoes contınuas doCPO P para o CPO Q munido da relacao de ordem parcial:

f ⊑P−→Q gdef= ∀p ∈ P, f(p) ⊑Q g(p)

Lema 23 Seja f0 ⊑ f1 ⊑ . . . uma cadeia em [P −→ Q]. Entao, para todop ∈ P :

a) (lubi≥0fi)(p) = lubi≥0fi(p).

b) lubi≥0(lubj≥0fi(pj)) = lubj≥0(lubi≥0fi(pj)).

Teorema 24 Sejam P e Q CPO’s. Entao [P −→ Q] e um CPO.

Prova

1. A relacao ⊑[P−→Q] e uma ordem parcial.

2. O elemento mınimo ⊥[P−→Q] de [P −→ Q] e definido por:

∀p ∈ P. ⊥[P−→Q](p) = ⊥Q

3. Por fim, toda cadeia em [P −→ Q] tem um lub em [P −→ Q].

Definicao 26 Seja P um CPO. Entao a funcao µP : [P −→ P ] −→ P definidapor

µP (f)def= lubi≥0f

i(⊥P )

onde f0(⊥P )def= ⊥P , tem as seguintes propriedades:

1. µP e contınua.

2. f(µP (f)) = µP (f).

3. ∀p ∈ P, | f(p) = p implica µP (f) ⊑ p.

56

Page 57: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Seja f ∈ [N⊥ −→ N⊥] definida pela equacao:

f = λn.n = 0 −→ 1, n ∗ f(n− 1)

Entao pode-se escrever:

f = H(f), para H ∈ [[N⊥ −→ N⊥] −→ N⊥]

H(f) = λn.n = 0 −→ 1, n ∗ f(n− 1)

A menor solucao e f = lubi≥0Hi(⊥).

1.f = lubi≥0H

i(⊥)H(f) = λn.n = 0 −→ 1, n ∗ f(n− 1)H0(⊥) = ⊥

2.H1(⊥) = λn.n = 0 −→ 1, n ∗ ⊥(n− 1)

= λn.n = 0 −→ 1,⊥

3.

H2(⊥) = λn.n = 0 −→ 1, n ∗H(⊥)(n− 1)= λn.n = 0 −→ 1, n ∗ (n− 1 = 0 −→ 1,⊥)= λn.n = 0 −→ 1, n ∗ (n = 1 −→ 1,⊥)= λn.n = 0 −→ 1, n = 1 −→ n,⊥

4.

H3(⊥) = λn.n = 0 −→ 1, n ∗H2(⊥)(n− 1)= λn.n = 0 −→ 1, n ∗ (n− 1 = 0 −→ 1, n− 1 = 1 −→ n− 1,⊥)= λn.n = 0 −→ 1, n ∗ (n = 1 −→ 1, n = 2 −→ n− 1,⊥)= λn.n = 0 −→ 1, n = 1 −→ n, n = 2 −→ n ∗ (n− 1),⊥= λn.0 ≤ n < 3 −→ n!,⊥

5. Hk(⊥) = λn.0 ≤ n < k −→ n!,⊥

6. Para k −→ ∞ tem-se:

f = λn.n = ⊥ −→ ⊥, n!

14 Logica Linear

Como visto na Secao 2, matematicos comecam de um conjunto de axiomas,provam alguns lemas e entao os utilizam para provar teoremas. Algumas dasprovas utilizadas nao sao construtivas, e o uso da estrategia conhecida comoreducao ao absurdo e muito comum.

Uma vez que um lema e provado, ele pode ser usado de novo para provaroutras proposicoes ou teoremas, uma vez que um lema provado verdadeiro seraverdadeiro para sempre. Portanto, matematicos trabalham com a logica classica,a logica da verdade estavel e de recursos e conclusoes infinitos.

Ja a logica intuicionista (Secao 3) joga fora essa nocao de verdade abso-luta e a veracidade de uma afirmativa depende da existencia de uma prova (ouconstrucao) da afirmativa.

Mas ainda, a logica intuicionista e uma logica de infinitos recursos – masnao infinitas conclusoes, uma vez que permitir a prova de todos os resultadospossıveis implica em permitir o princıpio do meio excluıdo.

57

Page 58: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Agora, se imaginarmos a situacao real de descrever uma maquina de venderrefrigerantes, nao e adequado usar uma logica de recursos infinitos. Ou seja, seuma latinha de guarana custa um real e tenho um real na minha carteira, possocomprar apenas uma latinha e, no fim do processo, vou estar sem dinheiro.

A Logica Linear (desenvolvida por Girard [10]) lida com situacoes como essa:e uma logica de recursos conscientes. Em Logica Linear, afirmativas nao podemser livremente copiadas (Contraction) ou descartadas (Weakening), apenas emsituacoes especiais, onde aparece um tipo muito particular de conectivos: os ex-ponenciais “?” e “!”. Intuitivamente, !B significa que o recursoB pode ser usadotantas vezes quanto necessarias. De maneira dual, ?B indica a possibilidade deproducao de uma quantidade infinita da conclusao B.

A implicacao linear e representada pelo sımbolo “−◦” e o significado de A−◦Be:

consome-se A dando origem a B

Isto significa que, a partir do ponto em que B e produzido, o predicado A deixade ser valido. A implicacao intuicionista “⇒” entao significa:

A⇒ B ≡ !A−◦B

ou seja, um predicado A implica B intuicionisticamente se e somente se existeuma quantidade infinita de A que linearmente implica B.

A ausencia de Contraction e Weakening muda a natureza dos conectivoslogicos. De fato, a conjuncao intuicionista (assim como a disjuncao) e separadaem dois conectivos diferentes. Portanto, existem duas maneiras distintas deformular a conjuncao, correspondendo a dois conectivos distintos em LogicaLinear: o conectivo multiplicativo “⊗” (A⊗B significa ambos A e B) e o aditivo“&” (A&B = escolha entre A e B). O mesmo para a disjuncao: multiplicativo“O” (AOB e igual a A paralelo a B) e aditivo “⊕” (A⊕B significa ou A ou B).

Logica Linear utiliza ainda os seguintes conectivos: ⊥, e 1 para a versaomultiplicativa de falso e verdadeiro respectivamente; 0, ⊤ para a versao aditivadesses conectivos; e ∀ e ∃ para quantificacoes universal e existencial.

14.1 Semantica

A semantica da Logica Linear e dada atraves de espacos coerentes.

Definicao 27 Um espaco coerente e um conjunto (de conjuntos) A que satisfazas seguintes propriedades:

i. Se a ∈ A e a′ ⊂ a entao a′ ∈ A.

ii. Se M ⊂ A e se ∀a1, a2 ∈M.a1 ∪ a2 ∈ A, entao⋃

M ∈ A.

Podemos entao considerar que espacos coerentes sao domınios (parcialmenteordenados pela inclusao) algebricos (qualquer conjunto e a uniao direta de seussubconjuntos finitos).

Entender como espacos coerentes podem ser utilizados para descrever semanticademanda um certo tempo e muito espaco. Portanto, nao podera ser descrito nes-tas notas. Uma analise mais detalhada sobre este assunto pode ser encontradaem [10, 11].

58

Page 59: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

15 Logica e Ciencia da Computacao

De Acordo com Miller [19], logica e utilizada na especificacao de sistemas com-putacionais de dois modos. Primeiro, computacoes sao estruturas matematicascontendo nodos, estados e transicoes de estados e a logica faz afirmacoes sobretais estruturas. Portanto, computacoes sao modelos para expressoes logicas.Esta abordagem e conhecida como computacao-como-modelo. Como um exem-plo de como a logica e utilizada nesta abordagem, considere as triplas de Hoareque tipicamente sao representados como:

{Γ}P{∆}

significando que se um programa P comeca a ser rodado em um estado quesatizfaz as proposicoes logicas em Γ, entao P termina (se termina) em um estadoque satisfaz as proposicoes em ∆. As formulas em Γ sao chamadas de pre-condicoes de P enquanto que as em ∆ sao chamadas de pos-condicoes. Porexemplo, seja P o programa que contem o comando x := x + 1 (Figura 7). Ofato de que P comeca em um estado, por exemplo, em que o identificador xtem valor 1 pode ser representado como o par 〈x, 1〉, dentro de uma estruturamatematica maior. A logica e utilizada para expressar proposicoes sobre estepar. Por exemplo, ao final de um passo de execucao, teremos 〈x, 2〉 satizfazendoa proposicao x > 1 ∧ x < 3.

Figura 7: Triplas de Hoare

Na segunda abordagem, estados sao descritos atraves de um conjunto de pro-posicoes e mudancas nos estados sao modelados por mudancas nas proposicoesdentro de uma derivacao (ou seja, por passos na construcao de uma prova). Essaabordagem e conhecida como computacao-como-deducao.

No exemplo anterior, o fato de que o identificador x tem valor 1 pode sercodificado como a proposicao “x tem valor 1”. Note que a mudanca de estadopode requerer que uma certa proposicao deixe de ser valida, enquanto que outraspodem passar a ser verdadeiras. Tais mudancas sao naturalmente suportadaspela Logica Linear. De fato, a transicao do estado 1 para o estado 2 da Figura 7pode ser descrita como a seguinte formula da Logica Linear:

(x tem valor 1) −◦ (x tem valor 2)

Ou seja, a primeira proposicao e “consumida” para “produzir” a segunda pro-posicao.

59

Page 60: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

As logicas classica e intuicionista nao suportam esse tipo de acao: um con-texto pode apenas ser expandido ao longo de uma derivacao e nao existe oconceito de limitacao ou consumo de recursos.

A primeira abordagem tem sido amplamente estudada e faz uso de topicosda matematica como teoria de conjuntos, teoria das categorias, algebras, etc,para modelar computacoes. Em geral, as estruturas matematicas utilizadas saocomplexas porque devem lidar com o conceito de infinitude.

A segunda abordagem, apesar de lidar com estruturas mais simples (queraramente fazem referencia ao infinito) e de estar mais intimamente ligada acomputacao, tem merecido pouca ou nenhuma atencao nos ultimos tempos.Apenas apos recentes pesquisas na area de teoria de provas e programacao logicaobservou-se um crescimento do estudo nessa area de pesquisa. Logicas expressi-vas como Logica Linear [10] (e Forum [18] - linguagem de programacao baseadaem Logica Linear) passaram a ser utilizadas para modelar estados, transicoesde estado e algumas primitivas de concorrencia. Como sera visto no decorrerdo texto, a utilizacao de Logica Linear para especificar sistemas computacionaisprove ricas formas de analise e deducao de propriedades dos sistemas especifi-cados.

Mais recentemente, uma nova abordagem para representar logicas foi pro-posta: o Calculo de Estruturas [4, 13, 30]. Ate agora, varias logicas proposici-onais foram especificadas em calculo de estruturas e a alta simetria das regraslogicas juntamente com o procedimento de deep inference para acessar subfor-mulas permitem a observacao de algumas propriedades muito interessantes naslogicas especificadas. Isto abre uma avenida enorme para a exploracao do usoda logica em proof theory.

16 Logical frameworks

Um logical framework [24] e uma meta-linguagem formal especificamente de-senvolvida para representar linguagens de programacao, logicas e outros for-malismos que podem ser descritos atraves de sistemas de provas. Um logicalframework consiste de uma meta-linguagem de representacao (usualmente umalogica ou uma teoria de tipos) com algumas propriedades computacionais, e umametodologia de meta-representacao que sugere como codificar um dado sistemade provas.

Acontece que a codificacao tem que ser natural e eficiente, se nao se tormaintratavel e inutil.

Isto significa que a meta-linguagem escolhida deve ser poderosa o suficientepara codificar diversos sistemas dedutivos e, ao mesmo tempo, deve ser simpleso suficiente de maneira a permitir representacoes concisas dos sistemas especi-ficados.

Em artigos recentes [21, 20], Logica Linear tem sido usada como um fra-mework para a especificacao de sistemas de provas. As codificacoes propostassao naturais, elegantes e diretas, permitindo o uso da rica meta-teoria da LogicaLinear para ajudar a provar propriedades sobre os sistemas especificados.

60

Page 61: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

16.1 Logica Linear como framework para especificar sis-temas de sequentes

No passado, varios frameworks logicos baseados em logica intuicionista tem sidopropostos e utilizados para especificar sistemas de provas baseados em deducaonatural (veja por exemplo Isabelle, λ-Prolog, LF e Twelf). Dada a coneccaoentre deducao natural e λ-calculus (veja Secao 11), aplicacoes que requeremobject-level binding e substituicoes tem sido implementadas com sucesso nessesframeworks logicos.

Como exemplo, considere a prova em deducao natural:

(A)...B CD

Tal prova pode ser especificada em logica intuicionista como:

(prove A⇒ prove B) ∧ prove C ⇒ prove D

Proof search em logica intuicionista tem sido bem estudada e possui diversasimplementacoes robustas (como Isabelle e λ-Prolog acima citadas, por exemplo).

A questao que surge e: qual framework e adequado para especificar calculo desequentes? Claramente, sequentes podem ser codificados dentro dos frameworksexistentes atraves de pares de listas de formulas. Mas calculo de sequentes possuivarias dualidades:

Esquerda DireitaPositivo Negativo

Axioma inicial Regra CutSıncrono Assıncrono

Em particular, a dualidade Esquerda - Direita e o centro do calculo desequentes uma vez que sequentes tem a forma:

Γ ⊢ ∆

onde as hipoteses Γ estao do lado esquerdo do sımbolo de validade ⊢ enquantoas conclusoes ∆ ocorrem do lado direito. Relacionado a isto, esta a nocao deocorrencias positivas e negativas de uma formula dentro de um sequente. Anocao de conectivos sıncronos e assıncronos depende das regras de inferenciadefinindo o comportamento de tais conectivos, e a dualidade do axioma inicial eda regra Cut pode ser melhor entendida dentro do topico Calculo de Estruturas.

Um framework deve levar em conta tais dualidades diretamente, e isso eproblematico em logica intuicionista. De fato, uma vez que o princıpio do meioexcluıdo nao e mais valido, temos que, em geral,

¬(¬A) 6≡ A

ou seja, negando um predicado duas vezes nao nos da o predicado original. Istofaz com que a logica intuicionista seja muito fraca como meta-logica para des-crever sistemas de sequentes uma vez que, por definicao, dualidades sao sempresimetricas.

61

Page 62: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Tambem, as regras estruturais tem um papel importante na definicao deconectivos logicos em calculo de sequentes, e um controle total da modalidadenao esta presente em logica intuicionista.

Ocorre que Logica Linear e uma boa escolha de meta-linguagem: possui umanegacao involutiva permite que Contraction e Weakening sejam controlados erefina a logica intuicionista.

A De deducao natural para calculo de sequentes

Na Secao 2, vimos uma introducao a um formalismo de provas chamado deducaonatural. A principal vantagem desse tipo de presentacao de sistemas de logicaformal e que deducao natural segue o estilo natural de argumentacao, com regrasde introducao e eliminacao para cada conectivo.

Entretanto, construir provas utilizando deducao natural e muito difıcil, umavez que nao existe, comecando da formula que se deseja provar e seguindo debaixo para cima, uma estrategia de prova. Por exemplo, se queremos provar aformula B utilizando a regra modus ponens:

Γ ⊢ A⇒ B Γ ⊢ AΓ ⊢ B

a formula A deve ser “adivinhada”. De fato, a formula A pode ser, a princıpio,qualquer formula.

Nesta secao, apresentaremos um tipo de formalismo, chamado calculo desequentes, para presentacao de sistemas de logica formal. Comecaremos entre-tanto por descrever em maiores detalhes deducao natural.

A.1 Deducao natural

Em deducao natural, as regras de inferencia foram estabelecidas a partir dastao faladas condicoes BHK (de Brower-Heyting-Kolmogorov), que explicamoperacoes logicas da logica proposicional em termos da provabilidade direta deproposicoes, como descrito a seguir:

1. Uma proca direta de A ∧B consiste de provas de A e B.

2. Uma prova direta de A∨B consiste em uma prova de A ou de uma provade B.

3. Uma prova direta de A ⇒ B consiste em uma prova da proposicao Bpartindo do pressuposto que existe uma prova da proposicao A.

4. Uma prova direta de ⊥ e impossıvel.

A partir das condicoes BHK, chegamos as regras de introducao da Figura 1, asaber:

Γ ⊢ A Γ ⊢ BΓ ⊢ A ∧B (∧I) Γ ⊢ A

Γ ⊢ A ∨B (∨I1) Γ ⊢ BΓ ⊢ A ∨B (∨I2)

Γ, A ⊢ BΓ ⊢ A⇒ B

(⇒ I)

Para cada uma das regras de introducao acima, existe uma regra de eliminacao.O princıpio geral que nos ajuda a determinar quais sao essas regras e o princıpiode inversao(veja [22]):

62

Page 63: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Princıpio de inversao. Tudo o que e derivado a partir daderivacao das premissas utilizadas na prova direta de uma proposicaodeve derivar da proposicao.

Desta forma, como A ∧ B segue da derivacao de A e da derivacao de B, se Cvale quando assumimos A e B entao C e derivavel a partir de A ∧B:

Γ ⊢ A ∧B A,B ⊢ CΓ ⊢ C (∧E)

A regra acima se transforma trivialmente nas regras (∧E1) e (∧E2) da Figura 1quando C = A ou C = B.

No caso da disjuncao, temos dois casos: ou A ∨B deriva de A e C tambemderiva de A ou A∨B deriva de B e C tambem deriva de B. Como os dois casossao possıveis, temos a regra de eliminacao:

Γ ⊢ A ∨B A ⊢ C B ⊢ CΓ ⊢ C (∨E)

O caso da implicacao e mais complicado. De fato, A ⇒ B depende daexistencia de uma derivacao hipotetica de B a partir de A. Logo se temos umaderivacao de A e se C derva de B, entao Cderiva de A ⇒ B. Traduzindo pararegras de inferencia:

Γ ⊢ A⇒ B Γ ⊢ A B ⊢ CΓ ⊢ C (⇒ E)

Mais uma vez, se C = B obtemos o resultado da Figura 1.Por fim, ⊥ nao possui regra de introducao. Desta forma, as premissas para

a derivacao de ⊥ nao existem, ou formam um conjunto vazio. De acordo com oprincıpio da inversao, qualquer coisa segue de ⊥, ou seja:

Γ ⊢ ⊥Γ ⊢ C (⊥E)

A.2 Calculo de sequentes

Calculo de sequentes foi introduzido nos anos 1930 por Gerhard Genzen, quetambem introduziu deducao natural. Apesar da sintaxe ser parecida, calculode sequentes e deducao natural diferem em varios aspectos. Enquanto deducaonatural enfatiza as propriedades mais fundamentais dos conectivos atraves desuas regras de eliminacao e introducao, o calculo de sequentes e mais “pratico”no sentido que:

• Em vez de regras de eliminacao e introducao, o calculo de sequentes possuiapenas regras de introducao;

• premissas e conclusoes sao tratadas da mesma forma e sao construıdassimultaneamente;

• e menos natural, mas tecnicamente mais simples: quando lidas de baixopra cima (bottom up), fica claro que as regras no calculo de sequentessimplificam o processo de construcao de provas.

63

Page 64: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Axioma inicial e a regra cut

Γ, A ⊢ ∆, AInicial

Γ1 ⊢ ∆1, A A,Γ2 ⊢ ∆2

Γ1,Γ2 ⊢ ∆1,∆2Cut

Regras a direita

Γ ⊢ ⊤,∆ ⊤RΓ ⊢ A,∆ Γ ⊢ B,∆

Γ ⊢ A ∧B,∆ ∧ RΓ, A ⊢ B,∆

Γ ⊢ A⇒ B,∆⇒ R

Γ ⊢ A,∆Γ ⊢ A ∨B,∆ ∨ R1

Γ ⊢ B,∆Γ ⊢ A ∨B,∆ ∨R2

Γ ⊢ A[x/y],∆

Γ ⊢ ∀xA,∆ ∀R Γ ⊢ A[x/t],∆

Γ ⊢ ∃xA,∆ ∃R

Regras a esquerda

Γ,⊥ ⊢ ∆⊥L

Γ, A ⊢ ∆

Γ, A ∧B ⊢ ∆∧ L1

Γ, B ⊢ ∆

Γ, A ∧B ⊢ ∆∧ L2

Γ, A ⊢ ∆ Γ, B ⊢ ∆

Γ, A ∨B ⊢ ∆∨ L

Γ1 ⊢ A,∆1 Γ2, B ⊢ ∆2

Γ1,Γ2, A⇒ B ⊢ ∆1,∆2⇒ L

Γ, A[x/t] ⊢ ∆

Γ, ∀xA ⊢ ∆∀L Γ, A[x/y] ⊢ ∆

Γ, ∃xA ⊢ ∆∃L

Regras estruturais

Γ ⊢ ∆

Γ, A ⊢ ∆weak L

Γ ⊢ ∆

Γ ⊢ ∆, Aweak R

Γ, A,A ⊢ ∆

Γ, A ⊢ ∆cont L

Γ ⊢ ∆, A,A

Γ ⊢ ∆, Acont R

Figura 8: Calculo de sequentes para a logica classica

As regras do calculo de sequentes para a logica classica estao listadas naFigura 8.

As regras, a direita e a esquerda sao chamadas regras logicas, uma vez quedefinem o significado dos conectivos logicos.

Observe que as regras a direita sao as mesmas usadas em deducao natural.Por outro lado, as regras de eliminacao em deducao natural correspondem asregras a esquerda do calculo de sequentes. De fato, no caso de ∧E na formacomo apresentada na Secao anterior, temos a derivacao de C a partir de A, Be algumas hipoteses Γ e concluımos que C segue de A ∧ B e Γ. Em calculo desequentes, isso e escrito como:

A,B,Γ ⊢ CA ∧B,Γ ⊢ C

Observe que a regra como escrita acima e equivalente as regras ∧L1 e ∧L2 daFigura 8 para o caso intuicionista (apenas um sucedente) uma vez que as regrasestruturais podem ser usadas livremente a esquerda de um sequente.

64

Page 65: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Exemplo 5 Provas em calculo de sequentes sao muito mais faceis de seremrealizadas quando comparadas com deducao natural. Um exemplo disso e aprova do princıpio do meio excluıdo:

p ⊢ ⊥, p initial

⊢ p,¬p ⇒ R

⊢ p, p ∨ ¬p ∨R2

⊢ p ∨ ¬p, p ∨ ¬p ∨R1

⊢ p ∨ ¬p contR

A.2.1 Cut elimination

Talvez a regra logica mais conhecida em deducao natural seja a modus ponens14:

Γ ⊢ A⇒ B Γ ⊢ AΓ ⊢ B (ELIM ⇒)

Informalmente, essa regra diz que se temos uma funcao do tipo A ⇒ B e umargumento do tipo A, entao podemos aplicar a funcao ao argumento e obter umresultado do tipo B.

A regra acima citada juntamente com a regra de introducao de ⇒ e equi-valente a regra Cut do calculo de sequentes que aparece em logicas tradicionaiscomo classica, intuicionista e linear [3]:

Γ1 ⊢ ∆1, A A,Γ2 ⊢ ∆2

Γ1,Γ2 ⊢ ∆1,∆2(Cut)

Basicamente, essa regra formaliza o conceito de provas matematicas utilizandolemas auxiliares. Ou seja, se podemos provar um lema A (e outros resultados∆1) a partir de um conjunto de hipoteses Γ1 e, a partir de A (e possivelmentealgumas outras hipoteses Γ2) e possıvel provar outro conjunto de resultados(∆2), entao podemos provar ∆1,∆2 diretamente a partir de Γ1,Γ2.

Essa ideia e utilizada sempre em Matematica mas e tambem muito interes-sante sob o ponto de vista computacional, uma vez que a implementacao detal regra e feita “bottom-up”. Ou seja, para tentar provar ∆1,∆2 a partir deΓ1,Γ2, primeiro tentamos provar uma formula A (para uma certa formula des-conhecida A), e a partir de A tentamos provar ∆2. Isto significa que a formulalogica A deve ser “adivinhada” pelo programa de computador e isso representaum problema muito serio, uma vez que computadores nao tem a “criatividade”necessaria para adivinhar formulas.

Portanto, e muito importante dentro da area de programacao logica a pos-sibilidade de se verificar se um sistema logico possui a propriedade de cut-elimination, ou seja, checar se a regra Cut e, de fato, redundante e portantopode ser eliminada.

Enquanto para Ciencia da Computacao a importancia da propriedade decut-elimination esta relacionada com a viabilidade de implementacoes, para osmatematicos essa propriedade reforca o fato de que lemas sao ferramentas uteispara organizar uma prova, mas completamente dispensaveis. Ou seja, todaprova que utiliza a regra Cut pode ser substituıda por uma onde Cut nao estapresente.

14Veja Secao 2

65

Page 66: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

Checar se um sistema logico possui a propriedade de cut-elimination e, emgeral, um problema nao trivial (veja, por exemplo, [28, 17, 24, 21, 3, 25]). Valeobservar que essa propriedade e valida para as logicas classica e intuicionista.Como consequencia imediata, temos que esses sistemas sao consistentes.

Entao, a logica de primeira ordem e completa e consistente. Observe queisso nao entra em contradicao com o resultado de Godel, uma vez que a logicade primeira ordem nao e suficientemente forte, ou seja, nao inclui a aritmetica.

Referencias

[1] Barendregt, H.P., The Lambda Calculus: its syntax and semantics, N.103in Studies in Logic and the Foundations of Mathematics (revised edition),North-Holland, Amsterdam (1994).

[2] Boole, G., The mathematical analsys of logic, being an essay toward a cal-culus of deductive reasoning, 1847.

[3] Bruscoli, P. and Guglielmi, A., A Tutorial on Proof Theoretic Foundationsof Logic Programming. Invited tutorial at ICLP ’03, LNCS 2916 (2003).

[4] Brunnler, K., Deep Inference and Symmetry in Classical Proofs, PhD thesis(2003).

[5] Church, A., A formulation of the simple theory of types, Journal of SymbolicLogic 5, pp. 56–68 (1940).

[6] Church, A., An unsolvable problem of elementary number theory, AmericanJournal of Mathematics, 58, pp 345-363 (1963).

[7] Enciclopedia Einaudi, Logica Combinatoria, Imprensa Nacional - Casa daMoeda, 1988.

[8] Frege, G., Begriffsschrift, eine der arithmetischen nachgebildete Formels-prache des reinen Denkens, 1879.

[9] Forster, T., Logic, Induction and Sets, London Mathematical Soc., C. M.Series (2003).

[10] Girard, J-Y., Linear Logic, Theoretical Computer Science, vol 50, pp. 1–102(1987).

[11] Girard, J-Y., Proofs and types.

[12] Godel, K. On Undecidable Propositions of Formal Mathematical Systems,New York (1934).

[13] Guglielmi, A. A System of Interaction and Structure, to appear on ACMTransactions on Computational Logic.

[14] Hatcher, W. S. Foundations of Mathematics (1968).

[15] van Heijenoort, J., From Frege to Godel, Harvard College, (1999).

[16] Hilbert, D., Ackermann, W., Grundzuge der Theoretischen Logik, Berlin,Springer (1928).

66

Page 67: Fundamentos de Matem´atica - Matemática UFMGelaine/IC/fundmat.pdf · 6 Sistema de Frege 16 ... O termo “fundamentos da matem´atica” (em inglˆes, foundations of mathematics)

[17] McDowell, R. and Miller, D., Cut elimination for a logic with definitionsand induction, Theoretical Computer Science, vol. 232, pp.91–119 (2000).

[18] Miller, D., Forum: A multiple-conclusion specification language, Theoreti-cal Computer Science, vol.165, pp. 201–232 (1996).

[19] Miller, D. Sequent Calculus and the Specification of Computation, SchoolMarktoberdorf on Logic of Computation in 1997: An Advanced StudyInstitute of the NATO Science Committee and the Technical Universityof Munich, Germany (1997).

[20] Miller, D., Pimentel, E., Linear logic as a framework for specifying sequentcalculus, Lectures in Logic 17 (2004).

[21] Miller, D., Pimentel, E., Using linear logic to reason about sequent systems,Proceedings of Tableaux, Lecture Notes in Computer Science (2002).

[22] Negri, S., von Plato, J., Structural Proof Theory, Cambridge UniversityPress, 2001.

[23] Paolini, L., Pimentel, E., Ronchi della Rocca, S., Lazy Strong Normaliza-tion, Eletronic Notes in Theoretical Computer Science, 2004.

[24] Pfenning, F. Logical frameworks. In Alan Robinson and Andrei Voronkov,editors, Handbook of Automated Reasoning, chapter 17, pp. 1063–1147(2001).

[25] Pimentel, E., Miller, D., On the specification of sequent systems, LPAR(2005).

[26] Ronchi Della Rocca S., Paolini L., The Parametric λ-calculus: a meta-model for computation, Computer Science-Monograph, Springer Verlag,(2004).

[27] Russell, B. and Whitehead, A. N., Principia Mathematica, New York, Cam-bridge University Press (1927).

[28] Schroeder-Heister, P. Cut-elimination in logics with definitional reflection,Lecture Notes in Computer Science 619 (1992).

[29] Smullyan, R. M., Godel’s incompletness theorems, New York, Oxford Uni-versity Press (1992).

[30] Straßburger, L., Linear Logic and Noncommutativity in the Calculus ofStructures, Ph.D. thesis (2003).

[31] Sørensen, M. H. and Urzyczyn, P. Lectures on the Curry-Howard iso-morphism (1998).

[32] Turing, A.M. On Computable Numbers, with an Application to the Ents-cheidungsproblem, Proceedings of the London Mathematical Society, series2, 42 pp , 230-265 (1936-37).

[33] Willard V. Quine. Set Theory and Its Logic, Harper Torchbooks. NY (1965).

67