• Nenhum resultado encontrado

Incompletude em Sistemas Formais - Parte 2: Indecidibilidade

N/A
N/A
Protected

Academic year: 2021

Share "Incompletude em Sistemas Formais - Parte 2: Indecidibilidade"

Copied!
14
0
0

Texto

(1)

Incompletude em Sistemas Formais - Parte 2:

Indecidibilidade

Vin´ıcius A. de Souza

Fevereiro de 2015

Nesta apresenta¸c˜ao falarei um pouco sobre o cap´ıtulo 3 do livro Godel’s theo-rem - an incomplete guide to its use and abuse, de Torkel Franz´en, que trata um pouco sobre a teoria da computabilidade e sua aplica¸c˜ao no estudo dos funda-mentos da matem´atica, mais precisamente, na obten¸c˜ao de propriedades de in-decidibilidade de certos conjuntos num´ericos e de incompletude de sistemas for-mais espec´ıficos (veremos adiante o que eu quero dizer com “espec´ıfico”) outrora reveladas principalmente por G¨odel e Turing. Cabe aqui a observa¸c˜ao de que du-rante todo o texto o leitor encontrar´a uma bibliografia adicional para que possa realizar um poss´ıvel aprofundamento, caso julgue interessante. Sendo assim, abordarei introdutoriamente alguns t´opicos como sistemas formais, m´aquina de Turing e no¸c˜ao formal de computabilidade, conjuntos recursivamente enu-mer´aveis, decid´ıveis e indecid´ıveis, indecidibilidade do problema da parada e a incompletude de sistemas formais. O leitor tamb´em encontrar´a alguns resulta-dos para serem demonstraresulta-dos, caso queira um pouco de atividade.

1

Sistemas Formais

Simplificadamente falando, um sistema formal ´e um sistema de manipula¸c˜ao de s´ımbolos no qual se explicita as regras de deriva¸c˜ao que permitir˜ao produzir novas cadeias de s´ımbolos, por assim dizer, e onde se pode formalizar o conceito de prova. Minha exposi¸c˜ao aqui sobre sistemas formais segue principalmente os livros do Elliot Mendelson [6] e do Adonai Sant’Anna [7].

Um sistema formal S ´e definido quando s˜ao satisfeitas as seguintes pro-priedades:

1. Existe um conjunto cont´avel de s´ımbolos. Uma sequˆencia qualquer de s´ımbolos de S ´e chamada de express˜ao.

2. Existem um subconjunto de express˜oes de S chamadas de f´ormulas bem formadas (abreviarei por fbf no singular e fbfs no plural) e um procedi-mento efetivo que determina quais express˜oes s˜ao f´ormulas bem formadas.

Graduando em Matem´atica Computacional pela Universidade Federal de S˜ao Paulo

(2)

3. Do conjunto de fbfs, extrai-se um conjunto de axiomas de S. Quando existe um procedimento efetivo para decidir quais f´ormulas bem formadas s˜ao axiomas dizemos que S ´e um sistema formal axiom´atico.

4. Existe um conjunto finito de rela¸c˜oes R1, R2, . . . , Rn entre fbfs chamadas

de regras de inferˆencia. Para cada Ri, existe um ´unico inteiro positivo j tal

que para todo conjunto de j fbfs e para cada fbf B, podemos decidir se as j fbfs est˜ao na rela¸c˜ao Ricom B. Se este for o caso, dizemos que B segue

das tais fbfs por uso da regra de inferˆencia Ri ou que B ´e consequˆencia

direta das fbfs por virtude de Ri.

Podemos agora definir os importantes conceitos de prova e teorema de um sistema formal. Uma prova ou demonstra¸c˜ao em S ´e uma sequˆencia finita B1, B2, . . . , Bkde fbfs tal que, para cada i, ou Bi´e um axioma ou ´e consequˆencia

direta de alguma(s) fbf(s) anterior(es) a Bi por virtude de alguma regra de

inferˆencia do sistema. Sendo assim, um teorema de S ´e uma fbf B de S tal que B ´e a ´ultima fbf de alguma prova em S. Tal prova ´e dita, portanto, prova de B em S. Vocˆe pode dizer, ent˜ao, que B ´e um teorema de S ou ´e demonstr´avel em S se existe uma prova em S onde B ´e a ´ultima fbf desta prova.

Exemplo 1 Vejamos um sistema formal L para o c´alculo proposicional1.

1. Os s´ımbolos de L s˜ao ¬, ⇒, (, ) e letras Ai com inteiros positivos i como

subscritos. Os s´ımbolos ¬ e ⇒ s˜ao chamados de conectivos primitivos e as letras Ai s˜ao chamadas de letras sentenciais.

2. As fbfs s˜ao dadas por:

• Todas as letras sentenciais s˜ao fbfs.

• Se B e C s˜ao fbfs, ent˜ao (¬B) e (B ⇒ C) tamb´em s˜ao fbfs.

• Uma fbf de L ´e uma senten¸ca constru´ıda por meio dos conectivos primitivos a partir de letras sentenciais.

3. Se B, C e D s˜ao fbfs de L, ent˜ao s˜ao axiomas de L: • (A1) (B ⇒ (C ⇒ B))

• (A2) ((B ⇒ (C ⇒ D)) ⇒ ((B ⇒ C) ⇒ (B ⇒ D))) • (A3) (((¬C) ⇒ (¬B)) ⇒ (((¬C) ⇒ B) ⇒ C))

4. H´a uma ´unica regra de inferˆencia denominada Modus Ponens (MP): C ´e consequˆencia direta de B e (B ⇒ C).

