Decidibilidade da existência invariante indutiva na aritmética de Presburger

8

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?

David Monniaux
fonte
Eu penso que é preciso esclarecer este um pouco: os estados são representados por um número inteiro , e a relação de transição é uma fórmula φ ( n , m ) , com uma fórmula ψ g o o d ( n ) e ψ b a d ( n ) que representam os estados iniciais e os estados ruins, respectivamente? E você está procurando uma fórmula I ( n ) tal que: I ( n ) ϕ ( n ,n,mϕ(n,m)ψgood(n)ψbad(n)I(n) , ψ g o o d ( n ) I ( n ) e ψ b um d ( n ) ¬ I ( n ) . Isso está correto? I(n)ϕ(n,m)I(m)ψgood(n)I(n)ψbad(n)¬I(n)
Cody
Sim, excepto que e m não são inteiros individuais, mas finitas vectores de números inteiros de dimensão fixa d ( "número finito de variáveis inteiras"). Obrigado pelo esclarecimento. nmd
David Monniaux
Então, qual é o problema de acessibilidade? Se é apenas "o estado é alcançável", então é fácil mostrar que os problemas são equivalentes: se ψ b um d ( k ) está inacessível, tome I ( k ) para ser ψ g o o d ( k ) ( y , φ ( y , k ) ¬ ψ b um d ( yψbad(k)ψbad(k)I(k) . Estou esquecendo de algo? ψgood(k)(y,ϕ(y,k)¬ψbad(y)¬ψbad(k))
Cody
Desculpe, 1) é 2) por que o seu conjunto seja indutiva? por exemplo, por que vF boa ( k ) & Phi; ( k , k ' ) I ( k ' ) ? I(n)ψbad(n)ψgood(k)ϕ(k,k)I(k)
David Monniaux

Respostas:

3

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.DSMSDMSSDS

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,Badv¯InitBadv¯Nextv¯(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¯

  • Initϕ
  • ϕNextϕ
  • ϕ¬Bad

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.DDDD

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=cici

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 wCCMtermwInitNextv¯Mw. Além disso, exigimos que seja uma simulação de etapas. Formalmente, exigimos que:

  • designa uma única constante para todos os estados de controlo em H e deixar a constante de t e r m sert e r m ,CMtermterm
  • inclui uma variável p c in ˉ v que rastreia o estado de controle de M a cada passo da execução,Cpcv¯M
  • gera I n i t de estar sob a forma de uma atribuição variável ao longo ˉ v ,CInitv¯
  • assegura que N e x t tenha um sucessor único em atribuições variáveis ​​acima de ˉ v (que são alcançáveis ​​de I n i t ) se M for determinístico,CNextv¯InitM
  • para que exista uma função injetiva de um estado de M (controle e fita) para uma atribuição de variável sobre b a r v, de modo que N e x t tenha um sucessor, o estado inicial de M em w é mapeado para exatamente I n i t e o estado de controle M atribui consistentemente p c ,fMbarvNextMwInitMpc
  • é determinístico eC
  • termina.C

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):SM

S(M):
   Run C(M,M) to get v, Init and Next
   Simulate D on v, Init, Next, Bad := (pc = <term>)
   If D says a separator exists:
     terminate
   If D says no separator exists:
     loop: goto loop

DSSS(S)CInitNextSSiS(S)siiv¯i=f(si)NextInitSCNextInitf(s0)=v¯i=Init

DϕS(S)termkCDv¯1v¯kϕpc=termD

DS(S)loopkksk+1=sk+2=kϕ=i=1k+1v¯iϕNextInit

  • InitϕInitv¯1
  • ϕNextϕNextiv¯iv¯i+1
  • ϕ¬Badv¯ipcterm

ϕv¯,Init,Next,BadD

D


Realizar esse exercício realmente me fez apreciar o trabalho de Jerome Leroux em separadores para sistemas de adição de vetores.

Tim
fonte
Isso é ótimo, obrigado! Você tem uma referência para a etapa 2, a saber, o "compilador da TM para a aritmética de Presburger"? Esse parece ser o cerne da prova.
Cody
1
iiiit2pp2ptl,c,rl2p,c<2,r2p+1(l+p+r=t=>c=1)(l+r=t=>c=0)