Teorema de Post - Post's theorem

Na teoria da computabilidade, o teorema de Post , em homenagem a Emil Post , descreve a conexão entre a hierarquia aritmética e os graus de Turing .

Fundo

A declaração do teorema de Post usa vários conceitos relacionados à definibilidade e teoria da recursão . Esta seção fornece uma breve visão geral desses conceitos, que são abordados em detalhes em seus respectivos artigos.

A hierarquia aritmética classifica certos conjuntos de números naturais que são definíveis na linguagem da aritmética de Peano. Uma fórmula é dito para ser se for uma instrução existencial em forma normal prenex (todos os quantificadores à frente) com alternâncias entre quantificadores existenciais e universais aplicadas a uma fórmula com quantificadores limitadas apenas. Formalmente, uma fórmula na linguagem da aritmética de Peano é uma fórmula se tiver a forma

onde contém apenas quantificadores limitados e Q é se m for par e se m for ímpar.

Diz- se que um conjunto de números naturais é se for definível por uma fórmula, ou seja, se houver uma fórmula tal que cada número esteja dentro se e somente se for válido. Sabe-se que, se um conjunto é , em seguida, é para qualquer , mas para cada m tem um conjunto que não é . Assim, o número de alternâncias de quantificador necessárias para definir um conjunto dá uma medida da complexidade do conjunto.

O teorema de Post usa a hierarquia aritmética relativizada, bem como a hierarquia não relativizada que acabou de ser definida. Diz-se que um conjunto de números naturais é relativo a um conjunto , escrito , se for definível por uma fórmula em uma linguagem estendida que inclui um predicado para pertencer a .

Enquanto a hierarquia aritmética mede a definibilidade de conjuntos de números naturais, os graus de Turing medem o nível de incomputabilidade de conjuntos de números naturais. Um conjunto é dito para ser Turing redutível a um conjunto , escrita , se existe uma máquina de Turing a Oracle que, dado um Oracle para , calcula a função característica de . O salto de Turing de um conjunto é uma forma do problema Halting relativo a . Dado um conjunto , o salto de Turing é o conjunto de índices das máquinas de Turing do oráculo que param na entrada quando executadas com o oráculo . É sabido que cada conjunto é Turing redutível ao seu salto de Turing, mas o salto de Turing de um conjunto nunca é Turing redutível ao conjunto original.

O teorema de Post usa saltos de Turing com iteração finita. Para qualquer conjunto de números naturais, a notação indica o salto de Turing iterado –fold iterado de . Assim é justo , e é o salto de Turing de .

Teorema de Post e corolários

O teorema de Post estabelece uma conexão estreita entre a hierarquia aritmética e os graus de Turing da forma , ou seja, saltos de Turing finitamente iterados do conjunto vazio. (O conjunto vazio pode ser substituído por qualquer outro conjunto computável sem alterar a verdade do teorema.)

O teorema de Post afirma:

  1. Um conjunto é se e somente se for recursivamente enumerável por uma máquina de Turing oráculo com um oráculo para , isto é, se e somente se for .
  2. O conjunto está completo para todos . Isso significa que cada conjunto pode ser reduzido a muitos-um .

O teorema de Post tem muitos corolários que expõem relações adicionais entre a hierarquia aritmética e os graus de Turing. Esses incluem:

  1. Conserte um conjunto . Um conjunto é se e somente se for . Esta é a relativização da primeira parte do teorema de Post ao oráculo .
  2. Um conjunto é se e somente se . Mais geralmente, é se e somente se .
  3. Um conjunto é definido como aritmético se for para alguns . O teorema de Post mostra que, equivalentemente, um conjunto é aritmético se e somente se for Turing redutível para algum m .

Prova do teorema de Post

Formalização de máquinas de Turing em aritmética de primeira ordem

A operação de uma máquina de Turing na entrada pode ser formalizada logicamente na aritmética de primeira ordem . Por exemplo, podemos usar os símbolos , e para a configuração da fita, o estado da máquina e a localização ao longo da fita após as etapas, respectivamente. o sistema de transição de determina a relação entre e ; seus valores iniciais (para ) são a entrada, o estado inicial e zero, respectivamente. A máquina para se e somente se houver um número tal que seja o estado de parada.