No pr´oximo exemplo, vamos demonstrar um teorema no sistema L. Lembre-se de que devemos partir de algum axioma e ir obtendo conLembre-sequˆencias por meio da regra de inferˆencia MP.

1Este exemplo ´e retirado do livro do Mendelson [6]. Certamente poder´a haver outros

(3)

Exemplo 2 Para toda fbf B, (B ⇒ B) ´e teorema de L. A prova ´e dada pela seguinte sequˆencia:

1. ((B ⇒ ((B ⇒ B) ⇒ B)) ⇒ ((B ⇒ (B ⇒ B)) ⇒ (B ⇒ B))) 2. (B ⇒ ((B ⇒ B) ⇒ B))

3. (B ⇒ (B ⇒ B)) ⇒ (B ⇒ B) 4. (B ⇒ (B ⇒ B))

5. B ⇒ B

Note que a primeira e a segunda fbfs s˜ao instˆancias, respectivamente, dos axi-omas (A2) e (A1). A terceira fbf segue da segunda e da primeira por meio de MP. A quarta fbf ´e uma instˆancia do axioma (A1) e, por fim, a ´ultima fbf da demonstra¸c˜ao segue da quarta e da quinta fbf por MP.

H´a trˆes propriedades sobre sistemas formais que devem ser mencionadas. Primeiramente, dizemos que um sistema formal ´e decid´ıvel se existe um proce-dimento efetivo que decida se uma dada fbf qualquer de S ´e um teorema de S. Caso n˜ao exista tal procedimento efetivo, o sistema ´e dito, ent˜ao, indecid´ıvel. Assumindo que a linguagem do sistema formal possui um operador de nega¸c˜ao (digamos, representado por ¬), ele ser´a consistente se n˜ao existe nenhuma fbf α tal que α e ¬α s˜ao ambas teoremas deste sistema. Caso contr´ario, ´e dito inconsistente. Por fim, um sistema formal ser´a completo se toda fbf possui demonstra¸c˜ao ou refuta¸c˜ao, isto ´e, se β ´e uma fbf qualquer, ent˜ao ou β ou ¬β possui demonstra¸c˜ao neste sistema. Caso contr´ario, ser´a dito incompleto. Quando um sistema formal ´e incompleto, isto significa, portanto, que existe uma fbf γ indecid´ıvel, no sentido de que tanto γ quanto ¬γ n˜ao possuem demonstra-¸

c˜ao neste sistema.

Cabe aqui fazermos algumas observa¸c˜oes sobre nossas defini¸c˜oes iniciais que envolvem algumas imprecis˜oes principalmente no que se refere a axiomas2.

Primeiramente, note que os axiomas de um sistema formal podem, de certa forma, ser escolhidos arbitrariamente do conjunto de fbfs. Nenhuma exigˆencia foi realizada no sentido de eles serem consistentes, nem que formem um conjunto finito ou mesmo que sejam imediatamente intuitivos.

H´a ainda duas frases imprecisas que `as vezes ouvimos. A primeira diz que “axiomas s˜ao sempre verdadeiros”. Este ´e um t´opico que necessita de um pouco mais de ferramentas da l´ogica. Primeiramente, vocˆe pˆode notar que, em nossa defini¸c˜ao de sistema formal, n˜ao fizemos nenhuma referˆencia `a no¸c˜ao de ver-dade. Sant’Anna diz que “se o sistema formal for uma teoria de primeira or-dem e se estivermos falando de verdade no sentido de Tarski, um dado axioma pode ser verdadeiro ou falso em uma dada interpreta¸c˜ao”3. Tentarei explicar

2Sobre isto, veja o cap´ıtulo 2 do livro do Sant’Anna [7].

3agina 92 do livro O que ´e um axioma [7]. Ele inclusive fornece um exemplo deste fato

(4)

