Escolar Documentos
Profissional Documentos
Cultura Documentos
Indecidibilidade
∗
Vinı́cius A. de Souza
Fevereiro de 2015
1 Sistemas Formais
Simplificadamente falando, um sistema formal é um sistema de manipulação de
sı́mbolos no qual se explicita as regras de derivação que permitirão produzir
novas cadeias de sı́mbolos, por assim dizer, e onde se pode formalizar o conceito
de prova. Minha exposição aqui sobre sistemas formais segue principalmente os
livros do Elliot Mendelson [6] e do Adonai Sant’Anna [7].
1
3. Do conjunto de fbfs, extrai-se um conjunto de axiomas de S. Quando
existe um procedimento efetivo para decidir quais fórmulas bem formadas
são axiomas dizemos que S é um sistema formal axiomático.
4. Existe um conjunto finito de relações R1 , R2 , . . . , Rn entre fbfs chamadas
de regras de inferência. Para cada Ri , existe um único inteiro positivo j tal
que para todo conjunto de j fbfs e para cada fbf B, podemos decidir se as
j fbfs estão na relação Ri com B. Se este for o caso, dizemos que B segue
das tais fbfs por uso da regra de inferência Ri ou que B é consequência
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ção em S é uma sequência finita
B1 , B2 , . . . , Bk de fbfs tal que, para cada i, ou Bi é um axioma ou é consequência
direta de alguma(s) fbf(s) anterior(es) a Bi por virtude de alguma regra de
inferência do sistema. Sendo assim, um teorema de S é uma fbf B de S tal que
B é a última fbf de alguma prova em S. Tal prova é dita, portanto, prova de B
em S. Você pode dizer, então, que B é um teorema de S ou é demonstrável em
S se existe uma prova em S onde B é a última fbf desta prova.
Exemplo 1 Vejamos um sistema formal L para o cálculo proposicional1 .
1. Os sı́mbolos de L são ¬, ⇒, (, ) e letras Ai com inteiros positivos i como
subscritos. Os sı́mbolos ¬ e ⇒ são chamados de conectivos primitivos e
as letras Ai são chamadas de letras sentenciais.
2. As fbfs são dadas por:
• Todas as letras sentenciais são fbfs.
• Se B e C são fbfs, então (¬B) e (B ⇒ C) também são fbfs.
• Uma fbf de L é uma sentença construı́da por meio dos conectivos
primitivos a partir de letras sentenciais.
3. Se B, C e D são fbfs de L, então são axiomas de L:
• (A1) (B ⇒ (C ⇒ B))
• (A2) ((B ⇒ (C ⇒ D)) ⇒ ((B ⇒ C) ⇒ (B ⇒ D)))
• (A3) (((¬C) ⇒ (¬B)) ⇒ (((¬C) ⇒ B) ⇒ C))
4. Há uma única regra de inferência denominada Modus Ponens (MP): C é
consequência direta de B e (B ⇒ C).
No próximo exemplo, vamos demonstrar um teorema no sistema L. Lembre-
se de que devemos partir de algum axioma e ir obtendo consequências por meio
da regra de inferência MP.
1 Este exemplo é retirado do livro do Mendelson [6]. Certamente poderá haver outros
2
Exemplo 2 Para toda fbf B, (B ⇒ B) é teorema de L. A prova é dada pela
seguinte sequência:
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ão instâncias, respectivamente, dos axi-
omas (A2) e (A1). A terceira fbf segue da segunda e da primeira por meio de
MP. A quarta fbf é uma instância do axioma (A1) e, por fim, a última fbf da
demonstração segue da quarta e da quinta fbf por MP.
Há três propriedades sobre sistemas formais que devem ser mencionadas.
Primeiramente, dizemos que um sistema formal é decidı́vel se existe um proce-
dimento efetivo que decida se uma dada fbf qualquer de S é um teorema de S.
Caso não exista tal procedimento efetivo, o sistema é dito, então, indecidı́vel.
Assumindo que a linguagem do sistema formal possui um operador de negação
(digamos, representado por ¬), ele será consistente se não existe nenhuma fbf
α tal que α e ¬α são ambas teoremas deste sistema. Caso contrário, é dito
inconsistente. Por fim, um sistema formal será completo se toda fbf possui
demonstração ou refutação, isto é, se β é uma fbf qualquer, então ou β ou
¬β possui demonstração neste sistema. Caso contrário, será dito incompleto.
Quando um sistema formal é incompleto, isto significa, portanto, que existe uma
fbf γ indecidı́vel, no sentido de que tanto γ quanto ¬γ não possuem demonstra-
ção neste sistema.
Cabe aqui fazermos algumas observações sobre nossas definições iniciais que
envolvem algumas imprecisões 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ência
foi realizada no sentido de eles serem consistentes, nem que formem um conjunto
finito ou mesmo que sejam imediatamente intuitivos.
Há ainda duas frases imprecisas que às vezes ouvimos. A primeira diz que
“axiomas são sempre verdadeiros”. Este é um tópico que necessita de um pouco
mais de ferramentas da lógica. Primeiramente, você pôde notar que, em nossa
definição de sistema formal, não fizemos nenhuma referência à noção 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ção”3 . Tentarei explicar
2 Sobre isto, veja o capı́tulo 2 do livro do Sant’Anna [7].
3 Página 92 do livro O que é um axioma [7]. Ele inclusive fornece um exemplo deste fato
na página 102.
3
isto em outras palavras. Quando se constroi um sistema formal, estabelecemos
inicialmente noções sintáticas, isto é, noções que se aplicam a sequências de
sı́mbolos isentos de significado. Por outro lado, a semântica formal vai permitir
atribuir valores verdade às fórmulas de um sistema formal. Sendo assim, uma
interpretação é algo que nos fornecerá um exemplo ou realização daquela parte
sintática, e pode ser feita de tal modo que um axioma seja falso.
Por fim, a segunda diz que “axiomas são verdades aceitas sem demonstra-
ção”. De acordo com a definição apresentada do conceito de prova, o próprio
leitor pode demonstrar que em um sistema formal todo axioma é demonstrável.
2 Máquinas de Turing
Quando dizemos intuitivamente que um problema ou objeto é computável ou
calculável, imaginamos que seja possı́vel resolver este problema ou construir
este objeto de forma automática, apenas seguindo uma série de instruções. En-
tretanto, para responder certas questões oriundas inicialmente da lógica e da
matemática, precisamos de uma noção formal de computabilidade, pois, pelo
menos na matemática, me parece que nossas respostas não devem depender da
sua ou da minha ideia em particular.
Alan Turing foi um dos primeiros a estabelecer uma noção formal de com-
putabilidade (1936/1937), formalização esta que ficou conhecida por máquina
de Turing, publicada no artigo On computable numbers, with an application to
the Entscheidungsproblem4 . A aplicação a qual este artigo se refere, o Entschei-
dungsproblem, trata do problema de decisão da lógica de primeira ordem (pro-
posto por Hilbert). Este problema pergunta, basicamente, se existe um método
automático para decidir se uma sentença qualquer da lógica de primeira ordem
possui demonstração ou não.
4 Uma digitalização deste artigo está disponı́vel no projeto Turing Digital Archive, no link
http://www.turingarchive.org/browse.php/B/12.
4
Vale mencionar que, aparentemente, a máquina de Turing causa um maior
fascı́nio do que a λ-definibilidade de Church (é uma opinião minha, é claro,
mas também de muitos outros). Ela não só forneceu um aparato teórico para
a construção dos próprios computadores fı́sicos, mas talvez inaugura também
todo um pensamento comtemporâneo a respeito da própria mente humana, com
implicações não somente na lógica e na matemática, mas também na filosofia5 .
Feitas estas observações, introduziremos inicialmente algumas definições e, em
seguida, formalizaremos a máquina de Turing com base em [1] e [2].
5
2. Modifique o estado atual para ql e vá para a próxima instrução.
2.1 Turing-computabilidade
Para realizar uma computação, a máquina deve ser inicializada com uma fita
(que já pode conter determinados sı́mbolos em seus quadrados - seria o input da
máquina). A máquina deve estar em um estado inicial e a cabeça de leitura deve
estar posicionada em determinado quadrado. Vamos ainda estabelecer algumas
convenções:
1. Uma MT sempre começa no seu estado de menor número, que chamaremos
de q1 .
2. Se não houver instrução a seguir, a máquina interrompe a computação,
isto é, a máquina para se, quando estiver no estado qi e realizando a leitura
do sı́mbolo sj , não houver uma quádrupla da forma (qi , sj , α, β) em Q.
3. Não deve haver confilto entre instruções, isto é, não deve haver duas
quádruplas com os dois primeiros valores iguais mas um dos dois últimos
diferentes.
Uma configuração de uma MT passa a ser então uma tripla ordenada da
forma (conteúdo da fita, quadrado examinado, estado atual ).
... 1 ...
... 1 1 1 1 ...
... 0 1 1 0 1 1 1 1 0 1 1 1 0 ...
6
Dizemos que uma função f : Nk −→ N ( k ∈ N, k ≥ 1) é parcial se não está
necessariamente definida para todos os valores de seu domı́nio. Caso contrário,
ou seja, se f está definida para todos os valores de seu domı́nio, então dizemos
que f é total.
7
As duas primeiras quádruplas buscam pelo quadrado em branco e escreve o
sı́mbolo ‘1’ neste quadrado. A terceira e a quarta quádruplas movem a cabeça
de leitura para o primeiro ‘1’ à esquerda. As quádruplas restantes apagam os
três primeiros sı́mbolos ‘1’. A máquina para a execução no estado q9 , já que
não há nenhuma quádrupla que informe à MT o que fazer quando estiver neste
estado.
Caso o leitor não esteja convencido de que as 10 instruções dadas são capazes
de calcular a soma de dois números inteiros, convido-o a utilizá-las para fazer
uma soma qualquer (tente 2+3, por exemplo).
8
o fato de que certos conjuntos são indecidı́veis para provar que certos sistemas
formais possuem sentenças indecidı́veis.
P0 , P1 , P2 , . . .
9
3. Se i pertence a K, nosso procedimento executa Pi . A saı́da do nosso
procedimento H será a saı́da do programa Pi adicionada de um sı́mbolo
qualquer ao fim.
Nosso procedimento H é de fato um algoritmo da mesma natureza do que
aqueles da enumeração inicial, já que recebe uma string de entrada e computa
outra string como saı́da. Sendo assim, H deve ser idêntico a Pm para algum
m da enumeração, mas, no entanto, difere de todos os programas em m – con-
tradição. Portanto, nossa hipótese inicial é falsa, logo, K não é decidı́vel, como
querı́amos demonstrar.
G Entrada
Programa 0 1 2 3 ...
0 ”para” ...
1 ”não para” ...
2 ”para” ...
3 ”para” ...
.. .. .. .. ..
. . . . . ...
10
cidı́veis, em outras palavras, de que certos sistemas formais são incompletos.
http://www.rbhm.org.br/vo3-no5.html
7 Pode ser lido aqui: http://www.maa.org/programs/maa-awards/writing-awards/hilberts-
tenth-problem-is-unsolvable.
11
Consideremos agora um sistema formal S cujos axiomas e regras de inferência
são tais que o conjunto de teoremas de S é recursivamente enumerável8 . Além
disso, S é um sistema formal que contém artimética necessária para provarmos
as sentenças verdadeiras da forma “D(x1 , . . . , xn ) = 0 possui solução x1 =
k1 , . . . , xn = kn ”. Vamos nos concentrar nos teoremas de S da forma
12
Teorema 4 Se assumirmos adicionalmente que S possui a propriedade de que
sentenças demonstráveis são verdadeiras, então podemos concluir que existe uma
equação D(x1 , . . . , xn ) = 0 indecidı́vel em S, em outras palavras, que existe uma
sentença “D(x1 , . . . , xn ) = 0 não possui solução” indecidı́vel.
Demonstração. Anteriormente, obtemos que existe uma equação D(x1 , . . . , xn ) =
0 que não possui solução e que não podemos demonstrar este fato em S. Se α
é uma dessas equações (só para frisar, α é, portanto, uma equação que não
possui solução e cuja demonstração deste fato é impossı́vel), então, é claro que
também não podemos demonstrar que α possui solução pois, neste caso, S es-
taria demonstrando uma sentença falsa, a saber, aquela que diz que α possui ao
menos uma solução, e vimos que isto é bloqueado pela hipótese de que sentenças
demonstráveis em S são verdadeiras.
4 Conclusão
Começamos investigando estes dois objetos matemáticos, por assim dizer: sis-
temas formais e máquinas de Turing. Numa perspectiva hilbertiana, poderı́amos
nos perguntar então se seria possı́vel, por meio de um sistema formal, gerarmos
mecanicamente todos os teoremas verdadeiros da matemática. Os resultados
aqui apresentados, cujo motor inicial provém principalmente de Gödel e Tur-
ing, nos revelam que o formalismo (construção da matemática por meio de
sistemas formais) possui limitações, pois um sistema formal, sob determinadas
condições especı́ficas (deve ser principalmente consistente e possuir um mı́nimo
de aritmética), apresentará sentenças que são verdadeiras mas indemonstráveis
neste sistema. Cabe ressaltar que a existência de tais sentenças não significa
em absoluto que existirão verdades matemáticas que nunca serão demonstradas,
significam apenas que não possuem demonstração em um dado sistema formal
especı́fico.
13
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él, tomamos B como o conjunto das equações diofanti-
nas solúveis, que é recursivamente enumerável e indecidı́vel, para podermos
trabalhar apenas com sentenças artiméticas simples. Como coloca o próprio
autor anteriormente citado, poderı́amos escolher qualquer outro conjunto que
seja recursivamente enumerável e indecidı́vel. Perceba que a existência destes
conjuntos nos permite concluir, então, um importante resultado para os funda-
mentos da matemática: não existe um sistema formal G onde toda a verdade
matemática sobre números pode ser mecanicamente derivada, ou, em outras
palavras, o método axiomático aplicado à teoria dos números não é capaz de es-
gotar toda a verdade aritmética, pois se assim fosse, poderı́amos sempre decidir
se um dado elemento pertence a B (através da enumeração do próprio conjunto)
ou não (pela enumeração dos teoremas de G), tornando contraditoriamente de-
cidı́vel um conjunto indecidı́vel.
Referências
[1] W. Carnielli and R. L. Epstein. Computabilidade, Funções Computáveis,
Lógica e os Fundamentos da Matemática. UNESP, 2009.
14