A relação exata depende da implementação específica da noção de máquina de Turing (por exemplo, seu alfabeto, modo permitido de movimento ao longo da fita, etc.)

No caso de parar no tempo , a relação entre e deve ser satisfeita apenas para k limitado de cima por .

Assim, existe uma fórmula em aritmética de primeira ordem com há un delimitada quantificadores , de tal modo que pára sobre a entrada em tempo de , no máximo, se e apenas se for satisfeita.

Exemplo de implementação

Por exemplo, para uma máquina de Turing sem prefixo com alfabeto binário e nenhum símbolo em branco, podemos usar as seguintes notações:

  • é o símbolo 1- ário para a configuração de toda a fita após as etapas (que podemos escrever como um número com LSB primeiro, o valor da m-ésima localização na fita sendo seu m-ésimo bit menos significativo). Em particular, é a configuração inicial da fita, que corresponde à entrada para a máquina.
  • é o símbolo 1- ário para o estado da máquina de Turing após as etapas. Em particular, o estado inicial da máquina de Turing.
  • é o símbolo 1- ário para a localização da máquina de Turing na fita após as etapas. Em particular .
  • é a função de transição da máquina de Turing, escrita como uma função de um dupleto (estado da máquina, bit lido pela máquina) para um tripleto (novo estado da máquina, bit escrito pela máquina, +1 ou -1 movimento da máquina ao longo da fita )
  • é o j-ésimo bit de um número . Isso pode ser escrito como uma fórmula aritmética de primeira ordem sem quantificadores ilimitados.

Para uma máquina de Turing sem prefixo, podemos usar, para a entrada n, a configuração de fita inicial em que cat significa concatenação; portanto, é uma string de comprimento de seguida por e depois por .

A operação da máquina de Turing nas primeiras etapas pode, portanto, ser escrita como a conjunção das condições iniciais e as seguintes fórmulas, quantificadas para todos :

  • . Como M tem um domínio finito, ele pode ser substituído por uma fórmula aritmética livre de quantificador de primeira ordem . A fórmula exata obviamente depende de M.
  • . Observe que, nas primeiras etapas, nunca chega a um local ao longo da fita maior que . Assim, o quantificador universal sobre j pode ser limitado por +1, pois os bits além dessa localização não têm relevância para a operação da máquina.

T para na entrada no momento, no máximo, se e somente se for satisfeito, onde:

Esta é uma fórmula aritmética de primeira ordem sem quantificadores ilimitados, ou seja, está em .

Conjuntos recursivamente enumeráveis

Let Ser um conjunto que pode ser recursivamente enumerado por uma máquina de Turing . Em seguida, existe uma máquina de Turing que para cada em , pára quando dado como entrada.

Isso pode ser formalizado pela fórmula aritmética de primeira ordem apresentada acima. Os membros de são os números que satisfazem a seguinte fórmula:

Esta fórmula está em . Portanto, está dentro . Assim, todo conjunto recursivamente enumerável está em .

O inverso também é verdadeiro: para cada fórmula em com k existencial quantificadores, podemos enumerar os -tuples de números naturais e executar uma máquina de Turing que passa por todos eles até encontrar a fórmula é satisfeita. Essa máquina de Turing pára precisamente no conjunto de números naturais que os satisfazem e, assim, enumera seu conjunto correspondente.

Maquinas oracle

Da mesma forma, a operação de uma máquina de oráculo com um oráculo O que para após no máximo etapas na entrada pode ser descrita por uma fórmula de primeira ordem , exceto que a fórmula agora inclui:

  • Um novo predicado,, dando a resposta do oráculo. Este predicado deve satisfazer alguma fórmula a ser discutida abaixo.
  • Uma fita adicional - a fita do oráculo - na qual deve escrever o número m para cada chamada O (m) para o oráculo; a gravação nessa fita pode ser formalizada logicamente de maneira semelhante à gravação na fita da máquina. Observe que uma máquina oracle que pára após no máximo etapas tem tempo para escrever no máximo dígitos na fita oracle. Portanto, o oráculo só pode ser chamado com números que satisfaçam .