isto em outras palavras. Quando se constroi um sistema formal, estabelecemos inicialmente no¸c˜oes sint´aticas, isto ´e, no¸c˜oes que se aplicam a sequˆencias de s´ımbolos isentos de significado. Por outro lado, a semˆantica formal vai permitir atribuir valores verdade `as f´ormulas de um sistema formal. Sendo assim, uma interpreta¸c˜ao ´e algo que nos fornecer´a um exemplo ou realiza¸c˜ao daquela parte sint´atica, e pode ser feita de tal modo que um axioma seja falso.

Por fim, a segunda diz que “axiomas s˜ao verdades aceitas sem demonstra-¸c˜ao”. De acordo com a defini¸c˜ao apresentada do conceito de prova, o pr´oprio leitor pode demonstrar que em um sistema formal todo axioma ´e demonstr´avel.

2

aquinas de Turing

Quando dizemos intuitivamente que um problema ou objeto ´e comput´avel ou calcul´avel, imaginamos que seja poss´ıvel resolver este problema ou construir este objeto de forma autom´atica, apenas seguindo uma s´erie de instru¸c˜oes. En-tretanto, para responder certas quest˜oes oriundas inicialmente da l´ogica e da matem´atica, precisamos de uma no¸c˜ao formal de computabilidade, pois, pelo menos na matem´atica, me parece que nossas respostas n˜ao devem depender da sua ou da minha ideia em particular.

Alan Turing foi um dos primeiros a estabelecer uma no¸c˜ao formal de com-putabilidade (1936/1937), formaliza¸c˜ao esta que ficou conhecida por m´aquina de Turing, publicada no artigo On computable numbers, with an application to the Entscheidungsproblem4. A aplica¸c˜ao a qual este artigo se refere, o Entschei-dungsproblem, trata do problema de decis˜ao da l´ogica de primeira ordem (pro-posto por Hilbert). Este problema pergunta, basicamente, se existe um m´etodo autom´atico para decidir se uma senten¸ca qualquer da l´ogica de primeira ordem possui demonstra¸c˜ao ou n˜ao.

Em computable numbers Turing responde de forma negativa ao problema da decis˜ao. Alonso Church, l´ogico americano, tamb´em anunciou este resultado de forma independente, utilizando uma formaliza¸c˜ao do conceito de computabili-dade denominada λ-definibilicomputabili-dade. O pr´oprio Turing demonstrou que as duas no¸c˜oes s˜ao equivalentes. Ali´as, outras no¸c˜oes de computabilidade foram pro-postas, sendo todas elas provadas como equivalentes. Este ´e o principal argu-mento em favor da denominada Tese de Turing, onde se estabelece que n˜ao h´a uma no¸c˜ao mais poderosa de computabilidade do que a m´aquina de Tu-ring. Sendo assim, se assumirmos como verdadeira a tese mencionada, estamos considerando que qualquer procedimento calcul´avel (no sentido intuitivo) ´e com-put´avel por m´aquina de Turing.

4Uma digitaliza¸ao deste artigo est´a dispon´ıvel no projeto Turing Digital Archive, no link

(5)

Vale mencionar que, aparentemente, a m´aquina de Turing causa um maior fasc´ınio do que a λ-definibilidade de Church (´e uma opini˜ao minha, ´e claro, mas tamb´em de muitos outros). Ela n˜ao s´o forneceu um aparato te´orico para a constru¸c˜ao dos pr´oprios computadores f´ısicos, mas talvez inaugura tamb´em todo um pensamento comtemporˆaneo a respeito da pr´opria mente humana, com implica¸c˜oes n˜ao somente na l´ogica e na matem´atica, mas tamb´em na filosofia5.

Feitas estas observa¸c˜oes, introduziremos inicialmente algumas defini¸c˜oes e, em seguida, formalizaremos a m´aquina de Turing com base em [1] e [2].

Uma M´aquina de Turing (MT) ´e um dispositivo constitu´ıdo por uma fita potencialmente infinita, isto ´e, uma fita que pode ser infinitamente prolongada `

a esquerda e `a direita, que est´a dividida em quadrados. Cada quadrado est´a vazio ou cont´em algum s´ımbolo de uma lista finita s1, s2, . . . , sn de s´ımbolos

(conjunto este chamado de alfabeto da MT). A MT ainda possui uma cabe¸ca de leitura, que realiza a leitura de um ´unico s´ımbolo de um quadrado da fita e pode fazer o seguinte:

1. Apagar o s´ımbolo do quadrado lido e escrever neste quadrado um s´ımbolo qualquer do alfabeto.

2. Mover a cabe¸ca de leitura um quadrado `a direita ou `a esquerda do quadrado que est´a sendo lido.

Em qualquer instante de tempo, a MT est´a em um estado oriundo de um n´umero finito de estados, representados por q1, q2, . . . , qm. A a¸c˜ao a ser tomada

pela MT depende de seu estado atual e do s´ımbolo que est´a sendo lido no momento. Sendo assim podemos especificar suas a¸c˜oes por um conjunto finito Q de qu´adruplas (podemos cham´a-las de instru¸c˜oes), que podem assumir uma das formas abaixo:

(qi, sj, sk, ql)

(qi, sj, D, ql)

(qi, sj, E, ql)

para 1 ≤ i, l ≤ m, 0 ≤ j, k ≤ n.

Vejamos o significado das instru¸c˜oes. Uma qu´adrupla (qi, sj, α, ql) ∈ Q

in-forma `a MT, quando ela est´a no estado qi e realiza a leitura do s´ımbolo sj, que

deve realizar as seguintes a¸c˜oes: 1. Verifique as condi¸c˜oes abaixo:

(a) Se α = sk, apague sj e escreva sk no quadrado que est´a sendo lido.

(b) Se α = D, mova a cabe¸ca de leitura um quadrado para a direita. (c) Se α = E, mova a cabe¸ca de leitura um quadrado para a esquerda.

5Para saber um pouco mais sobre a filosofia de Turing, recomendo a leitura do livro Turing

(6)

2. Modifique o estado atual para ql e v´a para a pr´oxima instru¸c˜ao.

