Checkmark on Circle.png

Aussagenlogik

Aus KGS-Wiki

Die Aussagenlogik ist ein Teilgebiet der Informatik und Logik, das sich mit Aussagen und ihren Beziehungen untereinander beschäftigt. Wenn wir allgemein von Aussagenlogik sprechen, meinen wir in der Regel die nach ihrem Erfinder George Boole benannte Boolesche Logik. In der Booleschen Logik ist eine Aussage ein Satz, der entweder wahr oder falsch ist. Wahr und Falsch werden auch als Wahrheitswerte bezeichnet, auf Englisch nach ihrem Erfinder als boolean.

💬
Beispiel

Heute ist Dienstag. ist eine Aussage, die ist.

Mach bitte die Tür zu. ist eine Aufforderung, keine Aussage.

Aussagen können mit logischen Operatoren verknüpft werden.

Logisches Nicht (Negation)

Logisches Nicht
falsch wahr
wahr falsch
Wahrheitstabelle für das Logische Nicht

Wenn man eine Aussage mit Nicht () negiert, entsteht eine neue Aussage , die genau dann wahr ist, wenn falsch ist.

💬
Beispiel

Heute ist nicht Dienstag. ist eine negierte Aussage. Die nicht-negierte Aussage ist: Heute ist Dienstag.

Nur wenn die Aussage Heute ist Dienstag falsch ist, ist die Negation Heute ist nicht Dienstag wahr.

In vielen Programmiersprachen wird das Logische Und durch ein Ausrufezeichen ! dargestellt, etwa in Java oder C. In anderen Sprachen wie Python wird dafür das Schlüsselwort not verwendet.

In Scratch gibt es für das Logische Und den Block <nicht <>>.

Logisches Und (Konjunktion)

Logisches Und
falsch falsch falsch
falsch wahr falsch
wahr falsch falsch
wahr wahr wahr
Wahrheitstabelle für das Logische Und

Wenn man zwei Aussagen und mit Und () verknüpft, entsteht eine neue Aussage , die genau dann wahr ist, wenn wahr ist und wahr ist. Sobald eine der beiden Aussagen falsch ist, ist auch die Gesamtaussage falsch.

💬
Beispiel

Heute ist Dienstag und ich habe eine Katze. ist eine Aussage, die aus zwei Einzelaussagen besteht, die mit einem und verbunden sind. Die einzelnen Aussagen sind: Heute ist Dienstag und Ich habe eine Katze.

Nur wenn beide dieser Aussagen wahr sind, ist die Gesamtaussage wahr. Wenn heute Mittwoch wäre, ich aber eine Katze hätte, wäre die Gesamtaussage trotzdem falsch.

In vielen Programmiersprachen wird das Logische Und durch zwei &-Zeichen dargestellt, etwa in Java oder C. In anderen Sprachen wie Python wird dafür das Schlüsselwort and verwendet.

In Scratch gibt es für das Logische Und den Block <<> und <>>.

Logisches Oder (Disjunktion)

Logisches Oder
falsch falsch falsch
falsch wahr wahr
wahr falsch wahr
wahr wahr wahr
Wahrheitstabelle für das Logische Oder

Wenn man zwei Aussagen und mit Oder () verknüpft, entsteht eine neue Aussage , die genau dann wahr ist, wenn mindestens eine der Aussagen und wahr ist. Nur wenn beide Aussagen falsch sind, ist auch die Gesamtaussage falsch.

💬
Beispiel

Ich trinke Kaffee oder ich trinke Tee. ist eine Aussage, die aus zwei Einzelaussagen besteht, die mit einem oder verbunden sind. Die einzelnen Aussagen sind: Ich trinke Kaffee und Ich trinke Tee. Sobald eine dieser Aussagen wahr ist, ist die Gesamtaussage wahr. Wenn ich die Barbarei beginge, gleichzeitig Kaffee und Tee zu trinken, würde die Aussage trotzdem nicht falsch werden.

In vielen Programmiersprachen wird das Logische Oder durch zwei |-Zeichen dargestellt, etwa in Java oder C. In anderen Sprachen wie Python wird dafür das Schlüsselwort or verwendet. In Scratch gibt es für das Logische Oder den Block <<> oder <>>.

⚠️
Achtung

In der Umgangssprache meinen wir mit dem Wort oder in der Regel nicht das Logische Oder, sondern das Exklusiv-Oder. Wir erwarten dann, dass die Aussage Es regnet oder es ist Dienstag. genau dann wahr ist, wenn es regnet oder Dienstag ist, aber nicht beides gleichzeitig zutrifft.

