Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Atomare Aussagen sind zum Beispiel:<br />
• Berlin ist die Hauptstadt <strong>der</strong> Bundesrepublik Deutschland<br />
• Ich bin Nichtraucher<br />
• Es regnet<br />
• 17 ist eine Primzahl<br />
Demgegenüber sind folgende Sätze keine Aussagen im Sinne <strong>der</strong> Aussagenlogik, weil ihnen kein Wahrheitswert<br />
zugewiesen werden kann:<br />
• Guten Morgen<br />
• Warum immer ich ?<br />
Bei den Beispielen für die atomaren Aussagen zeigt sich, daß obige Definition zumindest problematisch ist,<br />
da die Korrektheit des zweiten Beispiels von demjenigen abhängt, <strong>der</strong> behauptet, er rauche nicht. Wir gehen<br />
im folgenden davon aus, daß wir atomaren Aussagen immer eindeutig einen Wahrheitswert zuordnen können.<br />
Die Zusammensetzung <strong>der</strong> Teilaussagen erfolgt mittels Junktoren. Beispiele hierfür sind:<br />
• Jan hat grüne Stiefel, und Johanna hat blaue Stiefel<br />
• München hat am 2.6.91 1700000 Einwohner, und die Ostsee ist an ihrer tiefsten Stelle 6 Meter tief<br />
Wir werden im folgenden Aussagen wie ’Jan hat grüne Stiefel’ z.B. mit A benennen. Es ist nämlich zum einen<br />
sehr mühsam, immer ’Jan hat grüne Stiefel’ schreiben zu müssen (A ist viel kürzer) und zum zweiten ist <strong>der</strong><br />
eigentliche Inhalt <strong>der</strong> Aussage für die Aussagenlogik insoweit uninteressant, als daß wir nur wissen müssen,<br />
ob die atomare Aussage wahr o<strong>der</strong> falsch ist. Diese Entscheidung fällt aber nicht in das Aufgabengebiet <strong>der</strong><br />
formalen Logik.<br />
Da wir die Aussagenlogik als formales System begreifen wollen, werden wir zunächst die Syntax festlegen und<br />
im Kapitel Semantik den zusammengesetzten Aussagen eine eindeutige Bedeutung geben.<br />
Startsymbol: Aussage<br />
Alphabet:<br />
Grundmengen Bezeichner<br />
Sonstige Symbole ¬, ∧, ∨, ⇒ , ⇔ , (, ), T, F<br />
Syntax: Aussage ::= Atomaraussage<br />
| (¬ Aussage)<br />
| (Aussage ∧ Aussage) | (Aussage ∨ Aussage)<br />
| (Aussage ⇒ Aussage) | (Aussage ⇔ Aussage)<br />
Atomaraussage ::= T | F | Bezeichner<br />
Abbildung 2.5: Syntax <strong>der</strong> Aussagenlogik (mit voller Klammerung)<br />
Für die eingeführten Operatoren wird die folgende Terminologie verwendet. ∧ wird als Konjunktion bezeichnet,<br />
∨ als Disjunktion, ¬ als Negation, ⇒ als Implikation und ⇔ als Äquivalenz. b ∧ c wird gelesen als ‘b<br />
und c’, b ∨ c als ‘b o<strong>der</strong> c’, ¬ a als ‘nicht a’, b ⇒ c als ‘b impliziert c’ und b ⇔ c als ‘b gleich c’. 5<br />
Der Leser möge sich selbst das hier verwendete Alphabet klarmachen. Wir treffen hier nur in soweit eine<br />
Vereinbarung, daß Bezeichner aus einem o<strong>der</strong> einer Folge kleiner Buchstaben gewählt werden können. Je<strong>der</strong><br />
Bezeichner steht für eine atomare Aussage wie die bereits dargestellten. Damit ist auch klar, daß zu je<strong>der</strong><br />
Beschreibung eines Problems eine Zuordnung zwischen Bezeichnern und Aussagen zu treffen ist. Diese erfolgt<br />
jedoch nicht mit den sprachlichen Mitteln <strong>der</strong> formalen Logik (s. auch folgende Beispiele).<br />
5 In den meisten Programmiersprachen wird deshalb anstelle von ⇔ das Gleichheitssymbol = verwendet.