At´e este ponto, aprendemos ent˜ao como criar um “programa” em uma m´aquina de Turing. Um programa, ent˜ao, nada mais ´e do que uma sequˆencia finita de instru¸c˜oes que obedecem `as especifica¸c˜oes acima. No pr´oximo t´opico, estabelecemos como uma MT realiza uma computa¸c˜ao.

2.1

Turing-computabilidade

Para realizar uma computa¸c˜ao, a m´aquina deve ser inicializada com uma fita (que j´a pode conter determinados s´ımbolos em seus quadrados - seria o input da m´aquina). A m´aquina deve estar em um estado inicial e a cabe¸ca de leitura deve estar posicionada em determinado quadrado. Vamos ainda estabelecer algumas conven¸c˜oes:

1. Uma MT sempre come¸ca no seu estado de menor n´umero, que chamaremos de q1.

2. Se n˜ao houver instru¸c˜ao a seguir, a m´aquina interrompe a computa¸c˜ao, isto ´e, a m´aquina para se, quando estiver no estado qie realizando a leitura

do s´ımbolo sj, n˜ao houver uma qu´adrupla da forma (qi, sj, α, β) em Q.

3. N˜ao deve haver confilto entre instru¸c˜oes, isto ´e, n˜ao deve haver duas qu´adruplas com os dois primeiros valores iguais mas um dos dois ´ultimos diferentes.

Uma configura¸c˜ao de uma MT passa a ser ent˜ao uma tripla ordenada da forma (conte´udo da fita, quadrado examinado, estado atual ).

Para representarmos n´umeros naturais, utilizamos o alfabeto Σ = {0, 1}, onde ‘0’ representa que o quadrado est´a em branco e ‘1’ ser´a nosso s´ımbolo para marca¸c˜ao. Assim, x ∈ N ser´a representado como x+1 apari¸c˜oes em sequˆencia do s´ımbolo ‘1’ (que denotaremos por 1x+1), cada s´ımbolo escrito em um quadrado

da fita de uma MT (logo adiante h´a exemplos desta representa¸c˜ao).

Uma fita estar´a na configura¸c˜ao padr˜ao se est´a em branco ou cont´em somente uma cadeia da forma 1k, para algum natural k ≥ 1. Podemos ainda representar n-uplas de n´umeros naturais (x1, x2, . . . , xn) como uma lista das representa¸c˜oes

de cada xi separados pelo s´ımbolo ‘0’.

Exemplo 3 As fitas abaixo mostram, por exemplo, as representa¸c˜oes para os naturais 0 e 3 e para a tripla (1, 3, 2), respectivamente:

. . . 1 . . . . . . 1 1 1 1 . . .

(7)

Dizemos que uma fun¸c˜ao f : Nk−→ N ( k ∈ N, k ≥ 1) ´e parcial se n˜ao est´a necessariamente definida para todos os valores de seu dom´ınio. Caso contr´ario, ou seja, se f est´a definida para todos os valores de seu dom´ınio, ent˜ao dizemos que f ´e total.

Podemos definir agora a computabilidade de uma fun¸c˜ao parcial f : Nk−→

N ( k ∈ N, k ≥ 1) por uma m´aquina de Turing. Primeiramente, estabelecemos como uma MT computa uma fun¸c˜ao f :

• Considere uma computa¸c˜ao de uma MT cuja fita cont´em somente as rep-resenta¸c˜oes de x1, x2, . . . , xk (o restante da fita est´a em branco), inicia

no estado de menor n´umero e sua cabe¸ca de leitura est´a posicionada no quadrado que possui o primeiro s´ımbolo ‘1’ `a esquerda;

• Ent˜ao, ap´os uma sequˆencia finita de instru¸c˜oes de Q, f (x1, x2, . . . , xk)

ser´a igual ao n´umero de ocorrˆencias do s´ımbolo ‘1’ na configura¸c˜ao final da fita (caso a computa¸c˜ao termina) ou ser´a indefinida, caso a MT nunca atinja seu estado final. Observe que a representa¸c˜ao do valor da fun¸c˜ao no final da computa¸c˜ao difere da representa¸c˜ao dos valores de entrada representados inicialmente na fita;

• Quando poss´ıvel, a MT para em seu estado de maior n´umero e sua fita est´a na configura¸c˜ao padr˜ao.

Logo, definimos que uma fun¸c˜ao parcial f ´e Turing-comput´avel se existe uma m´aquina de Turing que a computa conforme especificado acima. Perceba que uma mesma fun¸c˜ao pode ser computada por diferentes m´aquinas de Turing, mas, no entanto, uma m´aquina de Turing computa apenas uma determinada fun¸c˜ao. Vou te dar um exemplo de uma fun¸c˜ao Turing-comput´avel:

Exemplo 4 A fun¸c˜ao f : N2 → N dada por f (a

1, a2) = (a1+ a2) ´e

Turing-comput´avel. Considere uma MT com as representa¸c˜oes de a1 e a2 em sua

fita, inicializando no estado q1 e examinando inicialmente o quadrado mais `a

esquerda:

. . . 1 1 . . . 1 1 B 1 1 . . . 1 1 . . .

Como a configura¸c˜ao inicial da fita apresenta (a1+ 1) + (a2+ 1) = a1+

a2+ 2 ocorrˆencias do s´ımbolo ‘1’, temos simplesmente que apagar as duas

primeiras ocorrˆencias deste s´ımbolo. Dessa forma, a fita possuir´a exatamente a1+a2ocorrˆencias do s´ımbolo ‘1’. Para fazermos a fita finalizar na configura¸c˜ao

padr˜ao, a m´aquina ir´a escrever ‘1’ no quadrado em branco, ir´a para a esquerda e apagar´a trˆes s´ımbolos ‘1’. A sequˆencia de instru¸c˜oes que realiza este processo pode ser dada por

(q1, 1, D, q1), (q1, 0, 1, q2), (q2, 1, E, q2), (q2, 0, D, q3), (q3, 1, 0, q4)

(8)

As duas primeiras qu´adruplas buscam pelo quadrado em branco e escreve o s´ımbolo ‘1’ neste quadrado. A terceira e a quarta qu´adruplas movem a cabe¸ca de leitura para o primeiro ‘1’ `a esquerda. As qu´adruplas restantes apagam os trˆes primeiros s´ımbolos ‘1’. A m´aquina para a execu¸c˜ao no estado q9, j´a que