Fun fact: Im Lateinischen gibt es dafür zwei unterschiedliche Wörter: vel[22] für das Logische Oder und aut[44] für das Exklusiv-Oder.

Exklusiv-Oder

Exklusiv-Oder
falsch falsch falsch
falsch wahr wahr
wahr falsch wahr
wahr wahr falsch
Wahrheitstabelle für das Exklusiv-Oder

Wenn man zwei Aussagen und mit Exklusiv-Oder (abgekürzt xor) (, in manchen Büchern auch ) verknüpft, entsteht eine neue Aussage , die genau dann wahr ist, wenn entweder wahr ist oder wahr ist, aber nicht beide. Sobald beide Aussagen denselben Wahrheitsgehalt haben, ist auch die Gesamtaussage falsch.

💬
Beispiel

Ich habe eine Katze xor ich habe einen Hund. ist eine Aussage, die aus zwei Einzelaussagen besteht, die mit einem xor verbunden sind. Die einzelnen Aussagen sind: Ich habe eine Katze und Ich habe einen Hund.

Nur wenn genau eine dieser Aussagen wahr ist, ist die Gesamtaussage wahr. Wenn ich überhaupt kein Haustier oder sowohl eine Katze als auch einen hund hätte, wäre die Gesamtaussage falsch.

In vielen Programmiersprachen wird das Logische Und durch ein ^-Zeichen dargestellt, etwa in Java, C oder Python.

In Scratch gibt es für das Exklusiv--Oder keinen eigenen Block. Stattdessen muss man sich mit Konstruktionen wie <<<a> und <nicht <b>>> oder <<nicht <a>> und <b>>> behelfen.

Implikation

Implikation
falsch falsch wahr
falsch wahr wahr
wahr falsch falsch
wahr wahr wahr
Wahrheitstabelle für die Implikation

Wenn man zwei Aussagen und mit Wenn, Dann () verknüpft, entsteht eine neue Aussage , die genau dann wahr ist, wenn und wahr sind oder wenn falsch ist. Klingt unintuitiv, ist aber so. Die Idee dahinter ist, dass die Implikation nichts darüber aussagt, falls die Annahme falsch ist. Dazu sagt man: Ex falso quodlibetAus etwas Falschem [kann man schlussfolgern,] was man will.

💬
Beispiel

Wenn es regnet, wird die Erde nass. ist eine Aussage, die aus zwei Einzelaussagen besteht, die mit einem wenn, dann verbunden sind. Die einzelnen Aussagen sind: Es regnet und Die Erde wird nass.

Wenn beide dieser Aussagen wahr sind, ist die Gesamtaussage wahr. Wenn aber die Annahme Es regnet falsch ist, heißt das nicht, dass die Schlussfolgeurng Die Erde wird nass falsch sein muss. Die Erde kann auch aus anderen Gründen nass sein. Die Gesamtaussage wird in dem Fall aber nicht ungültig.

Die Implikation spielt vor allem in der Theoretischen Informatik eine Rolle, nicht beim Programmieren. Wenn man beim Programmieren eine Implikation ausdrücken möchte, muss man die Implikation z.B. als umschreiben, also als !a || b, not a or b oder <<nicht <>> oder <>>.

Äquivalenz

Äquivalenz
falsch falsch wahr
falsch wahr falsch
wahr falsch falsch
wahr wahr wahr
Wahrheitstabelle für die Äquivalenz

Wenn man zwei Aussagen und mit Genau dann, wenn () verknüpft, entsteht eine neue Aussage , die genau dann wahr ist, wenn und denselben Wahrheitswert haben. Wenn man umgangssprachlich wenn sagt, meint man meistens genau dann, wenn.

💬
Beispiel

Man formuliert oft Implikationen wie Ruf mich, wenn du Hilfe brauchst. Streng genommen entspricht man dieser Bitte auch, wenn man ohne ein Hilfebedürfnis ruft, denn ex falso quodlibet.

Was man meint ist: Ruf mich genau dann, wenn du Hilfe brauchst, denn das bedeutet auch: Ruf mich nicht, wenn du keine Hilfe brauchst.

Die Äquivalenz spielt vor allem in der Theoretischen Informatik eine Rolle, nicht beim Programmieren. Beim Programmieren kann man sich damit{ behelfen, dass die Äquivalenz auch die Gleichheit zweier Wahrheitswerte ist, und einfach den Gleichheitsoperator == benutzen.

Weblinks