Die Sprache der formalen Logik ist eine der elementaren Grundlagen von Mathematik und Informatik. Im Folgenden betrachten wir die Aussagenlogik.
Ein Alphabet ist eine endliche Menge von Zeichen. Eine endliche Folge von irgendwelchen Zeichen ist ein Wort, und eine (endliche oder unendliche) Menge von irgendwelchen Wörten ist eine Sprache.
Interessant sind diejenigen Sprachen, deren Wörter nach bestimmten Regeln gebildet sind. Die Menge dieser Regeln wird als die Syntax der Sprache bezeichnet.
Meist wird mit den Wörtern der Sprache jeweils eine bestimmte Bedeutung verbunden. Es ist aber wichtig, zu unterscheiden zwischen den Wörtern als syntaktischen Konstrukten, also als bloßen Zeichenfolgen, und den jeweiligen Bedeutungen, die ihnen beigemessen werden.
Die Menge der Regeln, nach denen den Wörtern einer Sprache ihre Bedeutung zugeordnet wird, heißt Semantik. Durch die Semantik wird eine Abbildung der Sprache in die Menge der möglichen Bedeutungen festgelegt. Diese Abbildung wird als semantische Abbildung bezeichnet.
Um die Begriffe Syntax und Semantik zu veranschaulichen, betrachten wir zunächst die uns wohlvertrauten arithmetischen Ausdrücke.
Wir geben zunächst die Syntaxregeln für den Aufbau einfacher arithmetischer Ausdrücke an. Die Bedeutung dieser Ausdrücke (Rechnen mit ganzen Zahlen in den Grundrechenarten Addition und Multiplikation) lassen wir zunächst beiseite. Diese wird dann später getrennt hiervon durch Semantikregeln festgelegt.
Definition: Ein arithmetischer Ausdruck ist eine Zeichenfolge, die sich nach folgenden Regeln erzeugen lässt:
Beispiel: Folgende Zeichenfolgen sind arithmetische Ausdrücke:
a
3
(5 + 3)
(a + b)
(a + (3 · a))
(((1 + 2) + 3) + 4)
Die Bedeutung eines arithmetischen Ausdrucks ist der Wert, der herauskommt, wenn die Konstanten als ganze Zahlen und die Zeichen + und · als Verknüpfungen zwischen Zahlen interpretiert werden. Die durch Verknüpfung von Zahlenwerten zustande kommenden Werte werden durch Verknüpfungstafeln definiert. Die Verknüpfungstafel des Zeichens + für die einstelligen Zahlen ist im Folgenden angegeben:
+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
2 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
3 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
4 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
5 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
6 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
7 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
8 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
9 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
Bild 1: Verknüpfungstafel für die Addition
Eine entsprechende Verknüpfungstafel lässt sich für das Zeichen · angeben (kleines Einmaleins). Die Verknüpfung von mehrstelligen Zahlen wird durch bestimmte Rechenverfahren (schriftliches Addieren bzw. Multiplizieren) auf die Verknüpfung von einstelligen Zahlen zurückgeführt.
Somit ergibt die Verknüpfung 5 + 3 zum Beispiel 8. Die semantische Abbildung ordnet hier also der Zeichenfolge "(5 + 3)" die Zahl 8 zu.
Was aber ordnet die semantische Abbildung der Zeichenfolge "(a + b)" für eine Zahl zu? Dies hängt davon ab, mit welchen Zahlenwerten die Variablen belegt werden. Eine Belegung ist eine Abbildung, die jeder Variablen einen Zahlenwert zuweist. Wird die Variable a mit dem Wert 17 belegt und die Variable b mit dem Wert 4, so ergibt sich als Bedeutung des Ausdrucks "(a + b)" der Wert 21. Wird die Variable a mit dem Wert 2 belegt, so ergibt "((a + 3) · a)" den Wert 10. Die Klammerung bestimmt hierbei die Reihenfolge der Auswertung.
Die Interpretation von Konstanten und Variablen als bestimmte Werte aus einer bestimmten Wertemenge M und von weiteren Zeichen als bestimmte Verknüpfungen zwischen Werten ist typisch für semantische Abbildungen. Häufig wird festgestellt, dass diese Art von semantischen Abbildungen Rückwirkungen auf die syntaktische Ebene hat.
So stellt sich etwa heraus, dass die semantische Abbildung arithmetischer Ausdrücke für den Ausdruck (a + b) bei jeder Belegung denselben Wert ergibt wie für den Ausdruck (b + a). Dies liegt daran, dass die Verknüpfungstafel für + symmetrisch zur Hauptdiagonalen ist. Ausdrücke, die bei jeder Belegung denselben Wert ergeben, werden als äquivalent bezeichnet. Bei arithmetischen Ausdrücken wird das Zeichen = für die Bezeichnung von Äquivalenz benutzt. Es gilt also
(a + b) = (b + a)
Dies hat zur Folge, dass auch für beliebige Ausdrücke X und Y gilt
(X + Y) = (Y + X)
Somit können bereits auf syntaktischer Ebene entsprechende Vertauschungen durchgeführt werden. Es handelt sich um eine Gesetzmäßigkeit, die unabhängig von der Belegung mit Werten ist; diese wird als Kommutativgesetz bezeichnet.
Die Gesetzmäßigkeiten der Arithmetik umfassen die Assoziativgesetze der Addition und der Multiplikation, die Kommutativgesetze der Addition und der Multiplikation sowie das Distributivgesetz:
((X + Y) + Z) = (X + (Y + Z)) | (Assoziativität) | |
((X · Y) · Z) = (X · (Y · Z)) | ||
(X + Y) = (Y + X) | (Kommutativität) | |
(X · Y) = (Y · X) | ||
(X · (Y + Z)) = ((X · Y) + (X · Z)) | (Distributivität) |
Die vorhandenen Gesetzmäßigkeiten verleihen der Wertemenge M eine algebraische Struktur. Im dargestellten Beispiel ist diese Struktur ein sogenannter Semiring.
Damit Ausdrücke einfacher lesbar sind, wird eine Ausführungsrangfolge (Präzedenz) der Verknüpfungen eingeführt: Die Verknüpfung · bindet stärker als die Verknüpfung + (Punktrechnung geht vor Strichrechnung). Außerdem können äußere Klammern weggelassen werden. Der Ausdruck
(a + (3 · a))
vereinfacht sich so zu
a + 3 · a
Bei assoziativen Verknüpfungen ist die Reihenfolge der Auswertung unerheblich, daher können dort ebenfalls Klammern weggelassen werden. Der Ausdruck
(((1 + 2) + 3) + 4)
vereinfacht sich so zu
1 + 2 + 3 + 4
Vollkommen analog zu der eben gesehenen Vorgehensweise definieren wir zunächst die Syntax von logischen Formeln. Wir verleihen dann den logischen Formeln eine Bedeutung, indem wir eine semantische Abbildung definieren. Anschließend betrachten wir die algebraische Struktur logischer Formeln.
Wir definieren nun, wie logische Formeln syntaktisch aufgebaut sein müssen – wiederum zunächst losgelöst von ihrer möglichen Bedeutung.
Definition: Eine logische Formel ist eine Zeichenfolge, die sich nach folgenden Regeln erzeugen lässt:
Beispiel: Folgende Zeichenfolgen sind logische Formeln:
A
0
(A ∧ 0)
((A ∧ 1) ∨ (¬A))
(((¬(A ∧ 0)) ∨ A) ∨ ((¬A) ∧ B))
Die Bedeutung einer logischen Formel ist der Wert, der herauskommt, wenn die Konstanten 0 und 1 als die Wahrheitswerte false (falsch) und true (wahr) interpretiert werden und die Zeichen ¬, ∨ und ∧ als logische Verknüpfungen. Die Variablen A, B, C, ... stellen wir uns als Aussagen vor; dies sind Sätze, denen sich ein Wahrheitsgehalt zuschreiben lässt, z.B. "Die Erde ist eine Scheibe" oder "1 + 1 = 2". Zunächst jedoch abstrahieren wir von konkreten Aussagen und deren Wahrheitsgehalt und betrachten Variablen lediglich als Platzhalter, die mit den Werten 0 (falsch) oder 1 (wahr) belegt werden können.
Die durch logische Verknüpfung von Wahrheitswerten zustande kommenden Werte werden durch Verknüpfungstafeln definiert. Die Verknüpfungstafeln der Zeichen ¬, ∨ und ∧ sind im Folgenden angegeben:
|
|
|
Bild 2: Verknüpfungstafeln für logische Verknüpfungen
Da es bei zweistelligen Verknüpfungen für die beiden Werte 0 und 1 nur vier mögliche Wertekombinationen gibt, werden die Verknüpfungstafeln aus praktischen Gründen in folgender Form, als Wahrheitstafeln, dargestellt. Die Variablen A und B durchlaufen hierbei die möglichen Wertekombinationen.
|
|
Bild 3: Wahrheitstafeln für das logische Oder und das logische Und
Aus den Verknüpfungstafeln bzw. den Wahrheitstafeln lässt sich ablesen, dass (A ∨ B) genau dann wahr ist, also den Wert 1 annimmt, wenn A wahr ist oder B wahr ist (oder beide), und dass (A ∧ B) genau dann wahr ist, wenn A wahr ist und B wahr ist. Die Verknüpfungen heißen deshalb logisches Oder bzw. logisches Und. Die einstellige Verknüpfung ¬ heißt logisches Nicht oder logische Negation.
Die semantische Abbildung hat Rückwirkungen auf die syntaktische Ebene. So lässt sich etwa mithilfe einer Wahrheitstafel die Gesetzmäßigkeit beweisen, dass (A ∨ B) stets denselben Wahrheitswert annimmt wie (B ∨ A). Logische Formeln, die bei jeder Belegung denselben Wert ergeben, werden als äquivalent bezeichnet. Diese beiden Formeln sind also logisch äquivalent. Bei logischen Formeln wird das Zeichen ≡ für die Bezeichnung von Äquivalenz benutzt:
(A ∨ B) ≡ (B ∨ A)
Dies hat zur Folge, dass auch für beliebige logische Formeln X und Y gilt:
(X ∨ Y) ≡ (Y ∨ X).
Somit können bereits auf syntaktischer Ebene entsprechende Vertauschungen durchgeführt werden. Es handelt sich um eine Gesetzmäßigkeit, die unabhängig von der Belegung mit Wahrheitswerten ist; diese wird als Kommutativgesetz bezeichnet.
Es gibt noch eine ganze Reihe von anderen Äquivalenzen, die sich mithilfe von Wahrheitstafeln ableiten lassen. Wir werden im Folgenden zahlreiche logische Äquivalenzen kennenlernen. Diese Äquivalenzen verleihen der Menge der Wahrheitswerte mit den Verknüpfungen ¬, ∨ und ∧ eine algebraische Struktur. Es handelt sich um eine boolesche Algebra (nach G. Boole).
Damit logische Formeln einfacher lesbar sind, wird eine Ausführungsrangfolge (Präzedenz) der Verknüpfungen eingeführt: Die Verknüpfung ¬ bindet am stärksten, und ∧ bindet stärker als ∨ . Außerdem können äußere Klammern weggelassen werden. Die logische Formel
((A ∧ 1) ∨ (¬A))
vereinfacht sich so zu
A ∧ 1 ∨ ¬A.
Bei assoziativen Verknüpfungen ist die Reihenfolge der Auswertung unerheblich, daher können dort ebenfalls Klammern weggelassen werden. Da die Verknüpfungen ∨ und ∧ assoziativ sind, vereinfacht sich die logische Formel
((A ∨ B) ∨ C)
zu
A ∨ B ∨ C.
Um bestimmte logische Formeln einfacher darstellen zu können, werden zwei weitere Verknüpfungen eingeführt, die sich auf die bereits vorhandenen Verknüpfungen ¬, ∨ und ∧ zurückführen lassen.
Definition: Die logischen Verknüpfungen → (logische Implikation) und ↔ (beiderseitige logische Implikation) werden wie folgt definiert:
A → B ≡ ¬A ∨ B
A ↔ B ≡ (A → B) ∧ (B → A)
Die Wahrheitstafeln für diese Verknüpfungen ergeben sich aus der Definition; sie sind im Folgenden angegeben:
|
|
Bild 4: Wahrheitstafeln für die Verknüpfungen → und ↔
Als Präzedenz der neuen Verknüpfungen wird festgelegt, dass → schwächer bindet als ∨ und ↔ am schwächsten bindet.
Definition: Eine logische Formel, die immer wahr ist, die also unabhängig von der Belegung ihrer Variablen mit Wahrheitswerten stets den Wert 1 (wahr) annimmt, heißt allgemeingültig oder eine Tautologie.
Eine Tautologie haben wir bereits indirekt kennengelernt: Logisch äquivalente Formeln lassen sich nämlich durch Verknüpfung mit ↔ als Tautologie ausdrücken. Das Kommutativgesetz der logischen Verknüpfung ∨ lautet, als Tautologie formuliert, wie folgt. Um darzustellen, dass es sich um eine Tautologie handelt, wird das Zeichen ⊨ verwendet:
⊨ A ∨ B ↔ B ∨ A
Aufgrund der Tatsache, dass die logische Äquivalenz ≡ von zwei Formeln X und Y die beiderseitige Implikation ↔ dieser Formeln nach sich zieht, verschwimmt ein wenig der Unterschied zwischen diesen Begriffen. Daher wird auch oft die beiderseitige logische Implikation als logische Äquivalenz bezeichnet.
Es folgt eine Liste von Tautologien, also logischen Formeln, die immer wahr sind, ganz gleich, ob die enthaltenen Variablen wahr oder falsch sind. Diese Tautologien stellen die Gesetze der Logik dar. Die Gesetze der Logik sind die Grundlage für das logische Schließen in der Mathematik.
In mathematischen Beweisen verwenden wir die Zeichen ⇒ und ⇔, um zulässige und korrekte Folgerungen bzw. Äquivalenzen auszudrücken. Hierbei handelt es sich um eine abkürzende Schreibweise. So schreiben wir beispielsweise
A ⇒ B
anstelle von
Δ ⊨ A → B
wobei Δ die Menge aller weiteren Voraussetzungen ist, die stillschweigend mit einbezogen werden (z.B. die Gesetze der Arithmetik oder ähnliches).
Mit folgendem Programm lässt sich eine logische Formel mit den Variablen A, B und C sowie den logischen Konstanten 0 (= false) und 1 (= true) daraufhin überprüfen, ob sie eine Tautologie ist. Wenn die Formel keine Tautologie ist, wird eine Belegung der Variablen A, B und C ausgegeben, mit der die Formel den Wert false annimmt.
Da die Zeichen ∧ , ∨ usw. auf der Tastatur nicht vorhanden sind, werden für die Eingabe ersatzweise folgende Zeichen verwendet:
¬ | ! | |
∧ | * | |
∨ | + | |
→ | -> | |
↔ | = oder <-> |
Die Reihenfolge in dieser Tabelle gibt auch gleichzeitig die Präzedenz der Verknüpfungen an: ! bindet am stärksten, <-> bindet am schwächsten. Verknüpfungen gleicher Präzedenz werden von links nach rechts ausgewertet.
Aufgabe 1: Zeigen Sie durch Anwendung der oben angegebenen Gesetze der Logik (Definition von → , Regel von De Morgan, Assoziativität von ∨ ), dass die logische Formel
A ∧ B → C ↔ A → ¬B ∨ C
eine Tautologie ist.
Aufgabe 2: Überprüfen Sie mithilfe von Wahrheitstafeln, welche der folgenden logischen Formeln allgemeingültig sind, d.h. Tautologien sind.
[Lan 21] H.W. Lang: Vorkurs Informatik für Dummies. Wiley (2021)
Erste Schritte in der formalen Logik machen Sie auch in Kapitel 12 in meinem Buch Vorkurs Informatik für Dummies.
Weiter mit: [up]