Se o oráculo é para um problema de decisão, é sempre "Sim" ou "Não", que podemos formalizar como 0 ou 1. Suponha que o próprio problema de decisão possa ser formalizado por uma fórmula aritmética de primeira ordem . Em seguida, para após a maioria das etapas se e somente se a seguinte fórmula for satisfeita:

onde é uma fórmula de primeira ordem sem quantificadores ilimitados.

Salto de Turing

Se O é um oráculo para o problema de parada de uma máquina , então é o mesmo que "existe tal que começar com a entrada m está no estado de parada após as etapas". Assim: onde está uma fórmula de primeira ordem que se formaliza . Se é uma máquina de Turing (sem oráculo), está em (ou seja, não tem quantificadores ilimitados).

Uma vez que existe um número finito de números m satisfatórios , podemos escolher o mesmo número de passos para todos eles: existe um número , tal que pára após os passos precisamente naquelas entradas para as quais ele pára.

Movendo para a forma normal prenex , obtemos que a máquina oracle pára na entrada se e somente se a seguinte fórmula for satisfeita:

(informalmente, há um "número máximo de passos", tal que todo oráculo que não para nos primeiros passos não para de forma alguma; entretanto, para cada , cada oráculo que para após os passos pára).

Observe que podemos substituir ambos e por um único número - seu máximo - sem alterar o valor verdadeiro de . Assim, podemos escrever:

Para o oráculo do problema da parada sobre as máquinas de Turing, está e está na . Assim, todo conjunto recursivamente enumerável por uma máquina oráculo com um oráculo para , está em .

O inverso também é verdadeiro: suponha que seja uma fórmula com quantificadores existenciais seguidos por quantificadores universais. Equivalentemente, tem > quantificadores existenciais seguidos por uma negação de uma fórmula em ; a última fórmula pode ser enumerada por uma máquina de Turing e, portanto, pode ser verificada imediatamente por um oráculo .

Podemos, assim, enumerar as –tuplos dos números naturais e operar uma máquina de oráculo com um oráculo para que passe por todos eles até encontrar uma satisfação para a fórmula. Esta máquina oráculo pára precisamente no conjunto de números naturais que satisfazem e, portanto, enumera seu conjunto correspondente.

Saltos de Turing mais altos

De maneira mais geral, suponha que cada conjunto recursivamente enumerável por uma máquina oráculo com um oráculo para está em . Então, para uma máquina oráculo com um oráculo para , está em .

Como é o mesmo do salto de Turing anterior, ele pode ser construído (como acabamos de fazer acima) de forma que em . Depois de passar para a forma formal prenex, o novo está disponível .

Por indução, todo conjunto recursivamente enumerável por uma máquina oráculo com um oráculo para , está em .

A outra direção também pode ser provada por indução: suponha que cada fórmula em possa ser enumerada por uma máquina de oráculo com um oráculo para .

Agora, suponha que seja uma fórmula em com quantificadores existenciais seguidos por quantificadores universais etc. Equivalentemente, tem > quantificadores existenciais seguidos por uma negação de uma fórmula em ; a última fórmula pode ser enumerada por uma máquina de oráculo com um oráculo para e, portanto, pode ser verificada imediatamente por um oráculo para .

Podemos, assim, enumerar as –tuplos dos números naturais e operar uma máquina de oráculo com um oráculo para que passe por todos eles até encontrar uma satisfação para a fórmula. Esta máquina oráculo pára precisamente no conjunto de números naturais que satisfazem e, portanto, enumera seu conjunto correspondente.

Referências

Rogers, H. Theory of Recursive Functions and Effective Computability , MIT Press. ISBN  0-262-68052-1 ; ISBN  0-07-053522-1

Soare, R. Conjuntos e graus recursivamente enumeráveis. Perspectives in Mathematical Logic. Springer-Verlag, Berlin, 1987. ISBN  3-540-15299-7