Entscheidbarkeit der induktiv invarianten Existenz in der Presburger-Arithmetik

8

Problem:

Betrachten Sie eine endliche Anzahl von Steuerzuständen (einschließlich eines "anfänglichen" und eines "schlechten" Zustands), eine endliche Anzahl von ganzzahligen Variablen und für jedes geordnete Paar von Zuständen eine Übergangsbeziehung, die in der Presburger-Arithmetik ausgedrückt wird.

Entscheiden Sie, ob es eine induktive Invariante gibt (= stabil durch Nachzustände der Übergangsrelation), die den anfänglichen, aber nicht den schlechten Zustand enthält, der in der Presburger-Arithmetik definiert werden kann.

(Beachten Sie, dass sich dieses Problem von dem Erreichbarkeitsproblem in der Presburger-Arithmetik unterscheidet, das eindeutig unentscheidbar ist (durch Reduzierung von Zwei-Zähler-Maschinen).)

Ich vermute, dass dieses Problem unentscheidbar ist, kenne aber keinen Beweis dafür. (Es ist offensichtlich halbentscheidbar.) Hat jemand dies bewiesen?

David Monniaux
quelle
Ich denke, wir müssen dies ein wenig klären: Die Zustände werden durch eine ganze Zahl , und die Übergangsrelation ist eine Formel ϕ ( n , m ) mit einer Formel ψ g o o d ( n ) und ψ b a d ( n ) , die die Anfangszustände bzw. schlechten Zustände darstellen? Und Sie suchen nach einer Formel I ( n ), so dass: I ( n ) ϕ ( n ,n,mϕ(n,m)ψgood(n)ψbad(n)I(n) , ψ g o o d ( n ) I ( n ) und ψ b a d ( n ) ¬ I ( n ) . Ist das richtig? I(n)ϕ(n,m)I(m)ψgood(n)I(n)ψbad(n)¬I(n)
Cody
Ja, außer dass und m keine einzelnen ganzen Zahlen sind, sondern endliche Vektoren von ganzen Zahlen mit fester Dimension d ("endliche Anzahl von ganzzahligen Variablen"). Danke für die Klarstellung. nmd
David Monniaux
Was ist das Problem der Erreichbarkeit? Wenn es nur "der Zustand ist erreichbar" ist, dann ist es leicht zu zeigen, dass die Probleme äquivalent sind: Wenn ψ b a d ( k ) nicht erreichbar ist, nimm I ( k ) als ψ g o o d ( k ) ( y , ϕ ( y , k ) ¬ ψ b a d ( yψbad(k)ψbad(k)I(k) . Vermisse ich etwas ψgood(k)(y,ϕ(y,k)¬ψbad(y)¬ψbad(k))
Cody
Entschuldigung, 1) 2) warum sollte dein Set induktiv sein? zum Beispiel, warum sollte & psi; gut ( k ) & phgr; ( k , k ' ) I ( k ' ) ? I(n)ψbad(n)ψgood(k)ϕ(k,k)I(k)
David Monniaux

Antworten:

3

Das Problem des induktiven invarianten Separators für die Presburger-Arithmetik ist unentscheidbar.

Mir ist kein Beweis in der Literatur bekannt, auf den Sie hinweisen könnten. (Es scheint eine so einfache Frage zu sein, dass ich annehme, dass sie irgendwo da draußen ist.) Der Beweis, den ich mir ausgedacht habe, folgt ungefähr der gleichen Konstruktion wie das Halteproblem. Hier ist eine kurze Übersicht. Wir nehmen zunächst ein Entscheidungsverfahren vorhanden ist, und dann eine Maschine konstruieren S mit Eingang M . S verwendet D , um die Nichtbeendigung von M an sich selbst zu entscheiden, und dann kehrt S die Ausgabe um. Wir verwenden dann die Konstruktion von S, um zu zeigen, dass D eine falsche Antwort auf die Ausführung von S auf sich selbst geben muss.DSMSDMSSDS

Anstelle einer Reduzierung des Stoppproblems ist der Beweis in jeder Hinsicht eine Wiederholung des Beweises des Stoppproblems. Es ist etwas ausführlich, da die genau stärkste Post-Bedingung ausgedrückt werden kann. (Wenn ein einfacherer Beweis möglich ist, wäre ich sehr daran interessiert, ihn zu hören.) Nun zu den blutigen Details.


Das induktive invariant Separator Problem für Presburger Arithmetik ist für eine gegebene 4-Tupel wo ˉ v eine endliche Menge von Variablennamen ist, I n i t und B a d sind Presburger-Formeln, deren freie Variablen in ˉ v sind , N e x t ist die Presburger-Formel, deren freie Variablen in ˉ v oder ˉ sindv¯,Init,Next,Badv¯InitBadv¯Nextv¯(eine grundierte Kopie von ˉ v ) gibt es eine Formelϕin der Presburger-Arithmetik mit freien Variablen in ˉ v, so dass:v¯v¯ϕv¯

  • Initϕ
  • ϕNextϕ
  • ϕ¬Bad

wobei alle freien Variablen in ϕ primiert .ϕϕ

Angenommen, dieses Problem ist entscheidbar. Es existiert dann eine Turingmaschine , die das Trennproblem entscheidet (für eine gegebene Codierung von Presburger-Formeln). Sei D eine deterministische Turingmaschine, die D ' simuliert . D beendet und entscheidet über das Separatorproblem.DDDD

Eine Variablenzuweisung über eine endliche Menge von Variablen ist eine Konjunktion v i = c i, wobei c i eine ganzzahlige Konstante ist.{vi}vi=cici

Ich werde auch die Existenz einer Turing-Maschine für den Presburger Arithmetik-Compiler mit einigen vernünftigen, aber starken Einschränkungen annehmen . C nimmt als Eingabe eine Turingmaschine M mit einem eindeutigen Endzustand t e r m und einer Eingabe w und konstruiert die Presburger-Formeln I n i t und N e x t über einen endlichen Satz von Variablen ˉ v . Informell benötigen wir die Pfade der Presburger-Formeln, um die Ausführung von M auf w zu simulierenCCMtermwInitNextv¯Mw. Außerdem benötigen wir eine Schrittsimulation. Formal benötigen wir Folgendes:

  • weist eine eindeutige Konstante zu allen Steuerzuständen in M und die Konstante für lassen t e r m seinet e r m ,CMtermterm
  • enthält eine Variable p c in ˉ v , die den Steuerzustand von M bei jedem Schritt in der Ausführung verfolgt.Cpcv¯M
  • erzeugt I n i t in Form einer Variablenzuweisung über ˉ v ,CInitv¯
  • stellt sicher, dass N e x t einen eindeutigen Nachfolger für Variablenzuweisungen über ˉ v hat (die von I n i t aus erreichbar sind), wenn M deterministisch ist.CNextv¯InitM
  • Damit eine injektive Funktion von einem Zustand von M (Steuerung und Band) zu einer variablen Zuordnung über b a r v existiert, so dass N e x t einen Nachfolger hat, wird der Anfangszustand von M auf w genau auf I n abgebildet i t und der Steuerzustand von M weist konsistent p c zu ,fMbarvNextMwInitMpc
  • ist deterministisch undC
  • endet.C

Konstruieren Sie nun die Turingmaschine , die eine Turingmaschine M als Eingabe verwendet und Folgendes ausführt (im Pseudocode):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


Durch diese Übung habe ich Jerome Leroux 'Arbeit an Separatoren für Vektoradditionssysteme wirklich geschätzt.

Tim
quelle
Das ist großartig, danke! Haben Sie eine Referenz für Schritt 2, nämlich den "Compiler von TM zu Presburger Arithmetic"? Das scheint der Kern des Beweises zu sein.
Cody
1
iiiit2pp2ptl,c,rl2p,c<2,r2p+1(l+p+r=t=>c=1)(l+r=t=>c=0)