22.08.2013 Aufrufe

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

S : Syntaktische Aussage → (Zustand → Ziel Wahrheitswert)<br />

S ist ein Übersetzer, s ist ein Interpretierer. Das analoge Konzept existiert auch in <strong>der</strong> Analysis in Form des<br />

unbestimmten und des bestimmten Integrals. Die Definition erfolgt analog zu <strong>der</strong> von s über Funktionalgleichungen<br />

(das Ergebnis ist wie<strong>der</strong>um eine Funktion!) wie zum Beispiel:<br />

S (¬ Faktor)(state) = nicht S(Faktor)(state)<br />

Wir werden im weiteren immer die Interpretierer-Variante verwenden.<br />

2.1.4 Konversion - Ableitung<br />

Bislang haben wir nur die Möglichkeit, den Wert einer formalen Aussage dadurch zu bestimmen, daß wir<br />

die Semantik <strong>der</strong> Aussage berechnen und dann innerhalb des semantischen Modells <strong>der</strong>en Wert bestimmen.<br />

Darüber hinaus ist es häufig sinnvoll, auch über eine Möglichkeit zu verfügen, syntaktische Aussagen direkt zu<br />

manipulieren, ohne ihren Wert zu bestimmen und sei es nur, um die Lesbarkeit zu erhöhen. Die Notwendigkeit<br />

hierfür ergibt sich sowohl aus dem Wunsch, die Lesbarkeit von Aussagen zu erhöhen als auch aus dem Bestreben,<br />

den Wert einer Aussage zu bestimmen. Dies kann über das bereits eingeführte Verfahren, gerade dann<br />

wenn eine Aussage in vielen Variablen vorliegt, recht mühsam werden. Schon das Aufstellen <strong>der</strong> Wahrheitstafel<br />

erweist sich u.U. als ziemlich aufwendig (s. die im vorangegangenen Kapitel gezeigte Berechnungsvorschrift<br />

für die Zahl <strong>der</strong> Kombinationsmöglichkeiten).<br />

Es gibt zwei Möglichkeiten zur syntaktischen Manipulation, Konversion und Ableitung. Sowohl bei <strong>der</strong> Konversion<br />

als auch bei <strong>der</strong> Ableitung kommt es ausschließlich auf die syntaktische Struktur <strong>der</strong> betrachteten Sätze<br />

an. Die Semantik spielt keine Rolle. Wichtig ist auch, daß we<strong>der</strong> in Konversions- noch in Ableitungsregeln<br />

konkrete Sätze (d.h. Aussagen im Fall <strong>der</strong> Aussagenlogik) auftauchen, son<strong>der</strong>n sogenannte Aussagenvariablen.<br />

Diese stehen für beliebige Sätze <strong>der</strong> betrachteten formalen Sprache. Wichtig ist nur ihre syntaktische Zusammensetzung.<br />

Ableitung ist <strong>der</strong> allgemeinere Begriff. Man kann alle Konversionsregeln auch als Ableitungsregeln<br />

schreiben. Konversionsregeln können im Gegensatz zu Ableitungsregeln in beide Richtungen gelesen werden.<br />

2.1.4.1 Konversion<br />

Konversion dient dem Zweck, eine Aussage in eine semantisch äquivalente umzuformen. Der Äquivalenzbegriff<br />

muß für jede Sprache eigens eingeführt werden.<br />

Definition 2.1.5 (Äquivalenzen in <strong>der</strong> Aussagenlogik)<br />

Zwei Aussagen A und B heißen genau dann äquivalent, wenn in allen Zuständen gilt:<br />

s (A, state) = s (B, state)<br />

‘A ≡ B’ ist dann eine Äquivalenz o<strong>der</strong> eine korrekte Konversionsregel.<br />

Die Korrektheit einer Konversionsregel ist über ihre semantische Bedeutung natürlich nachzuweisen. Es erscheint<br />

sinnvoll, eine Vielzahl von Konversionsregeln einmal auf ihre Korrektheit zu prüfen, um das Vereinfachen<br />

von Aussagen zu erleichtern. Dabei können Konversionen auch als Optimierung über Aussagen <strong>der</strong><br />

Quellsprache verstanden werden, bevor die Berechnung in einem konkreten Zustand stattfindet.<br />

Diese Regeln in Abbildung 2.9 entsprechen jenen aus [Gries, 1981]. Die Ei sind Aussagenvariablen. Die Menge<br />

<strong>der</strong> Konversionsregeln sollte niemanden erschrecken. Viele haben Sie bereits schon häufig angewandt. Es ist<br />

jedoch für jede (formale) Sprache sinnvoll, sich <strong>der</strong> Regeln, <strong>der</strong>en man sich zur Manipulation von Sätzen<br />

bedient, zu vergewissern. K4 ist benannt nach Augustus De Morgan, einem Mathematiker des neunzehnten<br />

Jahrhun<strong>der</strong>ts, <strong>der</strong> zusammen mit Boole grundlegende Arbeiten auf dem Gebiet <strong>der</strong> Logik ausgeführt hat.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!