Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
182<br />
Betrachtet man Bitvektoroperationen genauer, so fällt auf, dass die bitweise<br />
Negation NOT zu Problemen führt. Da die Binärkodierung jeder natürlichen<br />
Zahl nämlich nur endlich viele Einsen enthält, enthält die negierte Binärkodierung<br />
einer natürlichen Zahl unendlich viele Einsen und stellt damit nicht mehr<br />
die Kodierung einen natürlichen Zahl dar. Für die Untersuchung der Definierbarkeit<br />
von Bitvektoroperationen in Presburger-Arithmetik muss daher die Erweiterung<br />
der Presburger-Arithmetik auf ganze Zahlen und deren Zweierkomplement-<br />
Kodierung betrachtet werden.<br />
5.1 Presburger-Arithmetik auf ganzen Zahlen<br />
Definition 21 (Presburger-Arithmetik auf ganzen Zahlen). Presburger Z -<br />
Arithmetik ist Presburger-Arithmetik auf ganzen Zahlen. Die Menge der Presburger<br />
Z -Terme Term PresburgerZ ist die Menge der Variablen x : → Z. Die Menge<br />
der Presburger Z -Formeln ist die kleinste Menge mit<br />
– ADD Z (x, y, z) ∈ Presburger Z für alle Terme x, y, z ∈ Term PresburgerZ<br />
– ≥ 0 (x) ∈ Presburger Z für alle Terme x ∈ Term PresburgerZ<br />
– x . = y ∈ Presburger Z für alle Terme x, y ∈ Term PresburgerZ<br />
– ¬ϕ ∈ Presburger Z für jede Formel ϕ ∈ Presburger Z<br />
– ϕ ∧ ψ ∈ Presburger Z für alle Formeln ϕ, ψ ∈ Presburger Z<br />
– ∃x.ϕ ∈ Presburger Z für jede Variable erster Stufe x : → Z und jede Formel<br />
ϕ ∈ Presburger Z<br />
Presburger Z -Formeln und -Terme werden nur über den ganzen Zahlen ausgewertet.<br />
Sei ξ eine Belegung. Da ausschließlich Variablen erster Stufe Presburger<br />
Z -Terme darstellen, ist die Bedeutung x ξ eines Terms x ∈ Term PresburgerZ<br />
in einer Belegung ξ ist gegeben durch x ξ := ξ(x). Die Bedeutung ϕ ξ einer<br />
Presburger Z -Formel ϕ ist gegeben durch:<br />
– ¬ϕ ξ :⇔ nicht ϕ ξ<br />
– ADD Z (x, y, z) ξ :⇔ x ξ + y ξ = z ξ<br />
– ≥ 0 (x) ξ :⇔ x ξ ≥ 0<br />
– x . = y ξ :⇔ x ξ = y ξ<br />
– ϕ ∧ ψ ξ :⇔ ϕ ξ und ψ ξ<br />
– ∃x.ϕ ξ :⇔ es gibt ein z ∈ Z mit ϕ ξ z x<br />
Es fällt auf, dass gegenüber Presburger N -daszusätzliche Prädikat > 0 in Presburger<br />
Z -Arithmetik erlaubt ist. Dies ist nötig, da sonst Presburger Z -Arithmetik<br />
nicht zwischen positiven und negativen Zahlen unterscheiden könnte, d. h. eine<br />
Belegung ξ erfüllt eine beliebige Presburger Z -Formel ϕ ohne ≥ 0 genau dann,<br />
wenn die Belegung ξ − , die gegeben ist durch ξ − (x) := −ξ(x) für alle x, die<br />
Formel ϕ erfüllt. Dies lässt sich leicht durch Induktion über den Aufbau zeigen.<br />
Ohne ≥ 0 können also wichtige Funktionen, wie Konstanten für die ganzen<br />
Zahlen, oder Prädikate wie > nicht definiert werden. Mit diesem Prädikat ist