25.11.2014 Aufrufe

Verifikation reaktiver Systeme - Universität Kaiserslautern

Verifikation reaktiver Systeme - Universität Kaiserslautern

Verifikation reaktiver Systeme - Universität Kaiserslautern

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

187<br />

5.4 Definierbarkeit von Bitvektoroperationen in Presburger Z -<br />

Arithmetik<br />

Die um Bitvektoroperationen erweiterte Presburger Z -Arithmetik (kurz: Presburger<br />

Z,Bit -Arithmetik), kann ähnlich wie Presburger N -Arithmetik leicht in S1S<br />

übersetzt werden. Diese Logik ist daher entscheidbar und ihr Entscheidungsproblem<br />

besitzt höchstens nicht elementare Komplexität. Wie aber oben dargestellt,<br />

ist das Entscheidungsproblem der Presburger-Arithmetik in O(2 22n )<br />

lösbar und somit wesentlich einfacher als das Entscheidungsproblem von S1S.<br />

Dieses einfachere Entscheidungsproblem ist einer der Gründe für den Einsatz<br />

von Presburger-Arithmetik. Es ist daher interessant, die Komplexität des Entscheidungsproblems<br />

von Presburger Z,Bit -Arithmetik zu untersuchen.<br />

Zunächst soll betrachtet werden, ob Bitvektoroperationen in Presburger-<br />

Arithmetik definierbar sind. Wären Bitvektoroperationen in Presburger-Arithmetik<br />

definierbar, so besäßen Presburger Z - und Presburger Z,Bit -Arithmetik äquivalente<br />

Ausdruckskraft. Wenn die durch die Definitionen der Bitvektoroperationen<br />

implizierte Übersetzung von Presburger Z,Bit - nach Presburger Z -Arithmetik<br />

mit polynomiellem Aufwand möglich wäre, wäre zudem gezeigt, dass das<br />

Entscheidungsproblem von Presburger Z,Bit -Arithmetik in O(2 22n )lösbar ist. Im<br />

Folgenden soll gezeigt werden, dass Bitvektoroperationen jedoch nicht in Presburger<br />

Z -Arithmetik definierbar sind.<br />

Die Bitvektoroperation NOT kann leicht in Presburger Z -Arithmetik definiert<br />

werden durch<br />

NOT(x) . = z ←→ z . = −(x +1)<br />

Dagegen ist OR nicht definierbar.<br />

Lemma 2. Die Bitvektoroperation OR ist nicht in Presburger Z -Arithmetik definierbar.<br />

Beweis. Angenommen die Bitvektoroperation OR wäre in Presburger Z -Arithmetik<br />

definierbar. Dann ist aber auch das Prädikat Sing Z : Z → B, das gegeben ist<br />

durch<br />

⇔ es gibt ein k ∈ N mit i =2k<br />

in Presburger Z -Arithmetik definierbar durch<br />

(<br />

Sing (x,y,z)<br />

Z<br />

:= ≥ 0 (y) ∧ y ≤ x<br />

∧<br />

∀y ′ . ( ≥ 0 (y ′ ) ∧ y ′ ≤ x ) → OR(x, y ′ ) ≤ OR(x, y) ∧<br />

z = . )<br />

OR(x, y)+1<br />

∀z.Sing (z)<br />

Z<br />

Sing (i)<br />

Z<br />

↔ ∃x, y.Sing(x,y,z)<br />

Z<br />

Sei z eine Zweierpotenz. Dann ist zu zeigen, dass Sing (z)<br />

Z<br />

gilt. Sing (1)<br />

Z<br />

Sing (0,0,1)<br />

Z<br />

Sing (2k−1 ,2 k−1 −1,z)<br />

Z<br />

gilt. Für eine Zweierpotenz z =2 k mit k>0 ist Sing (z)<br />

Z<br />

gilt.<br />

gilt, da<br />

erfüllt, da

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!