i hat aktuell den Wert 1
i hat aktuell den Wert 2
i hat aktuell den Wert 3
i hat aktuell den Wert 4
15 Aussagenlogik
Die Aussagenlogik beschäftigt sich mit Aussagen und deren Verknüpfungen (Junktoren). Dabei sind Aussagen immer entweder wahr oder falsch. Sowohl in der Mathematik als auch beim Programmieren oder im täglichen Leben spielen logische Überlegungen und damit die Aussagenlogik eine wichtige Rolle.
Beispiel 1: (Tägliches Leben: Lügende Politiker entlarven)
In einer Rede hört man von einem Politiker die folgenden vier Aussagen:
- ,,Die Vollbeschäftigung wird erhalten oder die Steuern dürfen nicht erhöht werden.’’
- ,,Wenn sich Politiker um die Bevölkerung kümmern, müssen die Steuern angehoben werden.’’
- ,,Die Politiker kümmern sich um die Bevölkerung oder die Vollbeschäftigung kann nicht erhalten werden.’’
- ,,Es stimmt nicht, dass die Erhaltung der Vollbeschäftigung eine Steuererhöhung zur Folge haben muss.’’
Frage:
Hat sich der Politiker widersprochen? Das heißt kann es Wahrheitswerte (wahr oder falsch) für alle Aussagen geben, so dass er sich nicht widerspricht oder sagt er vielleicht sogar immer die Wahrheit egal welche Wahrheitswerte seine Aussagen haben?
Problem:
Verknüpfungen der Aussagen verhältnismäßig komplex, so dass man die obige Frage nicht ohne weiteres beantworten kann!
Lösung: Formalisieren des Problems und Aussagen in mathematischer Form formulieren.
Wir werden die Lösung am Ende des Kapitels zeigen.
Beispiel 2: (Mathematik: direkter Beweis)
In der Mathematik gibt es verschiedene Formen der Beweisführung: die vollständige Induktion, den Beweis durch Widerspruch und den direkten Beweis.
Die folgende Aufgabe soll mit Hilfe eines direkten Beweises geführt werden. Die Idee ist aus einer Aussage A durch Umformungen eine Aussage B zu folgern, deren Wahrheitswert bekannt ist. Formal könnte man das schreiben als
\begin{align*} A \implies C_1 \implies C_2 \implies \cdots \implies C_n \implies B, \end{align*}
wobei alle C_i Zwischenschritte sind.
Weitere Beweismethoden sind die vollständige Induktion und Beweis durch Widerspruch.
Beispiel 3: (Informatik, Datenanalyse)
In Data Science oder der Informatik benötigt wir Wahrheitswerte an mehreren Stellen:
- Zum Filtern von Daten
- oder auch als Abbruchbedingungen für Schleifen:
Die while()
Schleife wird solange ausgeführt wie der Term i<5
eine wahre Aussage ist.
15.1 Aussagen und Wahrheitswerte
Wir wollen in diesem Kapitel die Grundlagen für die Aussagelogik definieren und einige kleine Beispiele dazu zeigen. Am Ende des Kapitel lösen wir Beispiel 1: Lügende Poliker entlarven mit Hilfe Aussagenlogik auf.
Aussagen sind damit nie
- wahr und gleichzeitig falsch,
- weder wahr noch falsch.
Beispiele:
- 2 + 3 = 6 ist eine falsche Aussage, 2\cdot 4 = 8 ist eine wahre Aussage.
- Sätze wie “Sonnenblumen sind schön” (nicht objektiv) oder “Dieser Satz ist falsch.” (semantisches Paradox) sind keine Aussagen, da sie nicht objektiv als wahr oder falsch klassifiziert werden können.
Bemerkungen:
- In der R werden die Wahrheitswerte mit
TRUE
oderT
beziehungsweiseFALSE
oderF
gekennzeichnet. Oft entstehen solche logische Vektoren aus Vergleichen (z.B. zweier Vektoren).
# Beispiel 1:
1:6 > 3
[1] FALSE FALSE FALSE TRUE TRUE TRUE
Im ersten Beispiel vergleichen wir, ob die ganzen Zahlen von 1
bis 6
größer als 3
sind. Das Ergebnis ist ein sogenannter logischer Vektor (siehe Kapitel 5.4.1).
[1] FALSE TRUE FALSE TRUE
Mit dem Operator %in%
wird überprüft, ob sich die Einträge aus dem ersten Vektor im zweiten befinden. Ist ein Eintrag TRUE
, so kommt der jeweilige Eintrag im zweiten Vektor vor. Eine praktische Anwendungen im Zusammenhang mit dem Filtern von Daten in Datentabellen finden sich im Kapitel 9.3.
15.2 Aussageformen
Beispiel:
Der Ausdruck A: 2m + 1 = 5 mit m \in \mathbb{N} ist offenbar keine Aussage im Sinne der Definition einer Aussage, da A keinen Wahrheitswert hat. Es handelt sich um eine Aussageform. Erst A(m) wird je nach m zu einer wahren oder falschen Aussage.
- A ist die Aussageform,
- m ist die Variable und
- \mathbb{N} = \{1, 2, \cdots\} die Grundmenge
Setzen wir nun ein Element aus der Grundmenge ein, so wird aus der Aussageform eine Aussage.
- A(1): 2\cdot 1 + 1 = 5 ist das Gleiche wie 3 = 5 ist eine falsche Aussage
- A(2): 2\cdot 2 + 1 = 5 ist das Gleiche wie 5 = 5 ist eine wahre Aussage
Im obigen Beispiel ist L = \{2\} die Lösungsmenge der Aussageform A.
15.3 Junktoren
Junktoren sind logische Operatoren in der Aussagenlogik.
-
Negation: \neg A (oder auch \overline{A})
liest man nicht A. Die Negation kehrt den Wahrheitswert einer Aussage um, das heißt ist A wahr, so ist \neg A falsch und umgekeht.
Die Negation ist ein einstelliger Operator, da sie nur einen Wahrheitswert benötigt. Die folgenden Junktoren sind alle zweistellige Operatoren, da sie zwei Wahrheitswerte benötigen.
Konjunktion: A \wedge B
liest man A und B und ist genau dann wahr, wenn A und B beide wahr sind.Disjunktion: A \vee B
liest man A oder B und ist genau dann falsch, wenn sowohl A als auch B falsch sind.Implikation: A \implies B
liest man aus A folgt B oder A impliziert B oder B ist notwendig für A oder A ist hinreichend für B ist nur genau dann falsch, wenn A wahr und B falsch ist.Äquivalenz: A \iff B
liest man A ist äquivalent zu B- Die Aussage A ist wahr genau dann, wenn Aussage B wahr ist. Gleichwertig kann man auch sagen: Wenn Aussage A wahr ist, so auch B, und wenn B wahr ist, so auch A.
15.4 Wahrheitstabellen
Mit Hilfe einer Wahrheitstabelle können alle Wahrheitswerte, die eine (abgeleitete) Aussage haben kann gleichzeitig gezeigt werden. In Tabelle 15.1 sieht man die im vorherigen Kapitel definierten Aussagen A und B, sowie die definierten Verknüpfungen. Für n verknüpfte Aussagen gibt es 2^n mögliche wahr/falsch-Kombinationen. Also für zwei Aussagen sind das 2^2 = 4 verschiedene Möglichkeiten, die alle in der Wahrheitstabelle zu sehen sind.
A | B | \neg A | \neg B | A \wedge B | A \vee B | A \implies B | A \iff B |
---|---|---|---|---|---|---|---|
w | w | f | f | w | w | w | w |
w | f | f | w | f | w | f | f |
f | w | w | f | f | w | w | f |
f | f | w | w | f | f | w | w |
Tautologie:
Eine Tautologie ist eine Aussage, die unabhängig von den Wahrheitswerten immer wahr ist. Ein Beispiel hierfür wäre die Aussage: ,,Es regnet oder es regnet nicht’’.Kontradiktion: ist das Gegenteil einer Tautologie und unabhängig der Wahrheitswerte immer falsch. Ein Beispiel ist die Aussage ,,Es regnet und es regnet nicht’’.
Die Wahrheitstabellen können auf beliebige Kombinationen von Aussagen erweitert werden und sind ein praktisches Werkzeug um logische Verknüpfungen zu untersuchen. Ein interessantes Beispiel ist die Kontraposition. Dabei iist zu erwähnen, dass nicht nur das Ergebnis in der Tabelle zu sehen ist, sondern auch die Zwischenschritte, wie man das Ergebnis erhalten hat (hier: das explizite Aufschreiben der Negationen \neg A und \neg B).
Beispiel: Kontraposition
Die folgende Wahrheitstabelle zeigt, dass Implikation A \implies B und ihrer Kontraposition \neg B \implies \neg A die gleichen Wahrheitswerte haben. Mathematisch schreibt man
\begin{align*} (A \implies B) \equiv (\neg B \implies \neg A), \end{align*}wobei \equiv die Bedeutung ist identisch zu hat und auch so gelesen wird.
A | B | \neg A | \neg B | A \implies B | \neg B \implies \neg A |
---|---|---|---|---|---|
w | w | f | f | w | w |
w | f | f | w | f | f |
f | w | w | f | w | w |
f | f | w | w | w | w |
Nimmt man zum Beispiel die beiden Aussagen A: ,,Es regnet.’’ und B: ,,Die Erde ist nass.’‘, dann ist die Implikation: ,,Wenn es regnet, dann ist die Erde nass.’‘. Eine dazu identische Aussage ist nun nicht: ,,Wenn es nicht regnet, dann ist die Erde nicht nass.’‘, das wäre im Allgemeinen falsch, schließlich kann sie auch aufgrund anderer Gründe nass sein, wenn dort zum Beispiel eine Wasserschlacht stattgefunden hat oder weil der Nachbar sein Auto geputzt hat. Die wirklich identische Aussage ist ,,Wenn die Erde nicht nass ist, dann regnet es nicht.’’
Selbsttest: Wahrheitstabelle
Gegeben sind die Aussagen R,{} O,{} K sowie die verknüpfte Aussage E mit
E \quad \equiv \quad \neg \left(R \vee O\right) \implies \neg \left(\neg O \wedge K\right). Bestimmen sie die Wahrheitswerte (f oder w) von E und tragen diese in die Felder ein.
R | w | w | w | w | f | f | f | f |
O | w | w | f | f | w | w | f | f |
K | w | f | w | f | w | f | w | f |
E |
Gegeben sind die Aussagen C,{} W,{} F sowie die verknüpfte Aussage Q mit
Q \quad \equiv \quad \left(C \iff \neg W\right) \vee \neg \left(\neg W \wedge F\right). Bestimmen sie die Wahrheitswerte (f oder w) von Q und tragen diese in die Felder ein.
C | w | w | w | w | f | f | f | f |
W | w | w | f | f | w | w | f | f |
F | w | f | w | f | w | f | w | f |
Q |
Gegeben sind die Aussagen K,{} N,{} L sowie die verknüpfte Aussage D mit
D \quad \equiv \quad \left(K \iff \neg N\right) \implies \left(N \vee L\right). Bestimmen sie die Wahrheitswerte (f oder w) von D und tragen diese in die Felder ein.
K | w | w | w | w | f | f | f | f |
N | w | w | f | f | w | w | f | f |
L | w | f | w | f | w | f | w | f |
D |
Gegeben sind die Aussagen B,{} H,{} U sowie die verknüpfte Aussage K mit
K \quad \equiv \quad \neg \left(B \wedge \neg H\right) \vee \left(H \implies U\right). Bestimmen sie die Wahrheitswerte (f oder w) von K und tragen diese in die Felder ein.
B | w | w | w | w | f | f | f | f |
H | w | w | f | f | w | w | f | f |
U | w | f | w | f | w | f | w | f |
K |
Gegeben sind die Aussagen H,{} K,{} L sowie die verknüpfte Aussage W mit
W \quad \equiv \quad \left(H \implies \neg K\right) \iff \neg \left(K \vee L\right). Bestimmen sie die Wahrheitswerte (f oder w) von W und tragen diese in die Felder ein.
H | w | w | w | w | f | f | f | f |
K | w | w | f | f | w | w | f | f |
L | w | f | w | f | w | f | w | f |
W |
Gegeben sind die Aussagen X,{} O,{} F sowie die verknüpfte Aussage D mit
D \quad \equiv \quad \left(X \vee O\right) \iff \left(O \implies F\right). Bestimmen sie die Wahrheitswerte (f oder w) von D und tragen diese in die Felder ein.
X | w | w | w | w | f | f | f | f |
O | w | w | f | f | w | w | f | f |
F | w | f | w | f | w | f | w | f |
D |
Gegeben sind die Aussagen H,{} S,{} F sowie die verknüpfte Aussage P mit
P \quad \equiv \quad \left(H \implies \neg S\right) \wedge \neg \left(S \vee F\right). Bestimmen sie die Wahrheitswerte (f oder w) von P und tragen diese in die Felder ein.
H | w | w | w | w | f | f | f | f |
S | w | w | f | f | w | w | f | f |
F | w | f | w | f | w | f | w | f |
P |
Gegeben sind die Aussagen V,{} Y,{} Q sowie die verknüpfte Aussage K mit
K \quad \equiv \quad \neg \left(V \iff \neg Y\right) \wedge \neg \left(\neg Y \vee Q\right). Bestimmen sie die Wahrheitswerte (f oder w) von K und tragen diese in die Felder ein.
V | w | w | w | w | f | f | f | f |
Y | w | w | f | f | w | w | f | f |
Q | w | f | w | f | w | f | w | f |
K |
Gegeben sind die Aussagen I,{} T,{} D sowie die verknüpfte Aussage E mit
E \quad \equiv \quad \neg \left(I \wedge T\right) \iff \neg \left(T \implies D\right). Bestimmen sie die Wahrheitswerte (f oder w) von E und tragen diese in die Felder ein.
I | w | w | w | w | f | f | f | f |
T | w | w | f | f | w | w | f | f |
D | w | f | w | f | w | f | w | f |
E |
Gegeben sind die Aussagen O,{} L,{} Z sowie die verknüpfte Aussage Q mit
Q \quad \equiv \quad \neg \left(O \wedge \neg L\right) \vee \neg \left(\neg L \iff Z\right). Bestimmen sie die Wahrheitswerte (f oder w) von Q und tragen diese in die Felder ein.
O | w | w | w | w | f | f | f | f |
L | w | w | f | f | w | w | f | f |
Z | w | f | w | f | w | f | w | f |
Q |
Gegeben sind die Aussagen Y,{} H,{} N sowie die verknüpfte Aussage Z mit
Z \quad \equiv \quad \neg \left(Y \implies H\right) \vee \left(H \iff N\right). Bestimmen sie die Wahrheitswerte (f oder w) von Z und tragen diese in die Felder ein.
Y | w | w | w | w | f | f | f | f |
H | w | w | f | f | w | w | f | f |
N | w | f | w | f | w | f | w | f |
Z |
Gegeben sind die Aussagen C,{} D,{} J sowie die verknüpfte Aussage U mit
U \quad \equiv \quad \neg \left(C \wedge D\right) \vee \left(D \iff J\right). Bestimmen sie die Wahrheitswerte (f oder w) von U und tragen diese in die Felder ein.
C | w | w | w | w | f | f | f | f |
D | w | w | f | f | w | w | f | f |
J | w | f | w | f | w | f | w | f |
U |
15.5 Kommutativität, Assoziativität und Distributivität
Um sicherer mit den Verknüpfungen umzugehen, ist es notwendig einige Rechenregeln zu kennen.
- Konjunktion und Disjunktion sind kommutativ:
- Konjunktion und Disjunktion sind assoziativ:
- Distributivgesetze (analog zu a\cdot (b+c) = a\cdot b + a\cdot c):
- Absorptionsgesetze:
- Neutralitätsgesetze:
15.6 Quantoren
Für Aussageformen gibt es zwei Quantoren, die aus einer Aussageform eine Aussage machen. Sie legen fest, ob eine Aussageform bezüglich einer Grundmenge eine Lösung besitzt oder ob nicht beziehungsweise ob sie allgemeingültig ist.
15.6.1 Der Existenzquantor \exists
- es gibt (Symbol: \exists) (Existenzquantor)
15.6.2 Der Allquantor \forall
- für alle (Symbol: \forall) (Allquantor)
Beispiel:
Gegeben ist wieder die Aussageform A: 2n + 1 = 5, wobei die Grundmenge die natürlichen Zahlen \mathbb{N} sind. Mit Hilfe der beiden Quantoren können nun die folgenden Aussagen formuliert werden:
\forall n\, A(n):: ,,Für alle natürlichen Zahlen n ist 2n +1 = 5.’’
ist offensichtlich nicht wahr und die Aussage \forall n\, A(n) ist eine falsche Aussage.\exists n\, A(n): ,,Es gibt / existiert eine natürliche Zahl n für die 2n+1 = 5 ist.’’
ist hingegen eine wahre Aussage, da für n = 2 die Aussage stimmt.
Beispiel:
Gibt man die beiden folgenden Aussageformen vor: A(x): x ist ein Säugetier, B(x): x ist ein Hund. Was sind die folgenden Aussagen (wie spricht man sie aus?) und welchen Wahrheitswert haben sie? Die Grundmenge auf die sich die Aussageformen beziehen, sollen alle Tiere sein.
- \bigvee\limits_x (A(x) \implies B(x))
- \bigwedge\limits_x (A(x) \implies B(x))
- \bigvee\limits_x (B(x) \implies A(x))
- \bigwedge\limits_x (B(x) \implies A(x))
Lösung:
- Es gibt Säugetiere, die Hunde sind (wahr)
- Alle Säugetiere sind Hunde (falsch)
- Es gibt Hunde die sind Säugetiere (wahr)
- Alle Hunde sind Säugetiere (wahr)
15.7 Übersicht Aussagenlogik
Name | Ausprägung | R | # | Anwendung | Aussprache |
---|---|---|---|---|---|
Wahrheitswert | wahr, w |
TRUE , T
|
0 | wahr | |
falsch, f |
FALSE , F
|
0 | falsch | ||
Negation (NOT) | \neg | ! |
1 | \neg A | nicht A |
Konjunktion (AND) | \wedge | & |
2 | A \wedge B | A und B |
Disjunktion (OR) | \vee | | |
2 | A \vee B | A oder B |
Implikation | \implies | 2 | A \implies B | A impliziert B | |
wenn A dann B | |||||
A ist hinreichend für B | |||||
B ist notwendig für A | |||||
Äquivalenz | \iff | 2 | A \iff B | A äquivalent B | |
A gilt genau dann wenn B gilt | |||||
A notw. und hinr. für B | |||||
Allaussage | \forall, \bigwedge | all() |
1 | \forall x, \bigwedge_x | für alle x |
für jedes x | |||||
Existenzaussage | \exists, \bigvee | any() |
1 | \exists x, \bigvee_x | es existiert mind. ein x |
Auflösung: Lügende Politiker
Zu guter Letzt wollen wir das Einstiegsbeispiel auflösen. Dazu müssen wir die Sätze des Politikers in Aussagen übersetzen.
- ,,Die Vollbeschäftigung wird erhalten oder die Steuern dürfen nicht erhöht werden.’’
- ,,Wenn sich Politiker um die Bevölkerung kümmern, müssen die Steuern angehoben werden.’’
- ,,Die Politiker kümmern sich um die Bevölkerung oder die Vollbeschäftigung kann nicht erhalten werden.’’
- ,,Es stimmt nicht, dass die Erhaltung der Vollbeschäftigung eine Steuererhöhung zur Folge haben muss.’’
In den Sätzen des Politikers kommen 3 Aussagen vor (über deren Wahrheitswert wir erstmal nichts wissen):
- V: Vollbeschäftigung erhalten,
- S: Steuern erhöhen,
- P: Politiker kümmern sich.
Diese können jeweils wahr oder falsch sein, womit wir insgesamt 2^3 = 8 verschiedene Möglichkeiten betrachten müssen.
Übersetzt man die Sätze des Politikers in mathematische Ausssagen, so ergibt sich:
- A_1: \, V \vee \neg S
- A_2: \, P \implies S
- A_3: \, P \vee \neg V
- A_4: \, \neg(V \implies S)
Wir erzeugen nun eine Wahrheitstabelle mit allen acht Möglichkeiten. Die Schritte, wie man zu den Wahrheitswertn der Spalten A_1 bis A_4 kommt, haben wir aus Platzgründen weggelassen. Es ist allerdings eine gute Übung sich diese zu überlegen.
V | P | S | A_1 | A_2 | A_3 | A_4 | \bigwedge A_i |
---|---|---|---|---|---|---|---|
w | w | w | w | w | w | f | f |
w | w | f | w | f | w | w | f |
w | f | w | w | w | f | f | f |
w | f | f | w | w | f | w | f |
f | w | w | f | w | w | f | f |
f | w | f | w | f | w | f | f |
f | f | w | f | w | w | f | f |
f | f | f | w | w | w | f | f |
Die letzte Spalte Dies bedeutet, dass es vollkommen egal ist welche Wahrheitswerte die einzelnen Aussagen (V, P, S) haben, der Politiker kann in keinem der Fälle die Wahrheit sagen!