Bevor wir nach Athen aufbrechen, hier ein Satz von der Art, wie man ihn in den Nachrichten hören kann. Ein Politiker erklärt:
„Es gilt die Unschuldsvermutung. Für einen gewöhnlichen Bürger ist sie heilig und unantastbar. Für einen Politiker gilt jedoch die Schuldvermutung.“
Ist das eine einzige Aussage? Welche Teile sind Behauptungen, über deren Wahrheit man entscheiden kann, und welche drücken nur eine Wertung aus oder erteilen einen Befehl?
Eine mögliche Analyse– wenn du es dir überlegt hast
Es sind drei Sätze, jeder von anderer Art. „Es gilt die Unschuldsvermutung“ ist eine Behauptung, die sich am Gesetz überprüfen lässt. „Sie ist heilig und unantastbar“ ist eine Wertung: Über die Wahrheit eines solchen Satzes kann man nicht entscheiden, man kann ihm nur zustimmen oder widersprechen. „Für einen Politiker gilt die Schuldvermutung“ ist als Beschreibung des Rechts eine falsche Behauptung; meint der Sprecher es als Forderung („es sollte gelten“), dann ist es gar keine Aussage.
Genau so würde Aristoteles fragen: Welche Teile des Gesagten sind Behauptungen, und was folgt wirklich aus ihnen?
II
IdeeDie Logik begann als Regeln für die Rede.
Schon das Wort Logik kommt vom griechischen logos – Wort, Rede, Vernunft, Rechnung. Die Logik begann also als Regeln für die Rede. Das ist der erste Hinweis darauf, warum später Sprachwissenschaftler in ihre Geschichte eintreten.
Das ganze Kapitel in einem Satz: Die Logik begann als Regeln richtigen Redens, die Stoiker machten daraus ein Rechnen mit der Wahrheit, Boole machte aus der Wahrheit die Zahl 1 und aus der Falschheit die 0, und Shannon baute daraus Schaltungen. An jeder Station siehst du, wo du der Idee heute im Code begegnest.
„Im Gegenteil“, fuhr Dideldei fort, „wenn es so war, könnte es sein; und wenn es so wäre, würde es sein; aber da es nicht so ist, ist es nicht. Das ist Logik.“— Lewis Carroll, Alice hinter den Spiegeln, 1871
III
FormelDer Weg des Kapitels.
DER WEG DES KAPITELS
Rede ⟶ Aussage ⟶ {0, 1} ⟶ Schaltung
Die Logik begann bei den Rednern und endete im Prozessor.
I
STATION I · 4. JAHRHUNDERT V. CHR. · ATHEN
Aristoteles: Wann folgt ein Schluss wirklich?
I
FrageFolgt es, oder klingt es nur gut?
Wie erkennt man, dass ein Schluss wirklich folgt und nicht bloß überzeugend klingt?
Im Athen des 5. und 4. Jahrhunderts v. Chr. entschied über alles die Rede: in der Volksversammlung, vor Gericht, wo man sich selbst verteidigte, und auf der Agora. Die Sophisten lehrten gegen Geld, wie man einen Streit gewinnt, nicht, wie man recht hat. Platon warf ihnen das vor, und sein Schüler Aristoteles stellte eine genauere Frage: Gibt es Regeln, nach denen man mechanisch erkennen kann, dass ein Argument gültig ist, unabhängig davon, wer es vorbringt und wie schön?
Drei Fragen, aus denen die Logik erwuchs
Wie erkennt man, ob ein Schluss wirklich aus den Prämissen folgt?
Wie leitet man aus allgemeinen Behauptungen einen Schluss über einen Einzelfall ab?
Wie unterscheidet man ein gültiges Argument von einem, das nur überzeugend wirkt?
II
MenschSchüler Platons, Lehrer Alexanders.
Aristoteles (384–322 v. Chr.) schrieb seine Antwort in Werken nieder, die seine Schüler später Organon nannten – „das Werkzeug“. Die Logik war für ihn keine Wissenschaft über die Welt, sondern ein Werkzeug für alle anderen Wissenschaften. Genau so benutzt sie heute ein Programmierer.
ORGANON4. JH. V. CHR.Aristoteles: Organon. Sechs logische Schriften, darunter die Kategorien, die Lehre vom Satz und die Erste Analytik, in der er zum ersten Mal den Syllogismus beschrieb.
METAPHYSIK4. JH. V. CHR.Aristoteles: Metaphysik. In Buch IV verteidigt er den Satz vom Widerspruch als „das sicherste aller Prinzipien“ und formuliert den Satz vom ausgeschlossenen Dritten.
III
IdeeGültigkeit ist eine Frage der Form.
Die Entdeckung des Aristoteles: Ob ein Argument gültig ist, hängt nicht davon ab, worüber wir sprechen, sondern von seiner Form. Deshalb begann er statt Wörtern Buchstaben zu schreiben – die allererste Verwendung von Variablen in der Geschichte der Logik, zweitausend Jahre vor der Algebra.
Der Syllogismus: der erste Algorithmus des Denkens
klicke auf die Karten
Klicke auf die erste Prämisse.
Der Kreis „Menschen“ liegt ganz im Kreis „Sterbliche“. Wer in ihm ist, ist auch im großen.
// erste Prämisse: die Regel
if (human(x)) mortal(x) = true;
// zweite Prämisse: die Daten
human("Socrates") == true;
// Schluss
mortal("Socrates") == true;
Die fliegende Katze: Wahrheit ist nicht dasselbe wie Gültigkeit
Alle Katzen können fliegen. Felix ist eine Katze. ⟹ Felix kann fliegen. Prämisse und Schluss sind Unsinn, und trotzdem ist das Argument logisch gültig: Seine Form ist dieselbe wie bei Sokrates. Würden die Prämissen gelten, müsste auch der Schluss gelten. Die Logik prüft nicht, ob die eingegebenen Wörter wahr sind, sondern ob die innere logische Struktur funktioniert.
Die fliegende Katze
schalte die Prämissen um
Alle Katzen können fliegen.
Felix ist eine Katze.
⟹ Felix kann fliegen.
Garbage in, garbage out: Ein korrektes Programm mit schlechten Daten liefert ein schlechtes Ergebnis. Und umgekehrt bedeutet ein richtiges Ergebnis noch nicht, dass das Programm korrekt ist:
Der betrügerische Syllogismus
suche ein Gegenbeispiel
Alle Katzen sind Säugetiere.
Felix ist ein Säugetier.
⟹ Felix ist eine Katze.
Der Schluss ist wahr. Aber folgt er aus den Prämissen?
Die Gesetze, die Aristoteles für die festesten hielt
In der Metaphysik (Buch IV) begründet Aristoteles, dass das sicherste aller Prinzipien der Satz vom Widerspruch ist: Nichts kann im selben Sinn zugleich sein und nicht sein. Gleich daneben formuliert er den Satz vom ausgeschlossenen Dritten: Von jedem Ding muss man etwas entweder bejahen oder verneinen; dazwischen gibt es nichts. Diese beiden Gesetze sind die Wurzel der zweiwertigen Logik – und damit auch des Typs boolean, der genau zwei Werte hat und nichts dazwischen.
FÜR NEUGIERIGE: PROBIER ES AUS!
Stelle die Tafel für p ∨ ¬p auf. Was kommt in der Ergebnisspalte heraus? Und wie lautet die Verneinung des Satzes „Jede Primzahl größer als 2 ist ungerade“?
Vorsicht: Es ist nicht „Jede… ist gerade“. Aristoteles unterschied konträre Sätze (beide können zugleich falsch sein) von kontradiktorischen (genau einer ist wahr).
Lösung
In der Ergebnisspalte stehen lauter Einsen; es ist eine Tautologie. Die Verneinung: „Es gibt eine Primzahl größer als 2, die gerade ist.“
Eine Kuriosität: In der Lehre vom Satz zögerte Aristoteles selbst, ob der Satz vom ausgeschlossenen Dritten auch für die Zukunft gilt. Ist die Aussage „Morgen wird eine Seeschlacht stattfinden“ schon heute wahr oder falsch?
Ein dritter Wert: Łukasiewicz und NULL– im 20. Jahrhundert griff Jan Łukasiewicz diesen Zweifel mit einer dreiwertigen Logik auf, einer Vorläuferin von NULL in SQL
Um 1920 nahm der polnische Logiker Jan Łukasiewicz (1878–1956) die Seeschlacht des Aristoteles ernst. Zur Wahrheit (1) und Falschheit (0) fügte er einen dritten Wert ½ hinzu: „noch nicht entschieden“. Für eine solche Aussage gilt der Satz vom ausgeschlossenen Dritten nicht: Ist p = ½, dann ist auch p ∨ ¬p nicht wahr.
Die Rechnung ist einfach: Die Negation ist 1 − p (½ bleibt ½), „und“ nimmt den kleineren der beiden Werte, „oder“ den größeren.
p ∧ q
q = 1
q = ½
q = 0
p = 1
1
½
0
p = ½
½
½
0
p = 0
0
0
0
SQL-Datenbanken verwenden eine sehr ähnliche Logik (Kleenes Variante von 1938, die sich nur bei der Implikation unterscheidet). NULL bedeutet „den Wert kennen wir nicht“. Deshalb ergibt NULL = NULL nicht TRUE, sondern UNKNOWN, und eine WHERE-Klausel lässt nur Zeilen durch, deren Ergebnis TRUE ist. Eine klassische Falle: WHERE age >= 18 OR age < 18 liefert keine Studierenden, deren Alter fehlt.
IV
FormelDie Form eines Arguments und die zwei festesten Gesetze.
SYLLOGISMUS
Alle M sind P. S ist M. ⟹ S ist P.
¬(p ∧ ¬p)· p ∨ ¬p
Ob ein Argument gültig ist, hängt nicht davon ab, worüber wir sprechen, sondern von seiner Form.
II
STATION II · 3. JAHRHUNDERT V. CHR. · ATHEN, DIE STOA
Die Stoiker: Eine Aussage ist, was wahr oder falsch ist
die Stoiker und Chrysipp
I
FrageVon welchem Satz kann man sagen „es gilt“?
„Es regnet.“ – „Regnet es?“ – „Möge es regnen!“ Drei Sätze über dieselbe Sache. Bei welchem von ihnen ist es sinnvoll zu fragen, ob er gilt?
Die Antwort der Stoiker
Nur beim ersten. Eine Frage, ein Befehl oder ein Wunsch hat keinen Wahrheitswert, und darum ist keiner von ihnen eine Aussage. Die Aussage entstand also nicht aus der Grammatik, sondern aus der Wahrheit: Sie ist die Art von Äußerung, bei der es sinnvoll ist zu fragen „gilt das?“.
II
MenschChrysipp von Soloi und die Raben auf den Dächern.
Aristoteles arbeitete mit Begriffen (Menschen, Sterbliche). Die Stoiker im 3. Jahrhundert v. Chr., allen voran Chrysipp von Soloi (um 279–206 v. Chr.), begannen mit ganzen Sätzen zu arbeiten. Sie führten den Begriff axíōma ein, der unserer „Aussage“ entspricht, und definierten ihn genau über die Wahrheit: Eine Aussage ist etwas, das entweder wahr oder falsch ist.
Die Stoiker untersuchten auch, wie die Wahrheit eines zusammengesetzten Satzes von der Wahrheit seiner Teile abhängt: „und“, „oder“, „wenn… dann“. Über die Implikation stritten sie so heftig, dass der Dichter Kallimachos geschrieben haben soll, sogar die Raben auf den Dächern krächzten darüber, welche Implikation die richtige sei. Gesiegt hat die Definition von Philon von Megara: Der Satz „wenn A, dann B“ ist nur dann falsch, wenn A gilt und B nicht. Das ist genau die dritte Spalte der heutigen Tafel, 2200 Jahre älter als die Tafel selbst.
Die Bemerkung über die Raben des Kallimachos kennen wir nur von späteren Autoren (Sextus Empiricus). Die logischen Schriften der Stoiker sind nicht erhalten; über Chrysipp wissen wir vor allem aus Diogenes Laertios (Leben und Meinungen berühmter Philosophen, Buch VII).
III
IdeeRechnen mit der Wahrheit ganzer Sätze.
A
B
wenn A, dann B
1
1
1
1
0
0
0
1
1
0
0
1
FÜR NEUGIERIGE: WAS MEINST DU?
Ist die Aussage (2 > 4) ⇒ (2 teilt 4) wahr? Und warum ist im Satz „Wenn eine Zahl durch 6 teilbar ist, ist sie durch 3 teilbar“ die Teilbarkeit durch sechs eine hinreichende und die Teilbarkeit durch drei eine notwendige Bedingung? Finde eine Zahl, die zeigt, dass die Umkehrung nicht gilt.
Lösung
Wahr: Das ist der Fall 0 ⇒ 1, den Philon nicht verbietet. Ein Gegenbeispiel: 3 ist durch drei teilbar, aber nicht durch sechs.
Chrysipp stellte auch fünf grundlegende Schlussregeln auf. Die berühmteste von ihnen kennen wir heute als Modus ponens: Wenn A, dann B. A gilt. ⟹ B gilt.
FÜR NEUGIERIGE: PROBIER ES AUS!
Die Stoiker wussten, dass aus „wenn A, dann B“ folgt „wenn nicht B, dann nicht A“ (die Kontraposition). Überprüfe mit einer Tafel, dass p ⇒ q und ¬q ⇒ ¬p immer denselben Wert haben. Bilde dann die Kontraposition der Definition einer injektiven Funktion: ∀x1, x2 ∈ D(f): (f(x1) = f(x2) ⇒ x1 = x2).
Lösung
Die Spalten sind identisch. Die Kontraposition: ∀x1, x2 ∈ D(f): (x1 ≠ x2 ⇒ f(x1) ≠ f(x2)), das heißt, verschiedene Eingaben liefern verschiedene Ausgaben.
Das Lügner-Paradox: wenn eine Aussage keinen Wahrheitswert hat
Schon im 4. Jahrhundert v. Chr. wurde Eubulides von Milet das Paradox „Diese Aussage ist falsch“ zugeschrieben. Ist sie wahr, ist sie falsch; ist sie falsch, ist sie wahr. Chrysipp soll darüber mehrere Schriften verfasst haben. Das Paradox zeigt die Grenze der Definition einer Aussage: Nicht jeder Aussagesatz ist eine Aussage.
Der Schalter des Lügners
gib dem Satz einen Wert
„Diese Aussage ist falsch.“
?
Der Lügner im 20. Jahrhundert: Gödel und Turing– in moderner Form führt das Paradox zu Gödels Sätzen und zum Halteproblem
Kurt Gödel (1931) baute den Lügner aus Zahlen. Statt „diese Aussage ist falsch“ konstruierte er innerhalb der Arithmetik einen Satz, der sagt „diese Aussage ist nicht beweisbar“. Wäre sie beweisbar, würde das System eine Unwahrheit beweisen. Also muss sie wahr, aber unbeweisbar sein. Das ist der erste Unvollständigkeitssatz: Jedes widerspruchsfreie System, das mit Arithmetik umgehen kann, enthält wahre Aussagen, die sich in ihm nicht beweisen lassen. Der zweite Satz fügt hinzu, dass ein solches System nicht einmal seine eigene Widerspruchsfreiheit beweisen kann.
Alan Turing (1936) übertrug denselben Trick auf Programme. Stell dir eine Funktion halts(program) vor, die für jedes Programm zuverlässig sagt, ob es endet. Dann schreiben wir den Lügner:
function liar() {
if (halts(liar)) while (true) {} // soll ich enden? dann ende ich nicht
else return; // soll ich nicht enden? dann ende ich
}
Was auch immer halts(liar) antwortet, liar tut das Gegenteil. Eine solche Funktion kann es also nicht geben. Deshalb kann kein Werkzeug im allgemeinen Fall alle Endlosschleifen im Code finden, und Linter warnen nur mit „vielleicht“.
IV
FormelModus ponens und die Implikation nach Philon.
MODUS PONENS
[(A ⇒ B) ∧ A]⇒ B
A ⇒ B ist nur für A = 1, B = 0 falsch
Eine Aussage ist die Art von Äußerung, bei der es sinnvoll ist zu fragen: Gilt das?
III
STATION III · 1854 · CORK, IRLAND
George Boole: Logik als Algebra
Leibniz und George Boole
I
FrageCalculemus!
Lassen sich die Gesetze des richtigen Denkens als Algebra aufschreiben?
Gottfried Wilhelm Leibniz (1646–1716) träumte von einer characteristica universalis, einer Sprache, in der Begriffe als Zeichen geschrieben würden, und von einem calculus ratiocinator, einem Kalkül des Denkens. Streitigkeiten würden dann nicht mehr durch Zank entschieden: Zwei Gelehrte würden sich hinsetzen und sagen Calculemus! – „Lasst uns rechnen!“. Leibniz beschrieb auch ausführlich das Dualsystem (1703) mit seinen zwei Ziffern 0 und 1. Logik und Dualsystem verband er aber noch nicht. Das tat anderthalb Jahrhunderte später ein Autodidakt aus Lincoln.
II
MenschEin Schustersohn, der das Denken so beschreiben wollte, wie Newton die Bewegung beschrieb.
George Boole (1815–1864) war der Sohn eines Schuhmachers aus Lincoln; Mathematik brachte er sich selbst bei, und ab seinem 16. Lebensjahr arbeitete er als Lehrer, um seine Familie zu ernähren. Ohne Universitätsabschluss wurde er Professor in Cork in Irland. 1847 veröffentlichte er ein schmales Buch, The Mathematical Analysis of Logic, und 1854 sein Hauptwerk, An Investigation of the Laws of Thought. Daher das Jahr 1854 für dieses Kapitel.
Booles Ziel war nicht, einen Computer zu bauen. Er wollte beschreiben, wie Menschen denken, und zwar so genau, wie Newton die Bewegung beschrieben hatte. Er fand heraus, dass man Argumente wie Gleichungen aufschreiben und umformen kann.
George Boole 1815–1864, Lincoln – Cork
1815Geboren in Lincoln in einer Schuhmacherfamilie.
1831Mit 16 Jahren beginnt er zu unterrichten, um seine Familie zu ernähren.
1847The Mathematical Analysis of Logic.
1849Professor für Mathematik am Queen's College in Cork.
1854An Investigation of the Laws of Thought.
1864Stirbt im Alter von 49 Jahren an einer Lungenentzündung.
BOOLE 18471847George Boole: The Mathematical Analysis of Logic. Ein schmales erstes Buch, in wenigen Wochen geschrieben als Beitrag zum Streit zwischen De Morgan und Hamilton.
BOOLE 18541854George Boole: An Investigation of the Laws of Thought. Sein Hauptwerk. In den Kapiteln 2 und 3 leitet er x2 = x her und daraus das Paar 0 und 1.
Neben Boole wirkte Augustus De Morgan (1806–1871), nach dem die Gesetze ¬(A ∧ B) ⇔ (¬A ∨ ¬B) und ¬(A ∨ B) ⇔ (¬A ∧ ¬B) benannt sind – die, die ein Programmierer jedes Mal benutzt, wenn er !(a && b) in !a || !b umschreibt.
FÜR NEUGIERIGE: PROBIER ES AUS!
Schreibe das so um, dass die Negation nicht vor der Klammer steht: ¬((4 > 2) ∧ (4 < 2)). Ist die ursprüngliche Aussage wahr oder ihre Negation?
Lösung
(4 ≤ 2) ∨ (4 ≥ 2). Die Negation ist wahr, die ursprüngliche Aussage (4 > 2) ∧ (4 < 2) ist falsch.
III
IdeeWoher die 0 und die 1 kamen.
Boole dachte nicht über Aussagen nach, sondern über Klassen von Dingen. Bei ihm konnte der Buchstabe x „weiße Dinge“ bedeuten, y „Schafe“. Das Produkt xy war dann der Durchschnitt: „weiße Schafe“. 1 war das ganze Diskursuniversum, alles, worüber wir sprechen, und 0 die leere Klasse, nichts.
Dann bemerkte er etwas Seltsames. Weiße weiße Dinge sind immer noch nur weiße Dinge, also xx = x, das heißt
x2 = x.
In der gewöhnlichen Algebra hat diese Gleichung nur zwei Lösungen: x = 0 und x = 1. Daraus zog Boole einen Schluss, der die Geschichte veränderte: Die Algebra des Denkens ist die gewöhnliche Algebra, beschränkt auf die Zahlen 0 und 1. In seinem zweiten Buch deutete er dann 1 als „immer“, also Wahrheit, und 0 als „nie“, also Falschheit.
Aus derselben Gleichung leitete Boole auch den Satz vom Widerspruch des Aristoteles her: x − x2 = 0, also x(1 − x) = 0. In Worten: Nichts kann die Eigenschaft x zugleich haben und nicht haben (1 − x). Das älteste Gesetz der Logik fiel als Nebenprodukt aus der Algebra heraus.
Booles Schafe
multipliziere Klassen
Klicke auf x, und die weißen Dinge werden eingefärbt.
FÜR NEUGIERIGE: WAS MEINST DU?
Gibt es eine ganze Zahl, die sich nicht ändert, wenn man sie quadriert? Schreibe die Frage in Symbolen auf und finde alle solchen Zahlen.
Lösung
(∃x ∈ ℤ)(x2 = x). Genau 0 und 1 erfüllen das – Booles Paar. Die ganze Aussagenlogik ruht auf den Zahlen, die sich nicht ändern, wenn man sie mit sich selbst multipliziert.
IV
FormelEine Gleichung mit nur zwei Lösungen.
DIE GESETZE DES DENKENS
x2 = x⟺ x ∈ {0, 1}
x(1 − x) = 0
Die Wahrheit ist 1, die Falschheit 0 – und „und“ ist gewöhnliche Multiplikation.
Wenn die Wahrheit 1 ist und die Falschheit 0, kann man dann die Tafeln für „nicht“, „und“, „oder“ und „wenn“ ausrechnen, statt sie auswendig zu lernen?
Boole zeichnete keine Tafeln; er rechnete mit Gleichungen. Die Tafel als Methode kam erst einige Jahrzehnte später.
II
MenschVier Menschen und eine Tafel.
Gottlob Frege (1879, Begriffsschrift) beschrieb genau, wann eine Implikation wahr ist, indem er alle vier Fälle aufzählte – noch in Worten.
Charles S. Peirce zeichnete um 1893 in einem unveröffentlichten Manuskript eine Matrix, die der heutigen Wahrheitstafel der Implikation entspricht. Sie tauchte erst nach seinem Tod in seinem Nachlass auf.
Ludwig Wittgenstein (Tractatus, 1921) und unabhängig von ihm Emil Post (1921) veröffentlichten die Tafeln und zeigten, dass man mit ihnen bei jeder aussagenlogischen Formel entscheiden kann, ob sie eine Tautologie ist. Wittgenstein definierte eine Tautologie im Grunde als Formel, in deren Ergebnisspalte lauter Wahrheiten stehen.
BEGRIFFSSCHRIFT1879Gottlob Frege: Begriffsschrift. Weniger als hundert Seiten, die erste formale Sprache mit Quantoren.
TRACTATUS1921Ludwig Wittgenstein: Tractatus logico-philosophicus. Ab Abschnitt 4.31: Wahrheitstafeln und die Definition der Tautologie.
Frege misstraute der natürlichen Sprache: Er hielt sie für ungenau und mehrdeutig und schuf deshalb eine eigene Sprache. Wie es mit Logik und Sprache weiterging, erzählt die eigene Seite Sprache und Logik.
III
IdeeRechnen, als wären es Zahlen.
Sobald die Wahrheit 1 und die Falschheit 0 ist, können wir Junktoren als Rechenoperationen betrachten: Wir geben zwei Zahlen ein, 0 oder 1, und erhalten 0 oder 1 zurück. Die Aufgabe: eine Formel finden, die genau in den Zeilen 1 ergibt, in denen die zusammengesetzte Aussage wahr ist. Schritt für Schritt:
Negation. Wir brauchen eine Operation, die 1 in 0 und 0 in 1 verwandelt. Das leistet die Subtraktion von eins: 1 − 1 = 0 und 1 − 0 = 1. Also ¬p = 1 − p.
Konjunktion „p und q“. Sie soll nur gelten, wenn beide Teile gelten. Probieren wir das Produkt: 1 · 1 = 1, 1 · 0 = 0, 0 · 1 = 0, 0 · 0 = 0. Eine einzige Null macht das ganze Produkt zunichte, so wie ein einziger falscher Teil das ganze „und“ zu Fall bringt. Also p ∧ q = p · q.
Disjunktion „p oder q“. Sie soll gelten, wenn mindestens ein Teil gilt. Die erste Idee ist die Summe p + q. Sie funktioniert in drei Zeilen, aber für p = q = 1 ergibt sie 2, und eine 2 gibt es in unserer Welt nicht. Wir beheben das, indem wir den gemeinsamen Teil einmal abziehen: p + q − pq. (Boole selbst schrieb nur x + y und meinte das ausschließende „oder“; für die einschließende Variante setzte sich vor allem W. S. Jevons ein.)
Implikation „wenn p, dann q“. Nach Philon ist sie in einem einzigen Fall falsch: p = 1 und q = 0. Diesen „verbotenen“ Fall schreiben wir als Produkt p(1 − q), das nur dann 1 ist, wenn p = 1 und zugleich q = 0. Die Implikation gilt, wenn der verbotene Fall nicht eingetreten ist, also verneinen wir ihn: p ⇒ q = 1 − p(1 − q).
Äquivalenz „p genau dann, wenn q“. Sie soll gelten, wenn p und q denselben Wert haben. Die Differenz p − q ist 0, wenn sie übereinstimmen, und +1 oder −1, wenn nicht. Das Quadrieren beseitigt das Vorzeichen: (p − q)2 ist 0, wenn sie übereinstimmen, und 1, wenn nicht. Bleibt nur, das Ergebnis umzudrehen: p ⇔ q = 1 − (p − q)2.
Der Wahrheitsrechner
schalte p und q um
p = q =
p
q
1 − p
p · q
p + q − pq
1 − p(1 − q)
1 − (p − q)2
Heraus kommt genau die bekannte Wahrheitstafel, diesmal nicht gelernt, sondern ausgerechnet. Die Tafel ist also ein Algorithmus: Geh alle 2n Kombinationen durch und schau nach. Es ist das erste Entscheidungsverfahren der Logik – und Brute Force in reinster Form.
FÜR NEUGIERIGE: PROBIER ES AUS!
Wie viele Zeilen hat die Tafel für drei Aussagen p, q, r? (Tipp: Jede von ihnen ist eine Lösung von x2 = x.) Und überprüfe ohne Tafel, nur durch Rechnen, dass (p ∧ q) ⇒ p immer gilt. Benutze p · p = p.
Lösung
23 = 8 Zeilen. Und durch Rechnen:
1 − pq(1 − p) = 1 − pq + p2q = 1 − pq + pq = 1,
es ist also eine Tautologie.
IV
FormelDie Implikation als Rechnung.
JUNKTOREN ALS RECHENOPERATIONEN
p ⇒ q= 1 − p(1 − q)
¬p = 1 − p· p ∧ q = pq· p ∨ q = p + q − pq
Die Tafel ist ein Algorithmus: Geh alle 2n Zeilen durch und schau nach.
V
STATION V · 1937 · MIT
Claude Shannon: von Tafeln zu Schaltungen
I
FrageVon der Philosophie zur Technik.
Achtzig Jahre lang war die Boolesche Algebra eine Kuriosität für Philosophen. Kann man daraus eine Maschine bauen?
II
MenschDie Masterarbeit, die die Welt veränderte.
1937 schrieb der einundzwanzigjährige Claude Shannon am MIT seine Masterarbeit A Symbolic Analysis of Relay and Switching Circuits. Er zeigte, dass sich in Reihe geschaltete Schalter wie ∧ verhalten und parallel geschaltete wie ∨. Ein = 1, aus = 0. Von diesem Moment an ließ sich jedes logische Argument aus Drähten bauen. Jeder Prozessor ist ein Haufen Boolescher Gleichungen.
SHANNON 1937MIT, 1937 (IN EINER ZEITSCHRIFT 1938)Claude E. Shannon: A Symbolic Analysis of Relay and Switching Circuits. Die Masterarbeit eines einundzwanzigjährigen Studenten, oft als die einflussreichste Masterarbeit des 20. Jahrhunderts bezeichnet.
III
IdeeIn Reihe ist „und“, parallel ist „oder“.
Zwei Schalter und eine Glühbirne
klicke auf die Schalter
Schaltung 1
A
B
Birne
Schaltung 2
A
B
Birne
Probiere in beiden Schaltungen alle vier Kombinationen aus.
FÜR NEUGIERIGE: LOGIK IN DER DATENBANK
SELECT name, year FROM Student
WHERE age >= 18 AND (year = 1 OR year = 2);
Schreibe die Bedingung als A(x) ∧ (Y1(x) ∨ Y2(x)). Welche Studierenden wählt die Abfrage aus? Und was passiert, wenn du die Klammern weglässt?
Lösung
Volljährige Studierende im 1. und 2. Studienjahr. Ohne Klammern hat AND Vorrang: (A ∧ Y1) ∨ Y2, also kommen auch minderjährige Studierende im 2. Studienjahr hinein. Dasselbe Problem lösen wir in der gesprochenen Sprache mit Kommas.
IV
FormelZwei Schalter, zwei Junktoren.
LOGISCHE SCHALTUNGEN
in Reihe: a · b = a ∧ b
parallel: a + b − ab = a ∨ b
Jeder Prozessor ist ein Haufen Boolescher Gleichungen.
Was wir gesehen haben
Von den Regeln richtigen Redens bis zur Null und Eins im Prozessor.
IAristoteles: Die Gültigkeit eines Arguments hängt von seiner Form ab, nicht vom Inhalt; der Syllogismus, der Satz vom Widerspruch und der Satz vom ausgeschlossenen Dritten.
IIDie Stoiker: Eine Aussage ist etwas, das entweder wahr oder falsch ist; Junktoren, die Implikation nach Philon, der Modus ponens.
IIIBoole: x2 = x, also ist die Wahrheit 1 und die Falschheit 0.
IVTafeln: Junktoren als Rechenoperationen und die Wahrheitstafel als Algorithmus.
VShannon: Eine Reihenschaltung ist ∧, eine Parallelschaltung ∨; Logik aus Drähten.
ZWEITAUSEND JAHRE DENKEN IN ZWEI ZEILEN
x2 = x⟺ x ∈ {0, 1}
p ⇒ q= 1 − p(1 − q)
Was Aristoteles in der Rede suchte, Chrysipp in der Wahrheit und Boole in der Algebra, schreiben wir heute als !p || q.
Wozu man die Logik brauchte
Eine Übersicht für Programmierer.
Zeit
Problem
Antwort der Logik
Wo du ihr im Code begegnest
4. Jh. v. Chr.
Es gewinnt der bessere Redner, nicht die Wahrheit.