n˜ao h´a nenhuma qu´adrupla que informe `a MT o que fazer quando estiver neste estado.

Caso o leitor n˜ao esteja convencido de que as 10 instru¸c˜oes dadas s˜ao capazes de calcular a soma de dois n´umeros inteiros, convido-o a utiliz´a-las para fazer uma soma qualquer (tente 2+3, por exemplo).

3

Computabilidade, Sistemas Formais e

Incom-pletude

3.1

O Problema da Parada

Neste ponto vocˆe j´a consegue perceber que senten¸cas, axiomas, provas e teo-remas de um sistema formal podem ser vistos, em ´ultima instˆancia, como sequˆencias de s´ımbolos. Do ponto de vista da matem´atica, strings e n´umeros s˜ao, de certa forma, intercambi´aveis, j´a que atrav´es de um processo chamado de numera¸c˜ao de G¨odel, podemos representar strings arbitr´arias de forma un´ıvoca por n´umeros. Ali´as, esta ´e uma das duas propriedades mais importantes de uma numera¸c˜ao:

1. Dada uma string, podemos computar seu n´umero de G¨odel e

2. Dado um n´umero inteiro, podemos descobrir se este n´umero ´e o n´umero de G¨odel de alguma string e qual ´e esta string.

Dizemos que um conjunto E de strings ´e recursivamente enumer´avel se e-xiste um procedimento mecˆanico que produza e escreva os elementos de E e ´e dito decid´ıvel se existe um algoritmo que decida, dada qualquer string s de s´ımbolos, se s pertence ou n˜ao a E. Vale ressaltar que agora estamos utilizando os termos “procedimento mecˆanico” e “algoritmo” para diferenciar um procedi-mento autom´atico que n˜ao para, isto ´e, que pode permanecer executando sua tarefa indefinidamente (o primeiro) de um procedimento autom´atico que para sua execu¸c˜ao (o ´ultimo). Finalmente, tais defini¸c˜oes podem ser estendidas a conjuntos de n´umeros naturais ou quaisquer objetos matem´aticos que podem ser representados por n´umeros.

Exerc´ıcio 1 Prove que todo conjunto finito de strings ´e decid´ıvel.

N˜ao obstante, vale ressaltar ainda que existe de fato uma conex˜ao entre os sentidos de decidibilidade quando aplicados a conjunto de strings e quando aplicado a senten¸cas de um sistema formal (neste ´ultimo caso, dizemos que uma senten¸ca α em um sistema formal ´e decid´ıvel se α ou a nega¸c˜ao de α ´e demons-tr´avel neste sistema, caso contr´ario, α ´e dita indecid´ıvel), pois podemos usar

(9)

o fato de que certos conjuntos s˜ao indecid´ıveis para provar que certos sistemas formais possuem senten¸cas indecid´ıveis.

H´a duas rela¸c˜oes b´asicas entre enumerabilidade recursiva e decidibilidade. A primeira ´e que todo conjunto decid´ıvel ´e recursivamente enumer´avel e a se-gunda ´e que um conjunto E ´e decid´ıvel se e somente se os conjuntos E e o seu complemento s˜ao recursivamente enumer´aveis. Dito isto, passemos a investigar um importante resultado da teoria de computabilidade (o teorema e os lemas seguem [5]):

Teorema 1 Nem todo conjunto recursivamente enumer´avel ´e decid´ıvel. O formalismo das m´aquinas de Turing nos permite afirmar que um programa (conjunto de instru¸c˜oes) ´e, em si mesmo, uma string de s´ımbolos (ali´as, isto vale para qualquer linguagem de programa¸c˜ao que vocˆe conhe¸ca) e, desde que exista um conjunto de regras para escrever tais programas, o conjunto de programas ´e decid´ıvel (tente provar isto como um lema). Sendo assim, consideremos uma enumera¸c˜ao apenas do subconjunto daqueles programas que recebem uma string como entrada e ou ficam executando para sempre ou terminam sua execu¸c˜ao e fornecem uma string como sa´ıda, digamos,

P0, P1, P2, . . .

Chamemos o n´umero i de ´ındice do programa Pi. Seja K o conjunto daqueles

´ındices i tais que o programa Pi termina sua execu¸c˜ao e imprime uma string

qualquer quando recebe como entrada o seu pr´oprio ´ındice i. Queremos mostrar, ent˜ao, que este conjunto K ´e recursivamente enumer´avel e indecid´ıvel.

Lema 1 O conjunto K ´e recursivamente enumer´avel.

Demonstra¸c˜ao. Inicialmente, observamos que sempre podemos decidir se um programa Pi, ao receber determinada entrada k, encerra sua execu¸c˜ao ap´os,

digamos, n passos – basta gerar este programa, execut´a-lo e esperar no m´aximo esta quantidade de passos serem realizados. Sendo assim, o conjunto das sen-ten¸cas verdadeiras da forma “a computa¸c˜ao realizada por Pi com entrada k

termina ap´os de, no m´aximo, n passos”, onde k e n s˜ao numerais, ´e decid´ıvel. Logo, para enumerarmos K, passamos pelas strings da forma indicada anterior-mente e adicionamos i `a lista de elementos de K sempre que encontrarmos para k = i uma senten¸ca verdadeira, o que encerra a demonstra¸c˜ao.

Lema 2 O conjunto K n˜ao ´e decid´ıvel.

Demonstra¸c˜ao. Se K fosse decid´ıvel, existiria um algoritmo G que, dado qual-quer ´ındice i, decide se o i-´esimo programa para ou n˜ao sua execu¸c˜ao ao receber i como entrada. Da´ı, poder´ıamos definir um procedimento H que faz o seguinte: 1. Recebe qualquer input i e, atrav´es de G, decide se i pertence ou n˜ao a K. 2. Se i n˜ao pertece a K, nosso algoritmo H fornece 0 como sa´ıda.

(10)

3. Se i pertence a K, nosso procedimento executa Pi. A sa´ıda do nosso

procedimento H ser´a a sa´ıda do programa Pi adicionada de um s´ımbolo

qualquer ao fim.

Nosso procedimento H ´e de fato um algoritmo da mesma natureza do que aqueles da enumera¸c˜ao inicial, j´a que recebe uma string de entrada e computa outra string como sa´ıda. Sendo assim, H deve ser idˆentico a Pm para algum

m da enumera¸c˜ao, mas, no entanto, difere de todos os programas em m – con-tradi¸c˜ao. Portanto, nossa hip´otese inicial ´e falsa, logo, K n˜ao ´e decid´ıvel, como quer´ıamos demonstrar.

