Problema:
Considere um número finito de estados de controle (incluindo um estado "inicial" e "ruim"), um número finito de variáveis inteiras e, para cada par de estados ordenados, uma relação de transição expressa na aritmética de Presburger.
Decida se existe um invariante indutivo (= estável pelos pós-estados da relação de transição) contendo o estado inicial, mas não o mau, definível na aritmética de Presburger.
(Observe que esse problema é diferente do problema de alcançabilidade na aritmética Presburger, que é claramente indecidível (por redução em máquinas com dois contadores).)
Suspeito que esse problema seja indecidível, mas não conheço nenhuma prova disso. (É obviamente semidecidável.) Alguém já provou isso?
lo.logic
pl.programming-languages
decidability
David Monniaux
fonte
fonte
Respostas:
O problema indutivo do separador invariante da aritmética de Presburger é indecidível.
Não conheço uma prova na literatura para apontá-lo. (Parece uma pergunta tão direta que suponho que esteja em algum lugar por aí.) A prova que me veio a seguir segue aproximadamente a mesma construção que o problema da parada. Aqui está uma breve visão geral. Em primeiro lugar, assumir um procedimento de decisão existe e, em seguida, construir uma máquina de S com entrada M . S usa D para decidir a não terminação de M em si mesmo e, em seguida, S reverte a saída. Em seguida, usamos a construção de S para mostrar que D deve dar uma resposta incorreta sobre a execução de S em si.D S M S D M S S D S
Em vez de uma redução no problema de parada, a prova é para todos os efeitos e uma reafirmação da prova do problema de parada. É um pouco detalhado, pois exigirá que a condição exata mais forte possa ser expressa. (Se uma prova mais simples for possível, eu estaria muito interessado em ouvi-la.) Agora, vamos aos detalhes sangrentos.
O problema separador invariante indutivo para Presburger aritmética é para um determinado 4-tupla onde ˉ v é um conjunto finito de nomes de variáveis, I n i t e B a d são fórmulas de Presburger cujas variáveis livres estão em ˉ v , N e x t é a fórmula de Presburger cujas variáveis livres estão em ˉ v ou ˉ⟨v¯,Init,Next,Bad⟩ v¯ Init Bad v¯ Next v¯ (uma cópia inicial de ˉ v ) existe uma fórmulaϕna aritmética de Presburger com variáveis livres em ˉ v, de modo que:v¯′ v¯ ϕ v¯
onde inicia todas as variáveis livres em ϕ .ϕ′ ϕ
Suponha que esse problema seja decidível. Existe então uma máquina de Turing que decide o problema do separador (para uma determinada codificação de fórmulas de Presburger). Seja D uma máquina de Turing determinística que simula D ' . D termina e decide o problema do separador.D′ D D′ D
Uma atribuição variável ao longo de um conjunto finito de variáveis representa um conjunto ⋀ v i = c i onde c i é um número inteiro constante.{vi} ⋀vi=ci ci
Também assumirei a existência de uma máquina de Turing para o compilador aritmético Presburger com algumas restrições razoáveis, mas fortes. C toma como entrada de uma máquina de Turing H com um único estado final, t e r m e uma entrada w , e construções Presburger fórmulas I n i t e n e x t ao longo de um conjunto finito de variáveis °° v . Informalmente, exigimos que os caminhos das fórmulas de Presburger simulem a execução de M em wC C M term w Init Next v¯ M w . Além disso, exigimos que seja uma simulação de etapas. Formalmente, exigimos que:
Agora construa a máquina de Turing que usa uma máquina de Turing M como entrada e faça o seguinte (em pseudocódigo):S M
Realizar esse exercício realmente me fez apreciar o trabalho de Jerome Leroux em separadores para sistemas de adição de vetores.
fonte