Skript zur Vorlesung - Universität Paderborn
Skript zur Vorlesung - Universität Paderborn
Skript zur Vorlesung - Universität Paderborn
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
110 KAPITEL 7. AXIOMATISCHE SEMANTIK<br />
Die Notation für die Substitution erinnert bewußt an die Zustandsmodifikation.<br />
Es gibt aber einen wichtigen Unterschied: Die Substitution operiert<br />
syntaktisch auf einer Formel, also einem syntaktischen Objekt. Die Zustandsmodifikation<br />
operiert auf einem Zustand, also einem semantischen Objekt.<br />
Es besteht aber trotzdem ein enger Zusammenhang zwischen den beiden<br />
Konzepten: das Substitutionslemma.<br />
Lemma 7.1 (Substitutionslemma)<br />
Sei F ∈ F orm eine Formel, v ∈ V eine Programmvariable, a ∈ Aexp ein<br />
Ausdruck, β eine Belegung und σ ein Zustand. Dann gilt β, σ |= F [a/v]<br />
genau dann, wenn β, σ[σ(a)/v] |= F gilt.<br />
Beweis: Das Substitutionslemma läßt sich leicht durch Induktion über den<br />
Aufbau der Ausdrücke und Formeln beweisen. <br />
3 Zusicherungen<br />
Mit diesen Begriffen und der operationalen Semantik können wir nun den<br />
Begriff der Zusicherung und unsere informelle Beschreibung ihrer Gültigkeit<br />
formalisieren.<br />
Definition 7.2 (Zusicherung)<br />
Für zwei prädikatenlogische Formeln A und B und eine Anweisung c nennen<br />
wir {A} c {B} eine Zusicherung.<br />
Die Zusicherung heißt gültig, wenn für jede Belegungen β und jeden Zustand<br />
σ mit β, σ |= A und jeden Zustand σ ′ mit σ ′ mit 〈c, σ〉 → σ ′ auch gilt<br />
β, σ ′ |= B. Für eine gültige Zusicherung schreiben wir auch |= {A} c {B}.<br />
Der Wert der logischen Variablen ändert sich bei den beiden Interpretationen<br />
von A und B nicht (β bleibt gleich); der Wert der Programmvariablen ändert<br />
sich dagegen (die Gültigkeit von A wird bzgl. σ überprüft, die Gültigkeit von<br />
B bezüglich σ ′ ).<br />
Wir geben nun Beweisregeln an, mit deren Hilfe man die Gültigkeit von Zusicherungen<br />
beweisen kann. Am Ende werden wir feststellen, daß wir mit diesen<br />
Regel genau diejenigen Zusicherungen herleiten können, die auch gültig sind.<br />
Da wir das aber a priori nicht wissen benutzen wir für die durch Regeln<br />
herleitbaren Zusicherungen ein anderes Symbol ⊢ {A} c {B}. Diese Regel