O leitor atento percebeu que esta ´ultima demonstra¸c˜ao se utiliza de algo parecido com o argumento diagonal de Cantor. De fato, sua percep¸c˜ao est´a agu¸cada. Veja se concorda comigo: vimos que a hip´otese de K ser decid´ıvel nos permitiu supor a existˆencia de um programa G que consegue saber se dado i pertence ou n˜ao a K, em outras palavras, se qualquer programa Pi encerra ou

n˜ao sua execu¸c˜ao ao receber o pr´oprio i como entrada, algo, digamos, assim:

G Entrada Programa 0 1 2 3 . . . 0 ”para” . . . 1 ”n˜ao para” . . . 2 ”para” . . . 3 ”para” . . . .. . ... ... ... ... . . .

O que fizemos foi construir um procedimento H que difere de todos os pro-gramas da suposta enumera¸c˜ao exatamente na diagonal. Por fim, como H deve ser tamb´em um algoritmo da lista, digamos H = Pm, encontramos uma

con-tradi¸c˜ao, pois, de acordo com as instru¸c˜oes de H, se Pmn˜ao para (instru¸c˜ao 2),

ent˜ao Pmpara e fornece 0 e se Pmpara, ent˜ao Pm fornece uma sa´ıda diferente

do que ela mesmo deveria fornecer (instru¸c˜ao 3), e da´ı H 6= Pm, ou seja,

con-clu´ımos que H deve ser igual e diferente de Pm ao mesmo tempo! Isto mostra

que a decidibilidade de K ´e absurda.

De maneira geral, n˜ao existe um algoritmo G que decida se um dado pro-grama qualquer para ou n˜ao sua execu¸c˜ao ao receber um dado input, fato este conhecido como a insolubilidade do problema da parada e demonstrado por Tur-ing. A prova ´e an´aloga `a apresentada anteriormente para o problema sobre o conjunto K.

3.2

Indecidibilidade e Incompletude

Como j´a mencionado anteriormente, a ideia agora ´e utilizarmos o fato de que existem conjuntos recursivamente enumer´aveis que s˜ao indecid´ıveis para obter-mos uma demonstra¸c˜ao de que certos sistemas formais possuem senten¸cas

(11)

inde-cid´ıveis, em outras palavras, de que certos sistemas formais s˜ao incompletos. De acordo com o livro do Franz´en (mais precisamente na p´agina 74), ´e poss´ıvel construirmos uma vers˜ao do primeiro teorema da incompletude baseando-se no fato citado anteriormente, de tal modo que n˜ao se faz necess´aria a for-maliza¸c˜ao de senten¸cas autorreferentes (n´ucleo do argumento t´ecnico de G¨odel). Tudo o que precisamos ´e que o sistema formal em quest˜ao contenha um m´ınimo de aritm´etica e satisfa¸ca certa propriedade (j´a veremos mais `a frente). N˜ao obstante, se utilizarmos como base da demonstra¸c˜ao o conjunto das equa¸c˜oes diofantinas sol´uveis (que devemos, ´e claro, demonstrar ser recursivamente enu-mer´avel e indecid´ıvel), Franz´en ressalta ainda que temos a vantagem de n˜ao ser necess´aria a preocupa¸c˜ao com a artimetiza¸c˜ao da linguagem, j´a que ser˜ao manipuladas apenas senten¸cas aritm´eticas simples.

Sendo assim, inicialmente apresentarei os argumentos do Franz´en, que s˜ao in-teressantes tamb´em pela sua conex˜ao com o 10◦problema de Hilbert. ´E poss´ıvel empreendermos uma generaliza¸c˜ao deste resultado de incompletude como con-sequˆencia da indecidibilidade de conjuntos. Para saber mais sobre isto, re-comendo a leitura do artigo [4] de Martin Davis, que pode ser encontrado no site da American Mathematical Society (http://www.ams.org/notices/200604/). 3.2.1 Equa¸c˜oes Diofantinas e Incompletude

Uma equa¸c˜ao diofantina ´e uma equa¸c˜ao da forma D(x1, x2, . . . , xn) = 0, onde

D ´e um polinˆomio com coeficientes inteiros. O 10◦ problema de Hilbert consis-tia em determinar se existe ou n˜ao um algoritmo para decidir se uma equa¸c˜ao diofantina qualquer possui solu¸c˜ao nos inteiros6.

´

E poss´ıvel estabelecer a enumerabilidade recursiva e a indecidibilidade do conjunto das equa¸c˜oes diofantinas sol´uveis. N˜ao irei demonstrar tais resultados, limito-me aqui a direcionar o leitor interessado ao artigo de Martin Davis [3] que fala sobre a insolubilidade do 10◦ problema de Hilbert7. Vamos ent˜ao apenas

formalizar isto:

Teorema 2 O conjunto D das equa¸c˜oes diofantinas sol´uveis ´e recursivamente enumer´avel e indecid´ıvel.

Observa¸c˜ao 1 Antes de adentrarmos propriamente ao problema da incomple-tude, vale ressaltar uma consequˆencia do teorema anterior. Como o conjunto das equa¸c˜oes diofantinas sol´uveis ´e indecid´ıvel, isto implica que o seu complemento n˜ao ´e recursivamente enumer´avel, ou seja, o conjunto das equa¸c˜oes diofantinas que n˜ao possuem solu¸c˜ao n˜ao ´e recursivamente enumer´avel.

6Vocˆe pode encontrar as notas da conferˆencia proferida por Hilbert em 1900 neste link:

http://www.rbhm.org.br/vo3-no5.html

7Pode ser lido aqui:

(12)

Consideremos agora um sistema formal S cujos axiomas e regras de inferˆencia s˜ao tais que o conjunto de teoremas de S ´e recursivamente enumer´avel8. Al´em disso, S ´e um sistema formal que cont´em artim´etica necess´aria para provarmos as senten¸cas verdadeiras da forma “D(x1, . . . , xn) = 0 possui solu¸c˜ao x1 =

k1, . . . , xn= kn”. Vamos nos concentrar nos teoremas de S da forma

“D(x1, . . . , xn) = 0 n˜ao possui solu¸c˜ao”.

Observa¸c˜ao 2 Observe que se S ´e consistente, ent˜ao, todo teorema destacado acima (senten¸cas da forma acima que possuem demonstra¸c˜ao) ´e verdadeiro. Esta passagem foi r´apida. Mas pense o seguinte: n˜ao pode haver uma demons-tra¸c˜ao de uma senten¸ca falsa da forma “D(x1, . . . , xn) = 0 n˜ao possui solu¸c˜ao”,

pois, se houvesse, isto significaria que tal equa¸c˜ao possui solu¸c˜ao e este fato seria demonstr´avel em S (pelas nossas hip´oteses iniciais sobre S), implicando na inconsistˆencia do sistema, pois S possibilitaria demonstrar uma senten¸ca e sua nega¸c˜ao.

Vejamos agora nosso primeiro teorema de incompletude:

Teorema 3 Considerando as hip´oteses anteriormente apresentadas sobre S, existe uma equa¸c˜ao D(x1, . . . , xn) = 0 que n˜ao possui solu¸c˜ao por´em este fato

n˜ao ´e demonstr´avel em S, em outras palavras, existem senten¸cas “D(x1, . . . , xn) =

0 n˜ao possui solu¸c˜ao” verdadeiras que n˜ao s˜ao teoremas de S.

Demonstra¸c˜ao. Se para toda equa¸c˜ao D(x1, . . . , xn) = 0 que n˜ao possui solu¸c˜ao

houvesse demonstra¸c˜ao deste fato em S, isto tornaria D decid´ıvel, pois caso D(x1, . . . , xn) = 0 possua solu¸c˜ao, isto pode ser encontrado pela pr´opria

enu-mera¸c˜ao de D (lembre-se de que D ´e recursivamente enumer´avel), caso contr´ario, o fato de D(x1, . . . , xn) = 0 n˜ao possuir solu¸c˜ao poderia ent˜ao ser listado como

um teorema de S (podemos confiar que a equa¸c˜ao de fato n˜ao tem solu¸c˜ao pela observa¸c˜ao 2), j´a que supomos que o conjunto de teoremas de S ´e recursivamente enumer´avel. Como sabemos que D ´e indecid´ıvel, segue que, portanto, que nem toda equa¸c˜ao D(x1, . . . , xn) = 0 que n˜ao possui solu¸c˜ao encontra demonstra¸c˜ao

deste fato em S.

Exerc´ıcio 2 Mostre que a uni˜ao de dois conjuntos recursivamente enumer´aveis ´e recursivamente enumer´avel.

Exerc´ıcio 3 Se A ´e o conjunto das equa¸c˜oes para as quais existe prova de que n˜ao possuem solu¸c˜ao e B o conjunto das equa¸c˜oes que n˜ao possuem solu¸c˜ao, mostre que o conjunto das senten¸cas verdadeiras da forma “D(x1, . . . , xn) = 0

n˜ao possui solu¸c˜ao” que n˜ao possuem prova em S n˜ao ´e recursivamente enu-mer´avel.

Considerando o primeiro teorema, vamos refor¸car as hip´oteses sobre S e investigar o segundo teorema de incompletude:

(13)

Teorema 4 Se assumirmos adicionalmente que S possui a propriedade de que senten¸cas demonstr´aveis s˜ao verdadeiras, ent˜ao podemos concluir que existe uma equa¸c˜ao D(x1, . . . , xn) = 0 indecid´ıvel em S, em outras palavras, que existe uma

senten¸ca “D(x1, . . . , xn) = 0 n˜ao possui solu¸c˜ao” indecid´ıvel.

Demonstra¸c˜ao. Anteriormente, obtemos que existe uma equa¸c˜ao D(x1, . . . , xn) =

0 que n˜ao possui solu¸c˜ao e que n˜ao podemos demonstrar este fato em S. Se α ´e uma dessas equa¸c˜oes (s´o para frisar, α ´e, portanto, uma equa¸c˜ao que n˜ao possui solu¸c˜ao e cuja demonstra¸c˜ao deste fato ´e imposs´ıvel), ent˜ao, ´e claro que tamb´em n˜ao podemos demonstrar que α possui solu¸c˜ao pois, neste caso, S es-taria demonstrando uma senten¸ca falsa, a saber, aquela que diz que α possui ao menos uma solu¸c˜ao, e vimos que isto ´e bloqueado pela hip´otese de que senten¸cas demonstr´aveis em S s˜ao verdadeiras.

Portanto, podemos afirmar que um sistema formal S consistente, cujo con-junto de teoremas ´e recursivamente enumer´avel e possui um m´ınimo de aritm´ eti-ca necess´aria para trabalharmos com equa¸c˜oes diofantinas, possui uma senten¸ca num´erica, digamos, β, dada por “D(x1, . . . , xn) = 0 n˜ao possui solu¸c˜ao”

ver-dadeira por´em n˜ao demonstr´avel em S. Se adicionarmos a hip´otese de que as senten¸cas demonstr´aveis em S s˜ao verdadeiras, ent˜ao a nega¸c˜ao de β tamb´em n˜ao ´e demonstr´avel.

4

Conclus˜

ao

Come¸camos investigando estes dois objetos matem´aticos, por assim dizer: sis-temas formais e m´aquinas de Turing. Numa perspectiva hilbertiana, poder´ıamos nos perguntar ent˜ao se seria poss´ıvel, por meio de um sistema formal, gerarmos mecanicamente todos os teoremas verdadeiros da matem´atica. Os resultados aqui apresentados, cujo motor inicial prov´em principalmente de G¨odel e Tur-ing, nos revelam que o formalismo (constru¸c˜ao da matem´atica por meio de sistemas formais) possui limita¸c˜oes, pois um sistema formal, sob determinadas condi¸c˜oes espec´ıficas (deve ser principalmente consistente e possuir um m´ınimo de aritm´etica), apresentar´a senten¸cas que s˜ao verdadeiras mas indemonstr´aveis neste sistema. Cabe ressaltar que a existˆencia de tais senten¸cas n˜ao significa em absoluto que existir˜ao verdades matem´aticas que nunca ser˜ao demonstradas, significam apenas que n˜ao possuem demonstra¸c˜ao em um dado sistema formal espec´ıfico.

A teoria da computabilidade nos permite provar a existˆencia de certos con-juntos que possuem a propriedade de serem recursivamente enumer´aveis e inde-cid´ıveis. Isto quer dizer que se B ´e um conjunto com tais propriedades, ´e poss´ıvel listarmos mecanicamente os elementos de B mas, no entanto, n˜ao podemos sem-pre decidir se um dado elemento pertence ou n˜ao a B. Da´ı segue tamb´em que o complemento de B n˜ao ´e recursivamente enumer´avel.

(14)

A incompletude pode ser estabelecida em um sistema formal S com certas propriedades espec´ıficas por meio de um conjunto como B. Seguindo a linha de racioc´ınio de Franz´el, tomamos B como o conjunto das equa¸c˜oes diofanti-nas sol´uveis, que ´e recursivamente enumer´avel e indecid´ıvel, para podermos trabalhar apenas com senten¸cas artim´eticas simples. Como coloca o pr´oprio autor anteriormente citado, poder´ıamos escolher qualquer outro conjunto que seja recursivamente enumer´avel e indecid´ıvel. Perceba que a existˆencia destes conjuntos nos permite concluir, ent˜ao, um importante resultado para os funda-mentos da matem´atica: n˜ao existe um sistema formal G onde toda a verdade matem´atica sobre n´umeros pode ser mecanicamente derivada, ou, em outras palavras, o m´etodo axiom´atico aplicado `a teoria dos n´umeros n˜ao ´e capaz de es-gotar toda a verdade aritm´etica, pois se assim fosse, poder´ıamos sempre decidir se um dado elemento pertence a B (atrav´es da enumera¸c˜ao do pr´oprio conjunto) ou n˜ao (pela enumera¸c˜ao dos teoremas de G), tornando contraditoriamente de-cid´ıvel um conjunto indede-cid´ıvel.

Espero nesta apresenta¸c˜ao ter ajudado o leitor a conhecer um pouco mais os incr´ıveis resultados oriundos da teoria da computabilidade e sua consequˆencia sobre a no¸c˜ao de incompletude em sistemas formais. Meu m´etodo de trabalho foi apenas fornecer-lhes uma leitura particular das referˆencias aqui citadas, por-tanto, para quem quiser saber mais sobre o assunto, recomendo fortemente os livros e artigos aqui citados.

Referˆ

encias

[1] W. Carnielli and R. L. Epstein. Computabilidade, Fun¸c˜oes Comput´aveis, L´ogica e os Fundamentos da Matem´atica. UNESP, 2009.

[2] N. Cutland. Computability: An Introduction to Recursive Function Theory. Cambridge University Press, 1980.

[3] M. Davis. Hilbert’s tenth problem is unsolvable. The American Mathematical Monthly, 80(3):233–269, 1973.

[4] M. Davis. The incompleteness theorem. Notices of the AMS, 53(4):414–418, 2006.

[5] T. Franz´en. G¨odel’s Theorem: An Incomplete Guide to Its Use and Abuse. A K Peters/CRC Press, 2005.

[6] E. Mendelson. Introduction to Mathematical Logic. Chapman-Hall, 1997. [7] A. Sant’Anna. O que ´e um axioma. Manole, 2003.

Referências

Documentos relacionados

Vejamos agora a maneira pela qual, con­ tinuando a confluir, os coletores conspícuos integrantes do sistema do ramus principa­ lis sinister acabam por

A apixaba- na reduziu o risco de AVE e embolismo sistêmico em mais de 50%: houve 51 eventos entre os pacientes do grupo apixabana versus 113 no grupo do AAS

fundamentos da mecânica: a conservação da quantidade de movimento de um sistema de corpos. - Bicicleta na “corda bamba”: Experimento que trata de conceitos fundamentais de

5 Cs e 1 contexto : uma experiência de ensino de português língua estrangeira conforme os parâmetros de ensino de língua norte-americanos – Standards for Foreign Language Learning

Figura 8: Análise de correspondência canônica relacionada à abundância dos táxons mais freqüentes capturados na Lagoa do Peri (Santa Catarina, Brasil), no

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE EDUCAÇÃO FÍSICA E DESPORTOS. 42 Ramon Matheus dos

Se no cadastro da administradora, foi selecionado na aba Configurações Comissões, para que as comissões fossem geradas no momento da venda do contrato, já é

Nos tempos atuais, ao nos referirmos à profissão docente, ao ser professor, o que pensamos Uma profissão indesejada por muitos, social e economicamente desvalorizada Podemos dizer que