Logische Grundlagen der Informatik

Skript zur Vorlesung Theoretische Informatik I

\begin{matrix}c \\ ◯ \end{matrix} Prof. Peter H. Starke

Lehrstuhl für Automaten- und Systemtheorie

Oktober 1995

Vorwort

Warum und zu welchem Ziel studieren wir Theoretische Informatik?

Informatik–Studenten in den ersten Semestern empfinden häufig die Vorlesungen zur Theoretischen Informatik als lästige Zumutung. Sie verstehen die Informatik als eine Wissenschaft des Handelns und Gestaltens und sehen die Theorie als ein Gebirge von Abstraktionen. Sie vergessen dabei, daß mit sinnvollem Handeln und effizientem Gestalten untrennbar das Planen und Entwerfen verbunden sind. Planen und Entwerfen geschieht aber auf der Basis von Modellen, man macht sich ein Modell und spielt seinen Plan daran durch. Geht es um ein größeres Projekt, so muß dieses Modell mitteilbar sein, damit Zusammenarbeit möglich ist. Mitteilbar sein bedeutet aber, daß ein allen Mitarbeitern gemeinsames Netz von Abstraktionen, d. h. ein gemeinsames Begriffssystem, vorhanden ist und ausschließlich genutzt werden muß. Um die angestrebten Ziele des Projektes zu erreichen, muß dieses Begriffssystem präzise Formulierungen ermöglichen. Das einzige Begriffssystem, das diese Forderung erfüllt, ist die abstrakte Begriffswelt der Mathematik. Wie die Physik nutzt die Informatik das mathematische Begriffssystem zur Formulierung ihrer Modelle und der Semantik dieser Modelle.

Deshalb führt diese Vorlesung zunächst in die Mengenlehre als Grundlage der Mathematik ein. Hier geht es auch darum, intuitiv vorhandene Begriffe (wie z. B. dem der Relation) scharf zu präzisieren, d. h. eine Sprachregelung zu treffen, genau zu definieren.

Der Informatiker unterscheidet sich vom Programmierer nicht nur darin, daß er gefundene Lösungen bewerten und gegebenfalls verbessern kann. Zur Bewertung gehört neben dem Beweis, daß das geplante System die gestellte Aufgabe auch wirklich löst, auch der Vergleich der theoretisch erreichbaren mit der praktisch realisierten Effizienz. Wir studieren also in dieser Vorlesung, wie Modelle gebildet werden (wie dieser Abstraktionsprozeß verläuft) und welche Fragen bei der Modellbildung beantwortet werden müssen, welche Hilfe uns die Theorie bei der Anwendung dieser Modelle geben kann. Das geschieht an (im wesentlichen) drei Beispielen.

In der Aussagenlogik geht es um die Wahrheit bzw. Falschheit von Aussagen und Aussagenverbindungen. Unser Modell, der Aussagenkalkül, stellt unsere Vorstellungen auf eine berechenbare Grundlage: Wir können mit Aussagen rechnen, ihre Wahrheit beweisen. Als Hauptaufgabe der Logik betrachten wir dabei, semantische (d.h. inhaltliche) Beziehungen und Begriffe syntaktisch zu charakterisieren.

In der Berechnungstheorie geht es darum, was Computer eigentlich können, also auch darum, was sie nicht können. Wir geben in dieser Vorlesung einen Abschnitt der Berechnungstheorie wieder, der uns beweist, daß es für Computer unlösbare (abstrakte) Probleme gibt. Zu diesen Problemen gehört das Entscheidungsproblem der Prädikatenlogik, d. h. die Frage nach einem Verfahren, mit dessen Hilfe von jeder Aussage über die Elemente einer gewissen Menge festgestellt werden kann, ob diese Aussage richtig ist. Wenn auch ein solches Verfahren (ein Algorithmus) nicht existiert, so kann doch ein Verfahren gefunden werden, das die Richtigkeit richtiger Aussagen bestätigt (für falsche Aussagen aber keine Information liefert).

Spätestens an dieser Stelle bemerkt der Leser, wie ungenaue Formulierungen Verwirrung erzeugen, wie notwendig also ein scharf definiertes Begriffssystem ist. Auch dazu dient uns die Logik (gibt es z. B. einen Unterschied zwischen Wahrheit und Beweisbarkeit?).

Inhaltsverzeichnis

1 Mengen 1

1.1 Mengenbegriff und Elementbeziehung . . . . . . . . . . . . . . . . . 1 1.1.1 Arten von Definitionen . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2 Die Cantorschen ”Definitionen“ . . . . . . . . . . . . . . . . . 2 1.1.3 Die Russellsche Antinomie . . . . . . . . . . . . . . . . . . . . 3 1.1.4 Axiomatische Mengenlehre . . . . . . . . . . . . . . . . . . . 3 1.1.5 Spezielle Mengen . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Mengenalgebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.1 Mengenbeziehungen . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.2 Durchschnitt, Vereinigung und Komplement . . . . . . . . . . 10 1.2.3 Differenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.2.4 Allgem. Durchschnitt/Vereinigung und Potenzmengenbildung 17

1.3 Korrespondenzen, Relationen, Abbildungen . . . . . . . . . . . . . . 18 1.3.1 Geordnetes Paar und Cartesisches Produkt . . . . . . . . . . 18 1.3.2 Korrespondenzen . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.3.3 Relationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.3.4 Abbildungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.4 Äquivalenzrelationen . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.4.1 Äquivalenzrelationen und Zerlegungen . . . . . . . . . . . . . 25 1.4.2 Feinheit von Äquivalenzrelationen . . . . . . . . . . . . . . . 27 1.4.3 Kongruenzrelationen . . . . . . . . . . . . . . . . . . . . . . . 28

1.5 Natürliche Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.5.1 Gleichmächtigkeit . . . . . . . . . . . . . . . . . . . . . . . . 30 1.5.2 Der Endlichkeitsbegriff . . . . . . . . . . . . . . . . . . . . . . 30 1.5.3 Die Menge der natürlichen Zahlen . . . . . . . . . . . . . . . 33

1.6 Wörter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.6.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1.6.2 Induktive Beweise in [W (X) ,^{⌢}, e, X] . . . . . . . . . . . . 40 1.6.3 Induktionsbeweise in Algebren [M, Φ, E] . . . . . . . . . . . 42 1.6.4 Induktive Definitionen . . . . . . . . . . . . . . . . . . . . . . 42

1.7 Sprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 1.7.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 1.7.2 Beispiel: Sprache der Mengengleichungen . . . . . . . . . . . 46 1.7.3 Weitere Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . 47

2 Aussagenlogik 49 2.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.2 Syntax und Semantik des Aussagenkalküls . . . . . . . . . . . . . . . 51

2.2.1 Aufbau des Kalküls — Syntax . . . . . . . . . . . . . . . . . 51 2.2.2 Semantik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.2.3 Weitere semantische Begriffe . . . . . . . . . . . . . . . . . . 54

2.3 Anwendung in der Schaltalgebra . . . . . . . . . . . . . . . . . . . . 56 2.3.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.3.2 Optimierte Schaltungen . . . . . . . . . . . . . . . . . . . . . 58

2.4 Folgern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.4.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.4.2 Beweis des Endlichkeitssatzes für das Folgern . . . . . . . . . 64 2.4.3 Ableitbarkeits- und Deduktionstheorem . . . . . . . . . . . . 66 2.4.4 Der Kalkülbegriff . . . . . . . . . . . . . . . . . . . . . . . . . 67

2.5 Aussagenlogisches Schließen . . . . . . . . . . . . . . . . . . . . . . . 68 2.5.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.5.2 Nützliche aussagenlogische Schlußweisen . . . . . . . . . . . . 69 2.5.3 Das Haubersche Theorem . . . . . . . . . . . . . . . . . . . 71

2.6 Ableitbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.6.1 Ableiten mit Abtrennungs- und Einsetzungsregel . . . . . . . 71 2.6.2 Syntaktische Charakterisierung von ag . . . . . . . . . . . . . 77 2.6.3 Cut–Ableitbarkeit . . . . . . . . . . . . . . . . . . . . . . . . 80 2.6.4 Syntaktisches Entscheidungsverfahren für ag . . . . . . . . . 86

2.7 Widerspruchsfreiheit, Vollständigkeit, . . . . . . . . . . . . . . . . . . 87 2.7.1 Widerspruchsfreiheit . . . . . . . . . . . . . . . . . . . . . . . 87 2.7.2 Vollständigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . 89 2.7.3 Nichtableitbarkeit . . . . . . . . . . . . . . . . . . . . . . . . 91

2.8 Dualitätstheoreme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

3 Berechnungstheorie 97 3.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.2 Axiomatische Charakterisierung . . . . . . . . . . . . . . . . . . . . . 99

3.2.1 Anfangsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . 99 3.2.2 Substitution und primitive Rekursion . . . . . . . . . . . . . 100 3.2.3 Beispiele für primitiv–rekursive Funktionen . . . . . . . . . . 101 3.2.4 Die Peterfunktion . . . . . . . . . . . . . . . . . . . . . . . . 103 3.2.5 Minimum-Operator und partiell-rekursive Funktionen …. 104 3.3 Der Maschinen–Ansatz . . . . . . . . . . . . . . . . . . . . . . . . . . 106

3.3.1 Die Turing–Maschine . . . . . . . . . . . . . . . . . . . . . . . 106 3.3.2 Bausteine für Turing–Maschinen . . . . . . . . . . . . . . . . 107

3.4 Äquivalenz der Berechenbarkeitsbegriffe . . . . . . . . . . . . . . . . 110 3.4.1 Partiell–rekursive Funktionen sind Turing–berechenbar …. 110 3.4.2 Turing–berechenbare Funktionen sind partiell–rekursiv …. 113

3.5 Folgerungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

4 Prädikatenlogik 123 4.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.2 Syntax und Semantik des Prädikatenkalküls . . . . . . . . . . . . . . 126

4.2.1 Die Sprache des Prädikatenkalküls der ersten Stufe . . . . . . 126 4.2.2 Einige syntaktische Eigenschaften . . . . . . . . . . . . . . . . 127 4.2.3 Semantik elementarer Sprachen . . . . . . . . . . . . . . . . . 129 4.2.4 Weitere semantische Begriffe . . . . . . . . . . . . . . . . . . 131

4.3 Die Unentscheidbarkeit des Prädikatenkalküls . . . . . . . . . . . . . 133 4.4 Lösbare Fälle des Entscheidungsproblems . . . . . . . . . . . . . . . 137

4.4.1 Klassenkalkül . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.4.2 Aussagenlogische Erfüllbarkeit und Gültigkeit . . . . . . . . . 140

4.5 Folgern und Ableiten . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 4.5.1 Folgern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 4.5.2 Ableiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

4.6 Prädikatenlogisches Schließen . . . . . . . . . . . . . . . . . . . . . . 145 4.7 Widerlegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

4.7.1 Klauselbildung . . . . . . . . . . . . . . . . . . . . . . . . . . 147 4.7.2 Herbrand–Modell . . . . . . . . . . . . . . . . . . . . . . . . . 150

4.8 Unifikation und Resolution . . . . . . . . . . . . . . . . . . . . . . . 151 4.8.1 Substitution und Unifikation . . . . . . . . . . . . . . . . . . 152 4.8.2 Berechnung eines allgemeinsten Unifikators . . . . . . . . . . 152 4.8.3 Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

4.9 Logische Programmierung . . . . . . . . . . . . . . . . . . . . . . . . 156 4.9.1 Prolog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 4.9.2 Ein abstrakter Interpreter . . . . . . . . . . . . . . . . . . . . 159 4.9.3 Die Auswertungsstrategie von Prolog . . . . . . . . . . . . . . 160

Literaturverzeichnis 161

Kapitel 1

Mengen

Die Mengenlehre gilt als Fundament der Mathematik, weil sich alle mathematischen Begriffe, wie z. B. der Zahlenbegriff, der Funktionsbegriff und der Relationsbegriff, auf mengentheoretische Begriffe zurückführen lassen. Dabei bedeutet ”zurückführen“ dasselbe wie definieren. In die Denk- und Vorgehensweise der theoretischen Informatik einzudringen ist daher unmöglich, ohne sich mit der Begriffswelt der Mathematik und insbesondere ihres Fundaments, der Mengenlehre, vertraut zu machen. Insofern gehört die Mengenlehre zu den logischen Grundlagen der Informatik.

1.1 Mengenbegriff und Elementbeziehung

In diesem Abschnitt verfolgen wir das Ziel, den Mengenbegriff zu definieren. Dazu müssen wir uns zunächst Rechenschaft darüber ablegen, was wir unter einer Definition verstehen wollen.

1.1.1 Arten von Definitionen

1. explizite Definitionen Das zu definierende Objekt kommt im definierenden Ausdruck nicht vor.

(a) Definition durch Aufzählung

Beispiel

• Die Menge der Ziffern besteht aus den Elementen 0, 1, …, 9 (b) Definition durch Angabe einer charakteristischen Eigenschaft

Beispiele

• Die Menge aller Quadratzahlen ist die Menge aller x mit: x ist ganze Zahl und es gibt eine ganze Zahl y mit: y · y = x

• Die Menge aller Primzahlen ist die Menge aller n mit: n besitzt genau zwei Teiler (1 und n)

Nachteile:

• Aufzählung ist unmöglich bei unendlichen Mengen

• charakteristische Eigenschaft setzt andere Begriffe voraus

2. implizite Definitionen Das zu definierende Objekt kommt im definierenden Ausdruck vor.

(a) rekursive (induktive) Definition

Beispiele

• Die Fakultätsfunktion n! ist induktiv definiert – 0! = 1

– (n + 1)! = (n + 1)n!

• Die Folge (a_{i})_{i=0,1,...} von natürlichen Zahlen wird definiert durch – a_{0} = 0

– a_{i+1} = a_{i} + 2i + 1 = a_{i} + i + i + 1 ⇒ eine induktive Definition beschreibt den Aufbau aus (elementaren) Objekten mittels (elementarer) Operationen.

(b) Axiomatische Charakterisierung Angabe eines Systems von Aussagen, welche die zu charakterisierenden Grundbegriffe in Beziehung setzen. Beispiele

• Hilberts Axiomatisierung der Geometrie

• Definition der natürlichen Zahlen nach Peano

Definitionen sind nicht wahr oder falsch (höchstens unzweckmäßig), bedürfen aber einer Rechtfertigung hinsichtlich der Frage, ob wenigstens ein Objekt der definierten Art überhaupt existiert.

Bei expliziten Definitionen ist dies i. a. klar: wenn die Elemente 0, 1, …, 9 existieren, so existiert die Menge der Ziffern. Ganz offen ist dieses Problem bei der axiomatischen Charakterisierung; hierbei geht es doch um die Frage, ob es ein Modell des Axiomensystems gibt, d. h. Objekte, bei denen alle Aussagen dieses Systems wahr sind. (Dann nennt man dieses System widerspruchsfrei.)

1.1.2 Die Cantorschen ”Definitionen“:

Der naive Mengenbegriff

Der Mengenbegriff gilt als der Grundbegriff der Mathematik in dem Sinne, daß sich alle übrigen mathematischen Begriffe auf der Basis der Begriffe der Menge und der Elementbeziehung exakt begründen lassen. Dementsprechend ist eine explizite Definition des Begriffs ”Menge“ nicht möglich, denn eine explizite Definition eines Begriffes bedeutet immer, daß dieser Begriff auf andere (grundlegendere) Begriffe zurückgeführt wird.

Die Mengenbildung hat zwei Aspekte:

• operativ-praktischer Aspekt: Äpfel in den Korb legen, Perlen auffädeln ⇒ Zusammenfassen

• Abstraktionsaspekt:

Schaffung eines neuen Objektes, Absehen von der Individualität der Elemente, gemeinsame Eigenschaft.

Georg Cantor begründete gegen Ende des vorigen Jahrhunderts die Theorie beliebiger Mengen von Dingen, die Mengenlehre, mit der folgenden intuitiven (naiven) Umschreibung:

Erklärung 1 (G. Cantor)

Eine Menge M ist eine Zusammenfassung von bestimmten wohlunterschiedenen Objekten unserer Anschauung oder unseres Denkens, welche Elemente der Menge M genannt werden, zu einem Ganzen.

Wenn wir den Abstraktionsaspekt stärker betonen wollen, können wir diese Erklärung wie folgt präzisieren:

Erklärung 2 Zu jeder Eigenschaft H der wohlunterschiedenen Objekte unserer Anschauung und unseres Denkens existiert eine Menge M derart, daß für jedes Objekt x gilt:

x ist Element von M

x∈M

genau dann, wenn x die Eigenschaft H hat

H(x)

Als abkürzende Schreibweisen benutzen wir künftig:

• x ∈ M für ”x ist ein Element von M“

• x ∉ M für ”x ist kein Element von M“

• H (x) für ”x hat die Eigenschaft H“

• {x|H(x)} für ”die Menge aller x mit H(x)“

Die geschweiften Klammern werden zur Bezeichnung von Mengen reserviert.

1.1.3 Die Russellsche Antinomie

Wenn wir die Erklärung 1 (oder 2) zur Grundlage eines Aufbaus der Mengenlehre (bzw. der Mathematik) verwenden wollen, müssen wir uns nach der Widerspruchsfreiheit dieser Erklärung (dieses Axioms) fragen. Russell, ein englischer Philosoph und Mathematiker, zeigte uns um die Jahrhundertwende mit folgender Überlegung, daß es damit schlecht bestellt ist.

Wir betrachten die Eigenschaft H^{∗}, die durch die Formel x ∉ x bestimmt ist, d. h. ein Objekt x unserer Anschauung oder unseres Denkens hat die Eigenschaft H^{∗} genau dann, wenn es nicht Element von x ist. Nach der Erklärung 2 existiert dann die Menge M^{∗} ≡ {x|x ∉ x}.

Nun ist M^{∗} selbst ein Objekt unseres Denkens, wir können also fragen, ob M^{∗} ∈ M^{∗} ist. Es ist M^{∗} ∈ M^{∗} genau dann, wenn M^{∗} die Eigenschaft H^{∗} hat, also genau dann, wenn M^{∗} ∉ M^{∗} ist. Das ist ein (logischer) Widerspruch, die sogenannte Russellsche Antinomie.

1.1.4 Axiomatische Mengenlehre

Wir haben gesehen, daß die Erklärungen 1 und 2 zum Aufbau der Mengenlehre nicht brauchbar sind, andererseits kommen die Erklärungen unseren anschaulichen Vorstellungen von der Mengenbildung entgegen. Was haben wir also bei der Präzisierung bzw. Formulierung unserer Vorstellungen vergessen? Es ist anschaulich klar, daß eine Menge gegenüber den Elementen eine neue Qualität darstellt, etwas durch Abstraktion gewonnenes, das nicht ohne weiteres mit seinen Elementen auf die gleiche Stufe gestellt werden darf.

Eine Lösung, die Mengenbildung soweit einzuschränken, daß keine Mengen mehr gebildet werden können, die zu Antinomien führen (die Russellsche Antinomie ist nur ein Beispiel), besteht darin, Mengen verschiedener Stufen (0., 1., …) zu betrachten und die Mengenbildung nur von Stufe zu Stufe zuzulassen.

Eine andere Lösungsmöglichkeit bietet das sogenannte Klassenkalkül, auf dessen Einführung wir hier verzichten wollen. Der interessierte Leser findet bei [2]^{1} eine Darstellung dieses Ansatzes.

Im folgenden werden wir den axiomatischen Ansatz des Stufenkalküls vorstellen: Wir legen dazu einen Objektbereich E von Elementen, auch Mengen nullter Stufe genannt, zugrunde. Durch Zusammenfassung von Elementen bilden wir die Mengen erster Stufe, solche Mengen bilden die Elemente von Mengen zweiter Stufe und so fort.

Wir bezeichnen im folgenden:

• Elemente von E (Mengen nullter Stufe) durch kleine lateinische Buchstaben a, b, c, …

• Mengen von Elementen von E (Mengen erster Stufe) durch große lateinische Buchstaben A, B, …, M, …

• Mengen zweiter Stufe (Mengensysteme) durch große deutsche Buchstaben 𝔐, 𝔑, …

• allgemein: Mengen n-ter Stufe (n = 0, 1, …) durch große lateinische Buchstaben mit dem oberen Index n : M^{(n)}, N^{(n)}, …

Mengenbildungsaxiome Zu jeder Eigenschaft H von Mengen n-ter Stufe (n = 0, 1, 2, …) gibt es eine Menge M^{(n+1)} n + 1-ter Stufe derart, daß für alle Mengen N^{(n)} n-ter Stufe gilt:

N^{(n)} ∈ M^{(n+1)}genau dann, wenn H (N^{(n)}) .

Aus diesem Mengenbildungsprinzip kann die Russelsche Antinomie nicht hergeleitet werden, weil da die Eigenschaft H^{∗}, d. h. x ∉ x, keine zur Mengenbildung zugelassene Eigenschaft ist.

Zum Aufbau der Mengenlehre reichen die Mengenbildungsaxiome allein nicht aus, wie wir sofort sehen, wenn wir uns mit der Frage beschäftigen, wann Mengen gleich sind, wobei wir voraussetzen, daß uns das für Elemente von E bekannt ist, handelt es sich doch gemäß unserer Anschauung dabei um ”wohlunterschiedene“ Objekte. Zwei unterschiedliche Definitionen der Gleichheit bieten sich an:

Definition 1.1.1 (Umfangsgleichheit, extensionale Gleichheit) Mengen M^{(n+1)} N^{(n+1)} (n + 1)-ter Stufe heißen umfangsgleich (notiert als Gleichung durch M^{(n+1)} =_{u} N^{(n+1)}), wenn sie dieselben Elemente haben.

Definition 1.1.2 (Eigenschaftsgleichheit) Mengen M^{(n+1)}, N^{(n+1)} (n + 1)-ter Stufe heißen eigenschaftsgleich (M^{(n+1)} =_{e} N^{(n+1)}), wenn sie dieselben mengentheoretischen Eigenschaften haben, d.h. für jede Eigenschaft H von Mengen (n + 1)-ter Stufe gilt

H (M^{(n+1)}) genau dann, wenn H (N^{(n+1)})

Mit der Definition der Umfangsgleichheit präsentieren wir unsere Vorstellung, daß eine Menge durch ihre Elemente bereits eindeutig bestimmt ist, während die Eigenschaftsgleichheit besagt, daß Gleichheit die Gemeinsamkeit in allen Eigenschaften impliziert. Naheliegend ist es daher, nach der Beziehung zwischen diesen beiden Begriffen zu fragen.

1Dies ist ein Verweis auf das Literaturverzeichnis am Ende des Skriptes

Satz 1.1.1 Wenn Mengen (n + 1)-ter Stufe eigenschaftsgleich sind, dann sind sie auch umfangsgleich,d.h. wenn M^{(n+1)} =_{e} N^{(n+1)}, so M^{(n+1)} =_{u} N^{(n+1)} (n = 0, 1, …).

Beweis Wir haben zu zeigen, daß (unter der Voraussetzung M^{(n+1)} =_{e} N^{(n+1)}) für alle Mengen X^{(n)} n-ter Stufe gilt

X^{(n)} ∈ M^{(n+1)}genau dann ,wenn X^{(n)} ∈ N^{(n+1)},

denn dann und nur dann haben M^{(n+1)} und N^{(n+1)} dieselben Elemente.

Es sei nun X^{(n)} eine beliebige Menge n-ter Stufe. Wir betrachten die Eigenschaft H^{X^{(n)}} von Mengen (n + 1)-ter Stufe, mit:

H^{X^{(n)}} (Y^{(n+1)}) genau dann, wenn X^{(n)} ∈ Y^{(n+1)}.

Weil M^{(n+1)} =_{e} N^{(n+1)} ist, gilt

X^{(n)} ∈ M^{(n+1)} gdw. H^{X^{(n)}(M^{(n+1)})} (nach Def. von H^{X^{(n)}})
gdw. H^{X^{(n)}(N^{(n+1)})} (wegen M^{(n+1)} =_{e} N^{(n+1)})
gdw. X^{(n)} ∈ N^{(n+1)} (nach Def. von H^{X^{(n)}}),

also gilt, was zu zeigen war, und der Satz 1.1.1 ist bewiesen. □^{2}

Die Umkehrung des Satzes 1.1.1, d. h. die Aussage:

Wenn M^{(n+1)} =_{u} N^{(n+1)}, so M^{(n+1)} =_{e} N^{(n+1)}

kann dagegen aus den Mengenbildungsaxiomen nicht abgeleitet werden. Wir fordern daher die

Extensionalitätsaxiome Wenn Mengen (n + 1)-ter Stufe umfangsgleich (extensional gleich) sind, so sind sie eigenschaftsgleich.

Nach dieser Forderung sind Umfangsgleichheit und Eigenschaftsgleichheit identisch, wir sprechen daher nur noch von Gleichheit schlechthin und schreiben M = N, wenn Mengen M, N gleich sind.

Um genügend ”Material“ für die Mengenbildung zu haben, fordern wir ferner das

Unendlichkeitsaxiom Es gibt eine unendliche Menge erster Stufe.

Anschaulich bedeutet das, daß unser Objektbereich E unendlich viele Elemente hat, was aber ”unendlich“ im Sinne der Mengenlehre bedeutet, kann an dieser Stelle noch nicht präzisiert werden. Ein weiteres Axiomenschema, das aus den bereits angegebenen Axiomen nicht bewiesen werden kann (von diesen unabhängig ist), bilden die sogenannten

Auswahlaxiome Zu jeder nichtleeren Menge M^{(n+2)} (n + 2)-ter Stufe (zu jedem Mengensystem) mit paarweise disjunkten nichtleeren Mengen N^{(n+1)} als Elementen gibt es eine Auswahlmenge A^{(n+1)}, die mit jedem N^{(n+1)} aus M^{(n+2)} genau ein Element X^{(n)} gemeinsam hat.

2Mit diesem Symbol bezeichnen wir das Ende eines Beweises

Dabei heißt eine Menge nichtleer, wenn sie (wenigstens) ein Element besitzt und Mengen (gleicher Stufe) heißen disjunkt, wenn sie kein Element gemeinsam haben.

Mit den bisher angegebenen Axiomen kommt man nun tatsächlich beim Aufbau der Mengenlehre aus. Dabei muß an dieser Stelle die Rolle der Auswahlaxiome unklar bleiben; ihre Bedeutung kann erst eine ihrer Anwendungen beim Beweis tiefliegender Sätze der Mengenlehre klar machen.

Bevor wir uns mit dem Rechnen mit Mengen (der sogenannten Mengenalgebra) beschäftigen, wollen wir noch einige wichtige Mengen definieren und benennen.

1.1.5 Spezielle Mengen

Leere Menge und Allmenge

Betrachten wir die durch x ≠ x gegebene Eigenschaft H^{≠} von Mengen 0-ter Stufe (Elementen). Nach dem Mengenbildungsaxiom gibt es eine Menge M_{0} mit

x ∈ M_{0} gdw. x ≠ x

für alle Elemente x aus dem Objektbereich E. Weil jedes Element x zu sich selbst gleich ist, enthält M_{0} kein Element. Ist andererseits M′ eine Menge erster Stufe, die kein Element enthält, so enthält M′ offenbar dieselben Elemente wie M_{0} (nämlich keine), nach dem Extensionalitätsaxiom gilt also M′ = M_{0}.

Dieselbe Überlegung für höhere Stufen n = 1, 2, … beweist den

Satz 1.1.2 Zu jeder Stufe n + 1 gibt es genau eine Menge M_{0} (n + 1)-ter Stufe derart, daß für alle Mengen N n-ter Stufe gilt N ∉ M_{0}.

Nachdem wir gezeigt haben, daß es eine, aber auch nur eine solche Menge gibt, dürfen wir von der Menge M_{0} (n + 1)-ter Stufe sprechen.

Definition 1.1.3 (Leere Menge) Die nach Satz 1.1.2 bestimmte Menge M_{0}^{(n+1)} = {N^{(n)}|N^{(n)} ≠ N^{(n)}} heißt die leere Menge (n + 1)-ter Stufe und wird durch ∅^{(n+1)} notiert. Für ∅^{(1)} schreiben wir auch ∅.

In analoger Weise zeigt man mittels der Eigenschaft x = x, daß es zu jeder Stufe (n + 1) (n = 0, 1, …) genau eine Allmenge E^{(n+1)} (n + 1)-ter Stufe gibt, die genau die Mengen n-ter Stufe als Elemente hat. Dabei ist E^{(1)} gerade der Objektbereich E, d. h. E^{(1)} = E. Die Allmenge E^{(2)} zweiter Stufe bezeichnen wir mit 𝔈.

Einer- und Zweiermengen

Zu jedem Element a ∈ E existiert nach dem Mengenbildungsaxiom die Menge M für die gilt:

• a ∈ M

• Für jedes b gilt: Wenn b ∈ M, so b = a.

Wir schreiben M als {a} und bezeichnen sie als Einermenge.

Für Elemente a, b ist dementsprechend {a, b} die Menge M, für die gilt:

• a ∈ M, b ∈ M

• Für jedes c gilt: Wenn c ∈ M, so c = a oder c = b.

Ist dabei a ≠ b, so wird {a, b} als Zweiermenge bezeichnet.

1.2 Mengenalgebra

In diesem Abschnitt beschäftigen wir uns mit den wichtigsten Beziehungen und Operationen zwischen Mengen. Da es sich dabei (bis auf die Potenzmengenbildung) um Beziehungen und Operationen für Mengen gleicher Stufe handelt, lassen wir die Stufenindizes weg bzw. definieren die Beziehungen und Operationen für Mengen erster Stufe.

1.2.1 Mengenbeziehungen

Definition 1.2.1 (Inklusion, Teilmengenbeziehung) Die Menge M heißt Teilmenge der Menge N oder in N enthalten (notiert durch M ⊆ N), wenn für alle Elemente x gilt:

wenn x ∈ M, so x ∈ N

Die grundlegenden Eigenschaften der Inklusion vermittelt der

Satz 1.2.1 Für beliebige Mengen M, N, L gilt:

1. M ⊆ M (Reflexivität) (d. h. die Inklusion ist ein reflexive Relation)

2. Wenn M ⊆ N und N ⊆ L, so M ⊆ L (Transitivität) (d. h. die Inklusion ist eine transitive Relation)

3. Wenn M ⊆ N und N ⊆ M, so M = N (Antisymmetrie) (d. h. die Inklusion ist eine antisymmetrische Relation).

Beweis Dieser Satz wird durch Rückgang auf die Definition der Inklusion bewiesen, d. h. man geht zurück auf die Stufe der Elemente und nimmt logische Umformungen der Aussagen auf dieser Stufe vor. Als Beispiel führen wir den Beweis der zweiten Aussage vor.

Aus der Voraussetzung M ⊆ N und N ⊆ L ist M ⊆ L zu beweisen. Wenn wir vereinbaren, daß x ein beliebiges Element ist, so ergibt sich nach Einsetzen der Definition der Inklusion, daß folgendes zu beweisen ist:

Wenn: wenn x ∈ M, so x ∈ N (a)
und:  wenn x ∈ N, so x ∈ L (b)
so:  wenn x ∈ M, so x ∈ L (c)

Es sei nun x ∈ M. Dann haben wir

x ∈ Mund (wenn x ∈ M, so ∈ N),

folglich haben wir x ∈ N, zusammen mit (b) folgt x ∈ L; wir haben

wenn x ∈ M, so x ∈ L,

d. h. (c).

Die zweite Aussage des Satzes 1.2.1 ist damit bewiesen. □

Übung 1 Man beweise die restlichen Aussagen von Satz 1.2.1 sowie

Satz 1.2.2 Für alle Mengen M gilt ∅ ⊆ M.

Wir führen jetzt einen Abstraktionsschritt durch:

Reflexive Halbordnung Bei der Betrachtung des Systems 𝔈 aller Mengen (erster Stufe) und der Relation der Inklusion (als Beziehung zwischen den Elementen von 𝔈) abstrahieren wir von der Natur dieser Elemente (daß es sich um Mengen handelt). Die Struktur des betrachteten Objekts [𝔈, ⊆] stellt sich damit dar, als eine Menge M von irgendwelchen Elementen, zwischen denen eine Relation ⊑ gegeben ist, die folgende Eigenschaften hat:

1. ⊑ ist reflexiv über M für alle a ∈ M gilt a ⊑ a

2. ⊑ ist transitiv für alle a, b, c ∈ M gilt: Wenn a ⊑ b und b ⊑ c, so a ⊑ c

3. ⊑ ist antisymmetrisch für alle a, b ∈ M gilt: Wenn a ⊑ b und b ⊑ a, so a = b

Eine solche Struktur [M, ⊑] wird reflexive Halbordnung genannt. Die Ordnung ist nicht total, weil es Elemente a, b ∈ M geben kann, für die weder a ⊑ b noch b ⊑ a gilt.

Beispiel Die Teilbarkeitsbeziehung in der Menge der natürlichen Zahlen

n | m gdw. es ein k ∈ N mit n · k = m gibt ist eine reflexive Halbordnung, aber keine Ordnung.

Folgerung 1.2.1 [𝔈, ⊆] ist eine reflexive Halbordnung.

Definition 1.2.2 (echte Inklusion, echte Teilmenge) Die Menge M wird echte Teilmenge von N oder in N echt enthalten (notiert durch M ⊂ N) genannt, wenn M ⊆ N und M ≠ N ist.

Man zeigt nun Satz 1.2.3 Für beliebige Mengen M, N, L gilt

1. M ⊄ M (Irreflexivität)

2. Wenn M ⊂ N und N ⊂ L, so M ⊂ L (Transitivität)

3. Wenn M ⊂ N, so N ⊄ M (Asymmetrie)

Man sieht hier, daß die Asymmetrie der echten Inklusion aus der Irreflexivität und der Transitivität folgt: Wäre die Asymmetrie für M, N verletzt, d.h.

M ⊂ N und N ⊂ M

so ergäbe sich aus der Transitivität (für L = M)

M ⊂ M

also ein Widerspruch zur Irreflexivität.

Wir machen nun den gleichen Abstraktionsschritt wie oben und erhalten

Irreflexive Halbordnung Eine Struktur [M, ⊏], bei der die Relation ⊏ irreflexiv (für alle a ∈ M gilt nicht a ⊏ a) und transitiv ist, wird irreflexive Halbordnung genannt. Eine solche Relation ist immer asymmetrisch.

Folgerung 1.2.2 [𝔈, ⊂] ist eine irreflexive Halbordnung.

Bemerkung Wir sehen an der Definition der echten Inklusion, daß in jeder reflexiven Halbordnung [M, ⊑] eine irreflexive Halbordnung ⊏ durch die Definition

a ⊏ b gdw. a ⊑ b und a ≠ b

eingeführt werden kann. Umgekehrt kann in jeder irreflexiven Halbordnung [M, ⊏] eine reflexive Halbordnung ⊑ durch

a ⊑ b gdw. a ⊏ b oder a = b

definiert werden.

Für die Teilmengenbeziehungen ergibt sich daher

Satz 1.2.4 Für beliebige Mengen M, N, L gilt

1. Wenn M ⊂ N, so M ⊆ N

2. M ⊆ N genau dann, wenn M = N oder M ⊂ N

3. Wenn M ⊆ N und N ⊂ L, so M ⊂ L

4. Wenn M ⊆ N, so N ⊄ M.

Übung 2 Man formuliere die Beweise der Sätze 1.2.3 und 1.2.4 und eine Definition der echten Inklusion, in der die Relationen ⊆, ≠ (für Mengen) nicht verwendet werden, d. h. in der nur die Elementbeziehung vorkommt.

1.2.2 Durchschnitt, Vereinigung und Komplement

Definition 1.2.3 (Durchschnitt, Vereinigung und Komplement) Es seien M, N beliebige Mengen. Dann ist

1. der Durchschnitt M ∩ N von M und N die Menge

M ∩ N =_{Def} {x|x ∈ M und x ∈ N}

2. die Vereinigung M ∪ N von M und N die Menge

M ∪ N =_{Def} {x|x ∈ M oder x ∈ N}

3. das Komplement \overline{M} von M die Menge

\overline{M} =_{Def} \{x|x ∉ M\}.

In der Definition der Vereinigung (=_{Def} bedeutet, daß die Mengen nach Definition gleich sind) ist das ”oder“ im nicht ausschließenden Sinn zu verstehen (d. h. nicht als ”entweder-oder“); zur Vereinigung von M und N gehören also auch die Elemente x, die in beiden Mengen Element sind. Zur Veranschaulichung der Wirkungsweise der Operatoren ∪, ∩ und beschaut man sich oft Zeichnungen der folgenden Art:

Veranschaulichung

Wenn M die Menge der Punkte innerhalb des linken und N entsprechend die Menge der Punkte innerhalb des rechten Kreises ist, so gibt die schraffierte Fläche gerade den Durchschnitt M ∩ N wieder.

Die entsprechenden Bilder der Vereinigung und des Komplements sehen so aus:

Wir formulieren nun eine Reihe von Sätzen über das Rechnen mit den in 1.2.3 definierten sogenannten Booleschen Operationen, deren Beweis wir abermals dem Leser überlassen.

Satz 1.2.5 Für beliebige Mengen M, N, L gilt:

1. M ∩ N = N ∩ M,  M ∪ N = N ∪ M  (Kommutativität)

2. (M ∩ N) ∩ L = (M ∩ N) ∩ L, (M ∪ N) ∪ L = (M ∪ N) ∪ L (Assoziativität)

3. M ∩ (M ∪ N) = M, M ∪ (M ∩ N) = M (Absorptionsgesetze)

Bemerkung Eine Menge V, in der zweistellige Operationen ⊓ und ⊔ definiert sind, die beide kommutativ und assoziativ sind und die Absorptionsgesetze erfüllen, wird Verband genannt, d. h. wir definieren

Verband 𝔙 = [V, ⊓, ⊔] heißt Verband, wenn V eine Menge ist und:

1. ⊓, ⊔ zweistellige Operationen über V sind; ⊓ und ⊔ ordnen also jedem a, b ∈ V je (genau) ein Element a ⊓ b, a ⊔ b ∈ V zu;

2. ⊓, ⊔ sind kommutativ

3. ⊓, ⊔ sind assoziativ

4. ⊓, ⊔ erfüllen die Absorptionsgesetze, d. h. für alle a, b, ∈ V gilt

a ⊓ (a ⊔ b) = a und a ⊔ (a ⊓ b) = a.

Bezeichnen wir mit 𝔈 das System aller Mengen erster Stufe, so gilt also

Folgerung 1.2.3 [𝔈, ∩, ∪] ist ein Verband.

Der Verbandsbegriff ist ein wichtiger algebraischer Grundbegriff. Sein wesentlicher Inhalt besteht in einer Verallgemeinerung der Struktur des Rechnens mit Mengen auf andere Bereiche. Wir werden z. B. sehen, daß auch die Menge der Äquivalenzrelationen (über einer gegebenen Menge) einen Verband bildet, so daß man gewisse Rechnungen mit Äquivalenzrelationen so durchführen kann (d. h. nach den gleichen Rechenregeln durchführen kann) als hätte man Mengen vor sich.

Satz 1.2.6 Für Mengen M, N gilt offenbar

M ∩ N = M gdw. M ⊆ N (1) und
M ∪ N = N gdw. M ⊆ N (2)

Was passiert, wenn wir einen Verband [V, ⊓, ⊔] hernehmen und (1) oder (2) als Definition für eine Relation in V nehmen:

a ⊑ b gdw. a ⊓ b = a

Dann gilt

Satz 1.2.7 [V, ⊑] ist eine reflexive Halbordung.

Beweis

1. ⊑ ist reflexiv: Für alle a ∈ V gilt a ⊑ a, d. h. a ⊓ a = a.

Das sieht man wie folgt:

Nach Absorptionsgesetz ist a = a ⊔ (a ⊓ b) (für beliebiges b ∈ V)

also

a ⊓ a = a ⊓ (a ⊔ (a ⊓ b))
= a ⊓ (a ⊔ c)  (für c = a ⊓ b )
= a  (wegen Absorption)

2. ⊑ ist transitiv: Wenn a ⊑ b und b ⊑ c, so a ⊑ c.

Unsere Voraussetzungen sind also: a ⊓ b = a und b ⊓ c = b und zu zeigen ist: a ⊓ c = a

Es ist b ⊓ c = b, also a ⊓ (b ⊓ c) = a ⊓ b = a und daher a ⊓ c = (a ⊓ b) ⊓ c = a ⊓ (b ⊓ c) = a

3. ⊑ ist antisymmetrisch: Wenn a ⊑ b und b ⊑ a, so a = b.

nämlich: a ⊓ b = a und b ⊓ a = b

also wegen Kommutativität: a = a ⊓ b = b ⊓ a = b

□

In der Halbordnung [V, ⊑] gilt überdies stets

\begin{matrix}a ⊑ a ⊔ b (d. h. a ⊓ (a ⊔ b) = a) & und \\ a ⊓ b ⊑ a (d. h. a ⊓ b ⊓ a = a ⊓ b) \end{matrix}

wie sich aus den Absorptionsgesetzen ergibt.

Folglich besitzen je zwei Elemente a, b bezüglich ⊑ eine obere Schranke, nämlich a ⊔ b, und eine untere Schranke, nämlich a ⊓ b und es gilt:

Wenn x ⊑ a und x ⊑ b, so x ⊑ a ⊓ b und
Wenn a ⊑ x und b ⊑ x, so a ⊔ b ⊑ x

d. h. a ⊓ b ist die bezüglich ⊑ größte untere Schranke von a,b und a ⊔ b ist bezüglich ⊑ die kleinste obere Schranke von a,b.

Ist umgekehrt [V, ⊑] eine reflexive Halbordnung derart, daß zu beliebigen Elementen a,b stets die bezüglich ⊑ größte untere und die kleinste obere Schranke existieren, so ist V mit den Operationen

a ⊓ b = die größte untere Schranke von a, b
a ⊔ b = die kleinste obere Schranke von a, b

ein Verband.

Übung 3 Man weise nach, daß [N^{+}, ggT, kgV] ein Verband ist.

Satz 1.2.8 (Fortsetzung von Satz 1.2.5)

1. \begin{matrix}(M ∩ N) ∪ L & = & (M ∪ L) ∩ (M ∪ L) \\ (M ∪ N) ∩ L & = & (M ∩ L) ∪ (M ∩ L) \end{matrix} (Rechtsdistributivität)

2. ∅ ∩ M = ∅  ∅ ∪ M = M  ( ∅ ist Nullelement)

3. E ∩ M = M  E ∪ M = E  (E ist Einselement)

4. M ∩ \overline{M} = ∅ M ∪ \overline{M} = E

Bemerkung Aus der Kommutativität und der Rechtsdistributivität folgt unmittelbar die Linksdistributivität, d. h. es gilt

\begin{aligned}L ∪ (M ∩ N) & = & (M ∪ L) ∩ (M ∪ L) \\ L ∩ (M ∪ N) & = & (M ∩ L) ∪ (M ∩ L) \end{aligned}

Wir sprechen daher künftig nur von der Distributivität.

Ein Verband 𝔙 = [V, ⊓, ⊔], bei dem die Operationen ⊓ und ⊔ die distributiven Gesetze erfüllen, wird distributiver Verband genannt; [𝔈, ∩, ∪] ist also ein distributiver Verband.

Die Bezeichnung ”Nullelement“ bzw. ”Einselement“ werden klar, wenn man eine Analogie zwischen dem Durchschnitt von Mengen und der Addition von Zahlen herstellt. Diese Analogie geht aber nicht so weit, daß etwa die Menge der natürlichen Zahlen N mit Multiplikation und Addition einen Verband bildet, offenbar sind die Absorptionsgesetze nicht erfüllt (jedoch ist [N , min, max] ein Verband).

Ein Verband [V, ⊓, ⊔], in dem es Elemente 0, 1 ∈ V gibt, so daß (1.2.8.2) und (1.2.8.3) erfüllt sind, wird Verband mit Null und Eins genannt.

In jedem Verband gibt es höchstens ein Nullelement und höchstens ein Einselement, so daß bei einem Verband mit Null und Eins von dem Nullelement und dem Einselement gesprochen werden kann. Man beweist die Einzigkeit des Nullelements wie folgt (analog führt man den Beweis für das Einselement):

Es seien 0, 0′ ∈ V mit (5) 0 ⊓ a = 0 und (5′) 0′ ⊓ a = 0′ für alle a ∈ V. Dann gilt:

0 = 0 ⊓ 0′ (wegen (5) und a = 0′ ∈ V)
= 0′ ⊓ 0 (wegen der Kommutativität von ⊓)
= 0′  (wegen (5′) und a = 0 ∈ V)

also ist 0 = 0′, was zu zeigen war.

Übung 4 Gibt es für [N^{+}, ggT, kgV] ein Null- und Einselement? Ist es ein distributiver Verband?

Ein Verband 𝔙 = [V, ⊓, ⊔, 0, 1], in dem eine dritte einstellige Operation definiert ist, die jedem a ∈ V ein solches Element \overline{a} ∈ V zuordnet, daß stets a ⊓ \overline{a} = 0, a⊔\overline{a} = 1 heißt komplementärer Verband. Ein distributiver komplementärer Verband (mit Null und Eins) wird Boolesche Algebra genannt.

Folgerung 1.2.4 [𝔈, ∩, ∪, , ∅, E] ist eine Boolesche Algebra.

Wir können bereits an dieser Stelle eine Folgerung aus unseren verbandstheoretischen Überlegungen ziehen. Aus dem Beweis der Einzigkeit des Nullelements ergibt sich nämlich:

Folgerung 1.2.5 Ist M_{0} eine Menge derart, daß für alle Mengen N gilt M_{0}∩N = ∅, dann ist M_{0} = ∅.

Übung 5 Wie lautet das Analogon dieser Aussage für die Allmenge E ?

Dualitätstheorem

Sieht man sich die Form der bisher aufgeführten Rechenregeln an, so fällt auf, daß man aus jeden Gleichungen durch Vertauschen von ∩ und ∪ wieder gültige Gleichungen erhält. In der Tat gilt das

Dualitätstheorem Es sei G eine gültige Gleichung, in der nur Variablen für Mengen, Klammern und die Zeichen ∩, ∪ vorkommen und G′ entsteht aus G, indem an allen Stellen gleichzeitig das Zeichen ∩ durch das Zeichen ∪ und das Zeichen ∪ durch das Zeichen ∩ ersetzt wird. Dann ist G′ eine gültige Geichung.

Der Beweis für das Dualitätstheorem führen wir im Kapitel Aussagenlogik ab Seite 93 mit den dort entwickelten Hilfsmitteln.

Weitere Sätze

Satz 1.2.9 Für beliebige Mengen M, N, L gilt:

1. M ∩ M = M, M ∪ M = M

2. M ∩ N ⊆ M, M ⊆ M ∪ N

3. M ⊆ N und M ⊆ K gdw. M ⊆ N ∩ K, M ⊆ K und N ⊆ K gdw. M ∪ N ⊆ K

4. Wenn M ⊆ N, so M ∩ L ⊆ N ∩ L und M ∪ L ⊆ N ∪ L (Monotonie)

5. \begin{matrix}Wenn M ⊇ K, so M ∩ (N ∪ K) = (M ∩ N) ∪ K \\ Wenn M ⊆ K, so M ∪ (N ∩ K) = (M ∪ N) ∩ K \end{matrix} (Modularität)

6. \overline{\overline{M}} = M

7. \begin{matrix}\overline{M ∩ N} = \overline{M} ∪ \overline{N} \\ \overline{M ∪ N} = \overline{M} ∩ \overline{N} \end{matrix} (De Morgansche Formeln)

8. M ⊆ N gdw. M ∩ \overline{N} = ∅ M ⊆ N gdw. \overline{M} ∪ N = E

Die Aussagen dieses Satzes gelten in beliebigen Booleschen Algebren, sofern dort durch Verwendung des Satzes 1.2.6 als Definition eine ”Inklusion“ zwischen den Verbandselementen definiert ist. Einige dieser Beweise geben wir im folgenden an.

Beweis der ersten Aussage Aus (1.2.5.3) folgt

M ∩ M = M ∩ [M ∪ (M ∩ N)] (wegen M = M ∪ (M ∩ N) , (1.2.5.3))
= M ∩ [M ∪ K]  (fürK = M ∩ N )
= M  (wegen (1.2.5.3))
□

Beweis der zweiten Aussage Wegen Satz 1.2.6 gilt

M ∩ N ⊆ M gdw. (M ∩ N) ∪ M = M
gdw M ∪ (M ∩ N) = M (wegen (1.2.5.3))

und M = M ∪ (M ∩ N) ist nach (1.2.5.3) wahr. □

Beweis der dritten Aussage Wir zeigen zuerst:

wenn M ⊆ N und M ⊆ K, so M ⊆ N ∩ K.

Aus M ⊆ N, M ⊆ K ergibt sich mit Satz 1.2.6

M ∩ N = M und M ∩ K = M,

woraus nach Aussage eins folgt

M = M ∩ M = (M ∩ N) ∩ (M ∩ K)
= (M ∩ M) ∩ (N ∩ K) (wegen (1.2.5.2) und (1.2.5.3))
= M ∩ (N ∩ K)  (wegen Aussage zwei)

also gilt nach Satz 1.2.6 auch M ⊆ N ∩ K.

Ist umgekehrt M ⊆ N ∩ K, d. h. M = M ∩ (N ∩ K), so gilt nach Aussage zwei und (1.2.5.2)

M = (M ∩ N) ∩ K ⊆ M ∩ N

Andererseits ist nach Aussage zwei M ∩ N ⊆ M,folglich gilt bei L = M ∩ N

L ⊆ M und M ⊆ L.

Aus Satz 1.2.6 ergibt sich nun mit (1.2.5.3) L = L ∩ M = M ∩ L = M d. h. M = M ∩ N, folglich M ⊇ N. Analog zeigt man M ⊆ K. □

Übung 6 Man führe die Beweise für die vierte und fünfte Aussage.

Beweis der sechsten Aussage Wegen (1.2.8.4) gilt

\overline{M} ∩ \overline{\overline{M}} = ∅

folglich ist M = M ∪ ∅ = M ∪ (\overline{M} ∩ \overline{\overline{M}}) nach (1.2.8.2). Mit (1.2.8.1) erhalten wir

M = (M ∪ \overline{M}) ∩ (\overline{M} ∩ \overline{\overline{M}})

d. h. über (1.2.8.3)

M = E ∩ (M ∪ \overline{\overline{M}}) = M ∪ \overline{\overline{M}}

Auf die gleiche Weise leitet man aus \overline{M} ∩ \overline{\overline{M}} = E her, daß

M = M ∩ \overline{\overline{M}}

ist, woraus

\overline{\overline{M}} = \overline{\overline{M}} ∪ (\overline{\overline{M}} ∩ M) = \overline{\overline{M}} ∪ M = M,

d. h. Aussage sechs folgt. □

Übung 7 Man beweise die siebte und achte Aussage.

1.2.3 Differenzen

Definition 1.2.4 (Differenz und symmetrische Differenz) Die Differenz M \ N der Mengen M, N ist die Menge

M \ N =_{Def} {x|x ∈ M und x ∉ N}

Die symmetrische Differenz M △ N der Mengen M, N ist die Menge M △ N =_{Def} {x| entweder x ∈ M oder x ∈ N}

Veranschaulichung Folgende Bilder geben die Differenz M \ N (links) und die symmetrischen Differenz M △ N (rechts) wieder:

Einige Regeln für das Rechnen mit Differenz bzw. symmetrischer Differenz geben die beiden folgenden Sätze wider: Satz 1.2.10 Für beliebige Mengen M, N gilt

1. M \ N = M ∩ \overline{N}

2. E \ M = \overline{M}

3. M \ ∅ = M

4. M ⊆ N gdw. M \ N = ∅

5. Wenn M ∩ N = ∅, so M \ N = M und N \ M = N. Satz 1.2.11 Für beliebige Mengen M, N gilt:

1. M △ N = (M ∩ \overline{N}) ∪ (\overline{M} ∩ N)

2. M △ N = (M ∪ N) ∩ \overline{(M ∩ N)} = (M ∪ N) \ (M ∩ N)

3. M △ N = N △ M (Kommutativität)

4. (M △ N) △ K = N △ (M △ K) (Assoziativität)

5. M △ ∅ = M (∅ ist Nullelement)

6. M △ N = ∅ gdw. M = N

7. M ∩ (N △ K) = (M ∩ N) △ (M ∩ K) Übung 8 Man beweise die Aussagen der vorstehenden Sätze.

Halbgruppe, Gruppe, Abelsche Gruppe Ist in einer Menge G eine zweistellige assoziative Operation □ definiert, so nennt man [G, □] eine Halbgruppe. Ist die Operation zudem kommutativ, wird die Halbgruppe ebenso bezeichnet. Eine kommutative Halbgruppe [G, □, 0] mit Nullelement wird Abelsche oder kommutative Gruppe genannt, wenn zu jedem g ∈ G (genau) ein inverses Element g′ ∈ G mit g□g′ = 0 existiert.

Folgerung 1.2.6 Die Aussage (1.2.11.4) besagt also, daß [𝔈, △] eine Halbgruppe ist, wegen (1.2.11.3) handelt es sich sogar um eine kommutative Halbgruppe. In dieser Halbgruppe ist ∅ das Nullelement. Wegen (1.2.11.6) ist also [𝔈, △, ∅] eine Abelsche Gruppe.

Ebenso wie der Verbandbegriff spielt der Gruppenbegriff eine bedeutende Rolle in der Mathematik und ihren Anwendungen.

1.2.4 Allgemeiner Durchschnitt, Allgemeine Vereinigung und Potenzmengenbildung

Definition 1.2.5 (Allgemeiner Durchschnitt, Allgemeine Vereinigung) Es sei 𝔐 ∈ 𝔈 ein beliebiges Mengensystem. Der allgemeine Durchschnitt von 𝔐 ist die Menge

⋂ 𝔐 =_{Def} {x| für alle M ∈ 𝔐 ist x ∈ M}.

Die allgemeine Vereinigung von 𝔐 ist die Menge

⋃ 𝔐 =_{Def} {x| es gibt ein M ∈ 𝔐 mit x ∈ M}.

Die Operationen ”allgemeiner Durchschnitt“ und ” allgemeine Vereinigung“ führen also von Mengensystemen zu Mengen, verringern also die Stufe.

Satz 1.2.12 Es sei 𝔐, 𝔑 ⊆ 𝔈

1. ⋂ ∅^{(2)} = E

2. ⋃ ∅^{(2)} = ∅

3. (⋃ 𝔐) ∩ N = ⋃ {M ∩ N|M ∈ 𝔐}

4. (⋂ 𝔐) ∪ N = ⋂ {M ∪ N|M ∈ 𝔐}

5. ⋂ 𝔐 ∩ ⋂ 𝔑 = ⋂ {𝔐 ∪ 𝔑}

6. ⋃ 𝔐 ∪ ⋃ 𝔑 = ⋃ {𝔐 ∪ 𝔑}

7. \overline{⋂ 𝔐} = ⋃ \{\overline{M}|M ∈ 𝔐\}

Übung 9 Man beweise die Aussagen des vorstehenden Satzes.

Definition 1.2.6 (Potenzmenge) Die Potenzmenge 𝔓 (M) der Menge M ist das System aller Teilmengen von M, d. h.

𝔓 (M) =_{Def} {N|N ⊆ M}

Die Potenzmengenbildung führt also von einer Menge zu einem Mengensystem, sie hebt die Stufe an. Es gilt der

Satz 1.2.13 Für beliebige Mengen M, N gilt:

1. 𝔓 (∅) = {∅}

2. 𝔓 (E) = 𝔈

3. M ⊆ N gdw. 𝔓 (M) ⊆ 𝔓 (N)

4. 𝔓 (M ∪ N) ⊇ 𝔓 (M) ∪ 𝔓 (N)

5. 𝔓 (M ∩ N) = 𝔓 (M) ∩ 𝔓 (N)

6. 𝔓 (\overline{M}) ⊆ \{∅\} ∪ \overline{𝔓 (M)}

Übung 10 Man beweise die Aussagen des vorstehenden Satzes.

1.3 Korrespondenzen, Relationen, Abbildungen

Unser nächstes Ziel besteht darin, den Begriff der Zuordnung mathematisch, d. h. mengentheoretisch, zu präsentieren. Wenn wir davon gesprochen haben, daß eine zweistellige Operation □ je zwei Elementen a, b einer Menge G ein Element a□b aus G eindeutig zuordnet, so haben wir dabei an die Anschauung appelliert, aber nicht gesagt, was Zuordnen eigentlich ist.

1.3.1 Geordnetes Paar und Cartesisches Produkt

Der einfachste Fall einer Zuordnung liegt vor, wenn einem einzigen Element a ein Element b zugeordnet ist, was man z. B. durch [a, b] notieren kann. Die erste Komponente dieses sogenannten geordneten Paares, das Element a, wird in einen Zusammenhang gesetzt mit der zweiten Komponente, dem Element b; dem a wird das b zugeordnet und nicht umgekehrt — es kommt also auf die Reihenfolge der Komponenten (Elemente) an. Für geordnete Paare [a, b], [c, d] muß also gelten

[a, b] = [c, d] gdw. a = c und b = d

Diese Eigenschaft ist die grundlegende Eigenschaft geordneter Paar, sie kann zur axiomatischen Charakterisierung dieses Begriffs verwendet werden. Wir können aber diesen Begriff mengentheoretisch wie folgt definieren:

Definition 1.3.1 (Geordnetes Paar) Es seien a, b beliebige Elemente. Dann ist das geordnete Paar [a, b] das Mengensystem

[a, b] =_{Def} {{a} , {a, b}}.

Man kann nun beweisen Satz 1.3.1 Für beliebige Elemente a, b, c, d gilt

[a, b] = [c, d] gdw. a = c und b = d.

Durch wiederholte Paarbildung kann man nun den Begriff des geordneten Tripels, Quadrupels, … (allgemein:) den des n-Tupels einführen. Dazu überträgt man die Definition 1.3.1 von Elementen a, b auf beliebige Mengen a, b gleicher Stufe und definiert dann:

Definition 1.3.2 Es seien a, b, c, d, a_{1}, a_{2}, ⋯ beliebige Elemente.

• [a, b, c] =_{Def} [[a, b] , {{c}}] (Tripel)

• [a, b, c, d] =_{Def} [[a, b, c] , {{{{d}}}}] (Quadrupel)

⋮  ⋮

• [a_{1}, …, a_{n}] =_{Def} [[a_{1}, …, a_{n−1}] , \underbrace{\{⋯ \{}_{2(n−2)} a_{n} \underbrace{\} ⋯\}}_{2(n−2)}] (n-Tupel)

Man zeigt durch Induktion über n ≥ 2:

Satz 1.3.2 [a_{1}, …, a_{n}] = [b_{1}, …, b_{n}] gdw. a_{1} = b_{1} und … und a_{n} = b_{n}.

Einfachste Zuordnungen der Form ”a geht über in b“ können wir also durch das geordnete Paar [a, b] beschreiben, kompliziertere Zuordnungen werden wir durch Mengen geordneter Paare beschreiben.

Definition 1.3.3 (Cartesisches Produkt) Es seien M_{1}, M_{2}, …, M_{n} Mengen (gleicher Stufe). Das Cartesische Produkt (direktes Produkt, Kreuzprodukt) von M_{1}, …, M_{n} in dieser Reihenfolgen) ist die Menge

M_{1} × M_{2} =_{Def} {[a, b] |a ∈ M_{1} und b ∈ M_{2}}.

bzw.

M_{1} × ⋯ × M_{n} =_{Def} {[a, …, a_{n}] |a ∈ M_{1} und … und a_{n} ∈ M_{n}}.

Nach dieser Definition kann das Cartesische Produkt nur zwischen Mengen gleicher Stufe gebildet werden. Man braucht aber auch Produkte zwischen Mengen verschiedener Stufen, z. B. wenn man eine Zuordnung beschreiben will, die jedem Element eine gewisse Menge zuordnet. Eine Definition läßt sich ebenfalls angeben, wir verzichten hier darauf und gehen im folgenden davon aus, daß für beliebige Mengen N, K das Kreuzprodukt definiert ist. Wichtige Eigenschaften des Produkts formulieren wir als

Satz 1.3.3

1. M × N = ∅ gdw. M = ∅ oder N = ∅

2. Wenn M ⊆ N, so M × K ⊆ N × K und K × M ⊆ K × N.

3. M × (N ∪ K) = (M × N) ∪ (M × K)

4. M × (N ∩ K) = (M × N) ∩ (M × K)

1.3.2 Korrespondenzen

Wir sind nun in der Lage, den Begriff der Zuordnung, wir sagen ”Korrespondenz“ mengentheoretisch zu definieren:

Definition 1.3.4 (Korrespondenz) Es seien M, N Mengen. Dann wird K eine Korrespondenz aus M in N (bzw. zwischen M und N) genannt, wenn K ⊆ M × N ist.

Beispiele

• Es sei M = N = N (die Menge der natürlichen Zahlen) und

≤ = {[a, b] |a, b ∈ N und a kleiner oder gleich b} ⊆ N × N

• Es sei M = N, N = {wahr, falsch} (die Menge der Wahrheitswerte) und

P_{2} = {[a, α] |a ∈ N und entweder [a ist keine Primzahl und α = falsch] oder [α ist Primzahl und α = wahr]}

• Es sei M = {1, …, 99}, N die Menge aller Straßennamen in Berlin und

F = {[a, x] |a ∈ M und x ∈ N und die Straßenbahnlinie Nr.a führt durch die Straße x}

• Es sei A eine Menge, dann bezeichnet I_{A} die Identität über A mit

I_{A} =_{Def} {[a, a] | a ∈ A}

Ist K eine Korrespondenz, so schreiben wir für [a, b] ∈ K auch aKb und sagen dafür ”a steht zu b in Korrespondenz K“ oder ”b ist ein K-Bild von a“ oder ”a ist ein K-Urbild von b“. Unser erstes Beispiel zeigt, daß ein Element im allgemeinen mehrere Bilder oder Urbilder haben kann; das dritte Beispiel zeigt, daß ein Element kein Bild bzw. Urbild haben muß.

Definition 1.3.5 (Benennungen von Korrespondenzen) Es sei K ⊆ M × N eine Korrespondenz zwischen M und N.

1. Der Definitionsbereich (Argumentenbereich, Vorbereich) von K ist die Menge D_{K} der Elemente von M, die K-Urbilder eines Elementes von N sind, d. h.

D_{K} =_{Def} {a| Es gibt ein b mit [a, b] ∈ K}

2. Der Bildbereich (Wertebereich, Nachbereich) von K ist die Menge B_{K} der Elemente von N, die K-Bild eines Elementes von M sind, d. h.

B_{K} =_{Def} {b| Es gibt ein a mit [a, b] ∈ K}

3. K heißt Korrespondenz von M in N, wenn D_{K} = M ist

4. K heißt Korrespondenz aus M auf N, wenn B_{K} = N ist

5. K heißt Korrespondenz von M auf N, wenn D_{K} = M ist und B_{K} = N ist.

6. Die Korrespondenz K wird eindeutig genannt, wenn zu jedem a ∈ M höchstens ein b ∈ N (eventuell keines) mit [a, b] ∈ K existiert.

7. Die Korrespondenz K wird eindeutig umkehrbar genannt, wenn es zu jedem b ∈ N höchstens ein a ∈ M mit [a, b] ∈ K gibt

Beispiele Die Korrespondenzen ≤, P_{2} und I_{A} sind Korrespondenzen von–auf, bei F ist das nicht der Fall; ferner ist P_{2} eindeutig, aber nicht eindeutig umkehrbar; I_{A} ist dagegen eindeutig umkehrbar.

Definition 1.3.6 (Verkettung und Inversion) Es seien K und L Korrespondenzen, K ⊆ A × B, L ⊆ C × D.

1. Die Verkettung K ∘ L von K mit L ist die Menge

K ∘ L =_{Def} {[a, d] | Es gibt ein b mit [a, b] ∈ K und [b, d] ∈ L}

2. Die Inversion K^{−1} von K ist die Menge

K^{−1} =_{Def} {[b, a] | [a, b] ∈ K}

Man zeigt nun:

Satz 1.3.4 Es seien K ⊆ A × B, L ⊆ C × D Korrespondenzen.

1. K ∘ L ist eine Korrespondenz zwischen A und D

2. Die Verkettung ist eine assoziative Operation

3. Die Identität I_{E} über dem Objektbereich E ist neutrales Element, d. h. K ∘ I_{E} = I_{E} ∘ K = K

4. K ∘ L = ∅ genau dann, wenn B_{K} ∩ D_{L} = ∅.

5. K^{−1} ist eine Korrespondenz zwischen B und A

6. (K^{−1})^{−1} = K

7. (K ∘ L)^{−1} = L^{−1} ∘ K^{−1}.

Übung 11 Man beweise die Aussagen des vorstehenden Satzes.

1.3.3 Relationen

Korrespondenzen aus einer Menge A in diese Menge selbst, werden als Relationen bezeichnet:

Definition 1.3.7 (Relation) R wird binäre (zweistellige) Relation in A genannt, wenn R ⊆ A × A ist. Ist dabei D_{R} ∪ B_{R} = A, so heißt R Relation über A.

Beispiele

• ≤ ist eine Relation über N • I_{E} ist eine Relation über E

• die leere Menge ∅^{(3)} dritter Stufe ist eine Relation in jeder Menge erster Stufe

• A × A ist eine Relation über A (die Allrelation über A).

Bemerkung Ist R eine binäre Relation, d. h. R ⊆ A × A, so schreiben wir statt [a, b] ∈ R häufig aRb.

Für Relationen werden wir einige Begriffe, die wir weiter oben schon benutzt haben, allgemein zusammenfassen mit folgender

Definition 1.3.8 Sei R eine Relation in der Menge A. R heißt

1. reflexiv wenn für alle a ∈ A gilt: aRa

2. irreflexiv wenn für kein a ∈ A gilt: aRa

3. transitiv wenn für alle a, b, c ∈ A gilt: wenn aRb und bRc, so aRc

4. antisymmetrisch wenn für alle a, b ∈ A gilt: wenn aRb und bRa, so a = b

5. asymmetrisch wenn für alle a, b ∈ A gilt: wenn aRb, so nicht bRa

6. symmetrisch wenn für alle a, b ∈ A gilt: wenn aRb, so bRa

Eine Relation R heißt

1. reflexive Halbordnung wenn R reflexiv,transitiv und antisymmetrisch ist

2. irreflexive Halbordnung wenn R irreflexiv,transitiv und asymmetrisch ist

3. Äquivalenzrelation wenn R reflexiv,transitiv und symmetrisch ist

Der Vollständigkeit halber haben wir hier schon den Begriff der Äquivalenzrelation genannt, der weiter unten ausführlicher behandelt wird.

Wie wir später sehen werden, spielen reflexive und transitive Relationen in der Mathematik eine große Rolle — Äquivalenzrelationen und reflexive Ordnungsrelationen haben diese Eigenschaften. Deshalb interessiert eine Operation, die (ausgehend von einer Relation ohne diese Eigenschaften) die bezüglich ⊆ kleinste reflexive und transitive Relation R′ mit R ⊆ R′ als Resultat liefert.

Definition 1.3.9 (reflexiv-transitive Hülle) Es sei R eine Relation über A. Wir setzen

• R^{0} = I_{A}

• R^{i+1} = R^{i} ∘ R

• ⟨R⟩ =_{Def} ⋃ {R^{0}, R^{1}, …} = ⋃_{i∈N} R^{i}

Die Menge ⟨R⟩ wird als reflexiv-transitive Hülle von R bezeichnet.

Man überlegt sich sofort

Satz 1.3.5 Es sei R Relation über A

1. ⟨R⟩ ist eine Relation über A

2. ⟨R⟩ ist reflexiv über A, d. h. für alle a ∈ A gilt: a ⟨R⟩ a

3. ⟨R⟩ ist transitiv über A, d. h. für alle a, b, c ∈ A gilt: wenn a ⟨R⟩ b, b ⟨R⟩ c, so a ⟨R⟩ c

Beweis der einzelnen Aussagen:

1. es ist zu zeigen: ⟨R⟩ ⊆ A × A und D_{⟨R⟩} = A, woraus D_{⟨R⟩} ∪ B_{⟨R⟩} = A folgt.

2. gilt offensichtlich, weil I_{A} ⊆ ⟨R⟩ ist.

3. Wegen a ⟨R⟩ b, b ⟨R⟩ c gibt es Zahlen i, j ≥ 0 mit aR^{i}b, bR^{j}c. Bei i = 0 folgt a = b, also aR^{j}c, d. h. a ⟨R⟩ c. Analog schließt man bei j = 0.

Sei i > 0. Man überlegt sich (durch Induktion über i) daß in diesem Fall Elemente a_{1}, …, a_{i+1} ∈ A existieren mit a_{1} = a, a_{i+1} = b und a_{l}Ra_{l+1} für l = 1, …, a_{i+1}.

Analog existieren Elemente b_{1}, …, b_{j+1} mit b_{1} = b, b_{j+1} = c und b_{k}Rb_{k+1} für k = 1, …, j.

Daraus folgt [a, c] ∈ R^{i+j} ⊆ ⟨R⟩, d. h. a ⟨R⟩ c.

□

Der Gebrauch der Bezeichnung ”Hülle“ ist in der Mathemetik für solche Operationen reserviert, die die sogenannten Hülleneigenschaften haben:

Hüllenoperation Eine Operation Op : 𝔓(A) → 𝔓(A) heißt Hüllenoperation, wenn folgende Eigenschaften gelten:

1. M ⊆ Op(M) (Satz der Einbettung)

2. Wenn M ⊆ N, so Op(M) ⊆ Op(N) (Satz der Monotonie)

3. Op(Op(M)) = Op(M) (Satz der Abgeschlossenheit)

Op erfüllt den Endlichkeitssatz, wenn für alle a ∈ A, M ⊆ A gilt: Wenn a ∈ Op(M), so existiert eine endliche Teilmenge M^{∗} ⊆ M mit a ∈ Op(M^{∗}).

Satz 1.3.6 Die Operation ⟨ ⟩ hat die Hülleneigenschaften, d. h. es gilt

1. R ⊆ ⟨R⟩

2. Wenn R_{1} ⊆ R_{2}, so ⟨R_{1}⟩ ⊆ ⟨R_{2}⟩

3. ⟨⟨R⟩⟩ = ⟨R⟩ Überdies erfüllt die Operation ⟨ ⟩ den Endlichkeitssatz:

[a, b] ∈ ⟨R⟩, so existiert eine endliche Teilmenge R′ ⊆ R mit [a, b] ∈ ⟨R′⟩

Übung 12 Man beweise den vorstehenden Satz.

Ferner gilt der bereits oben erwähnte

Satz 1.3.7 Es sei R eine Relation über A. Dann ist ⟨R⟩ die bezüglich ⊆ kleinste reflexive und transitive Relation R′ mit R ⊆ R′, d. h. für alle Relationen R′ über A gilt: Wenn R ⊆ R′ und R′ ist reflexiv und transitiv, so ist ⟨R⟩ ⊆ R′.

Beweis Daß ⟨R⟩ reflexiv und transitiv ist, sagt Satz 1.3.5. Aus dem Satz der Einbettung haben wir R ⊆ ⟨R⟩. Ist R ⊆ R′, so ist ⟨R⟩ ⊆ ⟨R′⟩ wegen der Monotonie. Für reflexive und transitive Relationen R′ gilt aber R′ = ⟨R′⟩, denn aus der Reflexivität von R′ über A folgt R^{0} = I_{A} ⊆ R′ und aus der Transitivität von R′ folgt R′ ∘ R′ = R′, d. h. (R′)^{i} ⊆ R′. Also ist ⟨R⟩ ⊆ ⟨R′⟩ = R′. □

In analoger Weise wie zweistellige Korrespondenzen definiert man n-stellige Korrespondenzen zwischen Mengen M_{1}, …, M_{n} und n-stellige Relationen R in A als

R ⊆ A × ⋯ × A = ×_{n}A.

1.3.4 Abbildungen

Wir wenden uns nun dem Begriff der Abbildung zu.

Definition 1.3.10 (Abbildung und deren Benennung) Es seien A, B Mengen

1. f heißt Abbildung von A in B, wenn

(a) F eine Korrespondenz von A in B und

(b) F eindeutig ist.

2. Eine Abbildung F wird surjektiv genannt (oder Abbildung auf B), wenn B_{f} = B ist.

3. Eine Abbildung F heißt injektiv (oder umkehrbar eindeutig), wenn F eindeutig umkehrbar ist.

4. Eine Abbildung F heißt bijektiv, wenn F surjektiv und injektiv ist.

Beispiel Die oben angegebene Korrespondenz P_{2} ist eine surjektive Abbildung von N auf {wahr, falsch}.

Bemerkung Die Aussage ”f ist eine Abbildung von A in B“ notieren wir künftig durch ”f : A → B“ und statt ”[a, b] ∈ f“ schreiben wir ”b = f (a)“.

Zum Abschluß dieses Abschnittes machen wir eine Bemerkung über die Beschreibung von Korrespondenzen durch Abbildungen. Dabei verwenden wir, daß das Kreuzprodukt auch zwischen Mengen unterschiedlicher Stufen definiert ist.

Es sei K ⊆ A × B eine Korrespondenz zwischen A und B. Die zu K gehörige Abbildung f_{K} ist definiert durch

f_{K} : A → 𝔓 (B)

mit

f_{K} (a) =_{Def} {b| [a, b] ∈ K}

für alle a ∈ A.

Offenbar kann K aus einer Kenntnis von f_{K} gewonnen werden (ist durch f_{K} eindeutig bestimmt), denn es gilt:

K = ⋃_{a∈A} {a} × f_{k} (a) = ⋃ {{a} × f_{K} (a) |a ∈ A}

Da die Beziehung zwischen K undf_{K} also eineindeutig ist, kann man wirklich von einer Beschreibung sprechen; Beschreibung (f_{K}) und Beschriebenes (K) entsprechen einander eineindeutig.

1.4 Äquivalenzrelationen

1.4.1 Äquivalenzrelationen und Zerlegungen

Definition 1.4.1 (Äquivalenzrelation) Eine Relation R ⊆ A × A in A heißt Äquivalenzrelation über A, wenn

1. R eine reflexive Relation über A ist

2. R symmetrisch ist, d. h. [a, b] ∈ R stets [b, a] ∈ R impliziert (mit anderen Worten ist R = R^{−1})

3. R transitiv ist.

Bemerkung Von der Forderung (1.4.1.1) ist nur wesentlich, daß R eine Relation über A ist, denn aus der Symmetrie folgt D_{R} = B_{R}, d. h. wir haben A = D_{R} ∪ B_{R} = D_{R} = B_{R}. Ist nun a ∈ A, so gibt es ein b ∈ A mit [a, b] ∈ R (wegen a ∈ D_{R}) und [b, a] ∈ R (wegen (1.2)) woraus mit der Transitivität [a, a] ∈ R folgt, d. h. R ist reflexiv.

Für jede Menge A ist offenbar I_{A} eine Äquivalenzrelation über A, und zwar ist I_{A} in dem Sinne die schärfste (bzw. feinste) Äquivalenzrelation über A, daß I_{A} die meisten Unterschiede zwischen Elementen von A macht. Im allgemeinen nennt man ja Elemente äquivalent bzw. gleichwertig in gewisser Hinsicht, wenn sie sich in dieser Hinsicht nicht unterscheiden, z. B. gleich verhalten. Wenn es z. B. auf Zeit, Kosten, Bequemlichkeit usw. bei einer beabsichtigten Reise nicht ankommt, sondern nur auf den Ortswechsel, so ist es gleichwertig, äquivalent, ob dazu das Flugzeug oder die Bahn benutzt wird. Objekte in Äquivalenz zu setzen, bedeutet also, von gewissen ihrer Eigenschaften abzusehen (zu abstrahieren) und andere gemeinsame Eigenschaften hervorzuheben. Aus dieser Rolle bei der Abstraktion, der Bildung neuer Begriffe, leitet sich die Bedeutung des Begriffs der Äquivalenzrelation ab.

Wir betrachten nun die oben definierte Abbildung f_{R} für den Fall, daß R eine Äquivalenzrelation über A ist. Man zeigt leicht:

Satz 1.4.1 Es sei R eine Äquivalenzrelation über A und a, b ∈ A. Dann gilt:

1. a ∈ f_{R} (a) ≠ ∅

2. a ∈ f_{R} (b) genau dann, wenn b ∈ f_{R} (a)

3. Wenn f_{R} (a) ∩ f_{R} (b) ≠ ∅, so f_{R} (a) = f_{R} (b).

Definition 1.4.2 (Zerlegung) Es sei A eine Menge, A ≠ ∅, 𝔐 ⊆ 𝔓 (A). 𝔐 heißt Zerlegung von A (Klasseneinteilung oder Partition von A), wenn gilt

1. ∅ ∉ 𝔐

2. A = ⋃ 𝔐

3. 𝔐 ist disjunkt, d. h. für alle M, M′ ∈ 𝔐 gilt: wenn M ∩ M′ ≠ ∅, so M = M′.

Mit Hilfe des Begriffes der Zerlegung können wir den Satz 1.4.1 wie folgt formulieren:

Satz 1.4.2 Ist R eine Äquivalenzrelation über A ≠ ∅, so ist

𝔐_{R} =_{Def} {f_{R} (a) |a ∈ A} = B_{f_{R}}

eine Zerlegung von A.

Wir wissen bereits, daß wir eine Relation R durch die Abbildung f_{R} beschreiben können. Es stellt sich die Frage, ob bei Äquivalenzrelationen R dazu bereits 𝔐_{R} = B_{f_{R}} genügt. Es zeigt sich zunächst:

Satz 1.4.3 Ist R eine Äquivalenzrelation über A, so gilt für a, b ∈ A: aRb genau dann, wenn es ein M ∈ 𝔐_{R} mit a, b ∈ M gibt.

Diese Aussage weist den Weg, wie zu einer Zerlegung 𝔐 eine Äquivalenzrelation R_{𝔐} zu definieren ist; wir setzen für a, b ∈ A = ⋃ 𝔐

aR_{𝔐}b gdw. es ein M ∈ 𝔐 mit a, b ∈ M gibt.

Man zeigt ohne Schwierigkeiten:

Satz 1.4.4 Ist 𝔐 eine Zerlegung von A, so ist R_{𝔐} Äquivalenzrelation über A.

Die Bildung von R_{𝔐} zu einer Zerlegung 𝔐 erweist sich nun gerade als Umkehrung der Bildung der Zerlegung 𝔐_{R} zu einer Äquivalenzrelation R.

Satz 1.4.5 Es sei A ≠ ∅

1. Ist R eine Äquivalenzrelation über A, so ist

R = R_{(𝔐_{R})}

2. Ist 𝔐 eine Zerlegung von A, so ist

𝔐 = 𝔐_{(R_{𝔐})}

Äquivalenzrelationen und Zerlegungen sind einander auf diese Weise eineindeutig zugeordnet. Man bezeichnet

f_{R} (a) als die Äquivalenzklasse nach R, in der a liegt (die Äquivalenzklasse von a)

und notiert 𝔐_{R} auch als A/R (A zerlegt nach R, A faktorisiert nach R).

1.4.2 Feinheit von Äquivalenzrelationen

Definition 1.4.3 (Feinerrelation) Es seien 𝔐_{1}, 𝔐_{2} Zerlegungen. 𝔐_{1} ist feiner als 𝔐_{2} (𝔐_{1} ⪯ 𝔐_{2}), wenn zu jeder Klasse K_{1} ∈ 𝔐_{1} eine Klasse K_{2} ∈ 𝔐_{2} existiert mit K_{1} ⊆ K_{2}.

Satz 1.4.6 Seien R_{1}, R_{2} Äquivalenzrelationen. Dann gilt:

𝔐_{R_{1}} ⪯ 𝔐_{R_{2}} gdw. R_{1} ⊆ R_{2}

Folgerung 1.4.1 Wenn ℨ_{A} die Menge aller Zerlegungen der Menge A bezeichnet, dann ist [ℨ_{A}, ⪯] eine reflexive Halbordnung.

Definition 1.4.4 (Durchschnitt von Äquivalenzrelationen) Seien R_{1} und R_{2} Äquivalenzrelationen. Dann bezeichnetR_{1}⊓R_{2} die gröbste Äquivalenzrelation R mit R ⊆ R_{1} und R ⊆ R_{2}. Für die Zerlegungen 𝔐_{1} und 𝔐_{2} bezeichnet analog 𝔐_{1} ⊓ 𝔐_{2} die gröbste Zerlegung 𝔐 mit 𝔐 ⪯ 𝔐_{1} und 𝔐 ⪯ 𝔐_{2}.

Satz 1.4.7 Es gilt: R_{1} ⊓ R_{2} = R_{1} ∩ R_{2}

Beweis Zu zeigen: R_{1} ∩ R_{2} ist Äquivalenzrelation.

1. reflexiv: I_{A} ⊆ R_{1} ∩ R_{2}

2. symmetrisch: klar

3. transitiv: \underbrace{a(R_{1} ∩ R_{2})b}_{{aR_{1}b \atop aR_{2}b}} und \underbrace{b(R_{1} ∩ R_{2})c}_{{bR_{1}c \atop bR_{2}c}} ⇒ \underbrace{a(R_{1} ∩ R_{2})c}_{{aR_{1}c \atop aR_{2}c}}

□

Für die Zerlegungen gilt 𝔐_{1} ⊓ 𝔐_{2} = {N_{1} ∩ N_{2} | N_{1} ∈ 𝔐_{1}, N_{2} ∈ 𝔐_{2}, N_{1} ∩ N_{2} ≠ ∅}. 𝔐_{I_{A}} ist die feinste und 𝔐_{A×A} die gröbste Zerlegung von A. Wir fragen uns nun, ob R_{1} ∪ R_{2} auch eine Äquivalenzrelation ist. An einem Beispiel kann man sich sofort klar machen, daß das i. a. nicht gilt. Wir definieren deshalb:

Definition 1.4.5 R_{1} ⊔ R_{2} =_{Def} < R_{1} ∪ R_{2} > ist die bezüglich Inklusion kleinste (feinste) Äquivalenzrelation die R_{1} und R_{2} umfasst.

Folgerung 1.4.2 Wenn ℜ die Menge aller Äquivalenzrelationen bezeichnet, dann ist [ℜ, ⊓, ⊔] ein Verband mit Nullelement I_{A} und Einselement A × A.

1.4.3 Kongruenzrelationen

Wenn in der Menge A neben der Äquivalenzrelation R noch weitere Relationen und Operationen, d. h. Abbildungen definiert sind, die mit R ”verträglich“ sind, nennt man R eine Kongruenzrelation bzgl. diesen Operationen und Relationen.

Dieser Fall ist deshalb wichtig, weil sich dann Relationen bzw. Operationen auf A auf dem einfacheren Bereich A/R nachbilden lassen.

Wir führen das genauer aus für den Fall einer n-stelligen Operation über A.

Definition 1.4.6 Es sei A eine nichtleere Menge , n ≥ 1.

1. ∘ heißt n-stellige Operation über A, wenn

∘ : X_{n} A → A

2. Eine Äquivalenzrelation R über A heißt verträglich (invariant) bzgl. der nstelligen Operation ∘ über A (oder Kongruenzrelation bzgl. ∘), wenn für alle a_{1}, …, a_{n}, b_{1}, …, b_{n} ∈ A gilt:

Wenn a_{1}Rb_{1} und … und a_{n}Rb_{n}, so ∘ (a_{1}, …, a_{n}) R ∘ (b_{1}, …, b_{n})

Ist nun R eine Kongruenzrelation über A bzgl. ∘, so können wir für M_{1}, …, M_{n} ∈ A/R definieren

∘′ (M_{1}, ⋯ M_{n}) =_{Def} f_{R} (∘ (a_{1}, …, a_{n}))

für beliebiges a_{1}, … a_{n} mit a_{1} ∈ M_{1} und … und a_{n} ∈ M_{n}.

Diese Definition muß gerechtfertigt werden, d. h. es ist zu zeigen: Wenn [a_{1}, …, a_{n}] ∈ M_{1} × ⋯ × M_{n} und [b_{1}, … b_{n}] ∈ M_{1} × ⋯ × M_{n}, so

f_{R} (∘ (a_{1}, …, a_{n})) = f_{R} (∘ (b_{1}, …, b_{n})) .

Das ergibt sich daraus, das R Kongruenz bzgl. ∘ ist, denn aus a_{i}, b_{i} ∈ M_{i} ∈ A/R folgt a_{i}Rb_{i}, also ∘ (a_{1}, … a_{n}) R ∘ (b_{1}, …, b_{n}), folglich f_{R} (∘ (a_{1}, …, a_{n})) = f_{R} (∘ (b_{1}, …, b_{n})). Es ergibt sich also, daß folgendes Diagramm ”kommutativ“ ist

A  × ⋯ ×  A  →^{∘}  A
f_{R}↓  f_{R}↓  f_{R}↓
(A/R) × ⋯ × (A/R) →^{∘′} A/R

”kommutativ“ bedeutet, daß man ausgehend von einer Element [a_{1}, …, a_{n}] ∈ ×_{n}A das gleiche Element von A/R erhält, unabhängig davon, ob man zuerst mittels ∘ das Element ∘ (a_{1}, …, a_{n}] bildet und dann f_{R} anwendet oder zuerst mittels f_{R} das Element [f_{R} (a_{1}) , …, f_{R} (a_{n})] ∈ ×_{n} (A/R) bildet und dann ∘′ anwendet. Die ”abstrahierende“ Abbildung f_{R} einer Kongruenz R liefert also zugleich eine Vereinfachung A/R des Bereichs A (z. B. kann A/R endlich sein während A unendlich ist) und eine Vereinfachung der Operation ∘.

Bemerkung Sei M eine Menge und R eine Relation über M, die reflexiv und transitiv ist. Dann ist R im allgemeinen keine Halbordnung in M, weil R nicht antisymmetrisch sein muß.

Beispiel Definiert man ”besser“ auf der Menge der Studenten durch

S_{1} besser S_{2} gdw. Notendurchschnitt(S_{1}) ≤ Notendurchschnitt(S_{2})

so folgt aus S_{1} besser S_{2} und S_{2} besser S_{1} nicht S_{1} = S_{2}.

Wir können aber auf M die Relation ∼ definieren durch

a ∼ b gdw. aRb und bRa

Offenbar ist ∼ eine Äquivalenzrelation und es gilt

Wenn aRb, a ∼ c und b ∼ d, so cRd

d. h. ∼ und R sind verträglich.

Folglich können wir die Relation R auf die Äquivalenzklassen übertragen:

[a], [b] ∈ M/∼ : [a]\overline{R} [b] gdw. aRb

Man zeigt, daß [M/∼ , \overline{R} ] eine Halbordnung ist.

1.5 Natürliche Zahlen

In diesem Abschnitt beschäftigen wir uns mit der mengentheoretischen Begründung der natürlichen Zahlen. Wir haben diesen Begriff bisher im wesentlichen nur in Beispielen benutzen können (nicht z. B. in Definitionen), denn wir haben ihn bisher nicht definiert. Insbesondere ist noch nicht klar, ob die Menge der natürlichen Zahlen überhaupt existiert, oder ob sie vielleicht sogar zu einer Antinomie führt.

Wir geben zunächst (als weiteres Beispiel einer axiomatische Charakterisierung) eine axiomatische Charakterisierung der natürlichen Zahlen an:

Peanosches Axiomensystem der natürlichen Zahlen Die Grundbegriffe ”Null“, ”Menge aller natürlichen Zahlen“ und ”die natürliche Zahl b ist unmittelbarer Nachfolger der natürlichen Zahl a“, formal durch x_{0}, X, aNfb notiert, werden wie folgt zueinander in Beziehung gesetzt:

1. x_{0} ∈ X (lies: Null ist eine natürliche Zahl)

2. Zu jedem a ∈ X gibt es genau ein b ∈ X mit aNfb

3. Es gibt kein a ∈ X mit aNfx_{0}

4. Für alle a, b, c ∈ X gilt: Wenn aNfc und bNfc, so a = b

5. Für alle M ⊆ X gilt:

Wenn x_{0} ∈ M und (für alle a ∈ M und jedes b mit aNfb gilt b ∈ M), so ist X ⊆ M.

Ein Modell dieses Axiomensystems P ist ein Tripel [α, A, R], bestehend aus einem konkreten mathematischen Objekt α, einer Menge A von Objekten und einer Relation R über A, derart daß diese fünf Axiome erfüllt sind.

Das Tripel [0, N, R^{⋆}] mit aR^{⋆}b gdw. b = a + 1 erfüllt offenbar das Peanosche Axiomensystem; man kann sogar zeigen, daß jedes Modell von P zu diesem Tripel isomorph ist.

Wenn wir gesagt haben, daß [0, N, R^{⋆}] P erfüllt, so setzt daß natürlich voraus, daß sich die in diesem Tripel vorkommenden Objekte 0, N , R^{⋆} mathematisch (mengentheoretisch) als existent begründen lassen.

1.5.1 Gleichmächtigkeit

Den Zugang zur Einführung des Zahlenbegriffs bildet der Begriff der Gleichzahligkeit, der Gleichmächtigkeit. Das Gemeinsame einer Menge von drei Äpfeln, einer Menge von drei Stühlen oder drei Flaschen ist die Gleichmächtigkeit, so daß man sagen kann die Drei, das ist das Mengensystem, in dem genau alle Mengen mit genau drei Elementen vorkommen. Nun kann man aber von einer Menge schwer feststellen, ob sie genau drei Elemente hat, ohne die drei Elemente zu zählen, es sei denn, es ist einem schon eine Menge bekannt, die genau drei Elemente enthält. Dann ist es auch anschaulich klar, daß zwei Mengen dann und nur dann gleich viele Elemente besitzen, wenn es eine Bijektion (eine eineindeutige Abbildung von-auf ) zwischen diesen Mengen gibt.

Definition 1.5.1 (Gleichmächtigkeit) Mengen A, B heißen gleichmächtig (oder äquivalent, notiert durch A ∼ B), wenn es eine Bijektion Φ : A → B gibt.

Man überlegt sich leicht:

Satz 1.5.1 ∼ ist eine Äquivalenzrelation über 𝔈

Definition 1.5.2 (Kardinalzahlen) Die Äquivalenzklassen von 𝔈 nach ∼, d. h. die Elemente von 𝔈/ ∼ heißen Kardinalzahlen (von Mengen erster Stufe). Es ist für M ∈ 𝔈

card (M) = {N|N ∈ 𝔈 und N ∼ M}

Eine Kardinalzahl ist also ein nichtleeres Mengensystem, das alle Mengen enthält, die zu einer Menge dieses Systems gleichmächtig sind. Unserer Anschauung entspricht es, die natürlichen Zahlen als Kardinalzahlen der endlichen Mengen einzuführen.

Wir müssen also dazu den Begriff der endlichen Menge klären, ohne dabei den Zahlenbegriff zu benutzen. Die Erklärung ”M ist genau dann endlich, wenn es Elemente a_{1}, a_{2}, …, a_{n} so gibt, daß M = {a_{1}, …, a_{n}} ist“, ist also als Endlichkeitsdefinition nicht brauchbar.

1.5.2 Der Endlichkeitsbegriff

Eine auf Russel zurückzuführende Definition des Endlichkeitsbegriffes lautet:

Definition 1.5.3 (Russel)

1. Das System 𝔐_{fin} der endlichen Mengen ist das kleinste Mengensystem 𝔐 welches induktiv wie folgt definiert wird (a) ∅ ∈ 𝔐 (Anfangsschritt)

(b) Ist M ∈ 𝔐 und a ∈ E, so (M ∪ {a}) ∈ 𝔐 (Induktionschritt)

2. M heißt endlich, wenn M ∈ 𝔐_{fin} ist (sonst unendlich)

Folgerung 1.5.1 Das Unendlichkeitsaxiom sagt also: E ∉ 𝔐_{fin}.

Eine weitere Endlichkeits- bzw. Unendlichkeitsdefinition wurde von Dedekind angegeben:

Definition 1.5.4 (Dedekind)

1. Eine Menge M heißt ”unendlich“, wenn es eine echte Teilmenge M′ ⊂ M mit M′ ∼ M gibt.

2. Eine Menge M heißt ”endlich“, wenn M keine echte Teilmenge M′ ⊂ M mit M′ ∼ M besitzt.

Diese Definition beruht auf der Beobachtung, daß nur unendliche Mengen zu einer ihrer echten Teilmengen äquivalent sind. So ist z. B. die Menge N äquivalent mit der Menge der geraden natürlichen Zahlen, eine Bijektion Φ : N → {0, 2, 4, …} ist gegeben durch die Gleichung Φ (x) = 2x. Wir beweisen, daß beide Definitionen gleichwertig sind. Dabei bezeichnet endlich die Russelsche und ”endlich“ die Dedekindsche Auffassung.

Satz 1.5.2 (Gleichwertigkeit der Endlichkeitsbegriffe) Eine Menge M ist endlich genau dann, wenn sie ”endlich“ ist.

Beweis ⟹ Jede endliche Menge ist ”endlich“, d. h. wenn M ∈ 𝔐_{fin}, so gilt für jede echte Teilmenge M′ ⊂ M: M′ ≁ M.

Wir beweisen diese Behauptung durch Induktion über M

Anfangsschritt: M = ∅ Die Behauptung ist trivial, weil die leere Menge keine echten Teilmengen besitzt.

Induktionsschritt:

Induktionsvoraussetzung:

Für jede echte Teilmenge M′ von M ist M′ ≁ M

Induktionsbehauptung:

Für jede echte Teilmenge N′ von M ∪ {a} ist N′ ≁ M ∪ {a}

Wenn a ∈ M ist, so gilt M ∪ {a} = M, die Behauptung ist mit der Voraussetzung identisch. Es sei also a ∉ M.

Wir schließen indirekt, und nehmen an, daß

N′ ⊂ M ∪ {a} , N′ ∼ M ∪ {a}.

Es sei Φ : N′ → M ∪ {a} bijektiv. Wir setzen

N′′ =_{Def} N′ \ {Φ^{−1} (a)} , Φ′ =_{Def} Φ \ {[Φ^{−1} (a) , a]}

und erhalten Φ′ : N′′ → M ist bijektiv

also N′′ ∼ M.

An dieser Stelle müssen wir eine Fallunterscheidung vornehmen:

Fall 1: a ∉ N′′ Wegen

N′′ = N′ \ {Φ^{−1} (a)} ⊂ N′ ⊂ M ∪ {a},

gilt die Inklusion N′′ ⊆ M, aus N′′ ∼ M folgt nach Induktionsvoraussetzung N′′ = M, folglich Φ^{−1} (a) = a, d. h. N′ = M ∪ {a} im Widerspruch zu N′ ⊂ M ∪ {a}.

Fall 2: a ∈ N′′

Es sei b =_{Def} Φ′ (a) ∈ M und c =_{Def} Φ^{−1} (a), sowie

Ψ (x) =_{Def} \{ \begin{matrix}a & für & x = a \\ b & für & x = c \\ Φ (x) & für & x ∈ N′ \ \{a, c\} \end{matrix}

ferner N′′′ = (N′′ \ {a} ∪ {c}).

Dabei ist N′′′ ∼ N′′ ∼ M und a ∉ N′′′ ⊂ N′ ⊂ M ∪ {a}, also N′′′ ⊆ M, woraus nach Induktionsvoraussetzung N′′′ = M folgt. Wegen N′ = N′′′ ∪ {a} = M ∪ {a} erhalten wir abermals einem Widerspruch zu N′ ⊂ M ∪ {a}.

□

Damit ist Richtung ⟹ bewiesen. Noch zu zeigen:

Beweis ⟸ Jede ”endliche“ Menge M ist endlich, d. h. M ∈ 𝔐_{fin}.

Wir führen den Beweis indirekt und nehmen an, daß M_{0} eine Menge ist, mit

1. Wenn M′ ⊂ M_{0}, so M′ ≁ M_{0}

2. M_{0} ∉ 𝔐_{fin}.

Dann gibt es zu jedem N ∈ 𝔐_{fin} mit N ⊆ M_{0} ein a ∈ M_{0} mit a ∉ N, d. h. M_{0} \ N ≠ ∅ für alle N ∈ 𝔐_{fin} mit N ⊆ M_{0}. Wir setzen

𝔐^{⋆} =_{Def} {M_{0} \ N|N ⊆ M_{0}und N ∈ 𝔐_{fin}}

Es ist ∅ ∉ 𝔐^{⋆} weil M_{0} ∉ 𝔐_{fin} und 𝔐^{⋆} ≠ ∅ weil M_{0} = M_{0} \ ∅ ∈ 𝔐^{⋆}.

Eine gleichwertige Formulierung des Auswahlaxioms lautet:

Zu jedem nichtleeren Mengensystem 𝔐 nichtleerer Mengen existiert eine Auswahlfunktion, d. h. eine Abbildung ρ : 𝔐 → ⋃ 𝔐 mit ρ (M) ∈ M für alle M ∈ 𝔐.

Es sei ρ eine Auswahlfunktion für 𝔐^{⋆}, wir setzen

\begin{aligned}a_{0} & = & ρ (M_{0}) \\ a_{i+1} & = & ρ (M_{0} \ \{a_{0}, a_{1}, …, a_{i}\}) i = 0, 1, 2, … \end{aligned}

Offenbar ist {a_{0}, …, a_{i}} ∈ 𝔐_{fin}, also M_{0} \ {a_{0}, … a_{i}} ∈ 𝔐^{⋆}. Dabei sind für jedes i die Elemente a_{0}, … a_{i} offenbar paarweise verschieden. Es sei schließlich

\begin{aligned}M^{⋆} & = & \{a_{0}, a_{1}, …\} \\ M^{⋆⋆} & = & \{a_{1}, a_{2}, …\} \end{aligned}

Offenbar ist M^{⋆} ∼ M^{⋆⋆}. Ferner ist M_{0} = M^{⋆} ∪ (M_{0} \ M^{⋆}) und für M′ =_{Def} M^{⋆⋆} ∪ (M_{0} \ M^{⋆}) gilt M′ ⊂ M_{0}, aber es ist M′ ∼ M_{0}, wie man leicht sieht. Das ist ein Widerspruch zur Voraussetzung 1. □

Folgerung 1.5.2 Eine Menge ist ”unendlich“ genau dann, wenn sie unendlich ist.

1.5.3 Die Menge der natürlichen Zahlen

Definition 1.5.5 (Natürliche Zahlen,Null und Nachfolger)

1. n ist eine natürliche Zahl, wenn n die Kardinalzahl einer endlichen Menge ist.

2. 0 = card (∅) = {∅}

3. N := 𝔐_{fin}/ ∼

4. Für natürliche Zahlen n, m definieren wir die Nachfolgerelation Nf

n Nf m :↔ Es gibt ein N ∈ n und a ∈ E mit a ∉ N und N ∪ {a} ∈ m.

Satz 1.5.3 Das Tripel [0, N, Nf] ist ein Modell des Peanoschen Axiomensystems.

Wir führen den Beweis nicht aus, merken lediglich an, daß man zum Nachweis der Existenz des Nachfolgers einer natürlichen Zahl das Unendlichkeitaxiom braucht.

Ist nämlich n ∈ N, etwa n = card (N) wobei N ∈ 𝔐_{fin}, so ist zu zeigen, daß ein a ∈ E mit a ∉ N existiert.

Gäbe es ein solches a nicht, so hätte man E ⊆ N, also E = M, d. h. E = N ∈ 𝔐_{fin}, im Widerspruch zum Unendlichkeitsaxiom.

Definition 1.5.6 Es seien m, n beliebige Kardinalzahlen. Wir setzen m ≤ n gdw. es Mengen M ∈ m, N ∈ n und eine Injektion Φ : M → Ngibt.

Satz 1.5.4 [𝔈/ ∼, ≤] ist eine reflexive Ordnung, d. h. für beliebige Kardinalzahlen m, n, k gilt:

1. m ≤ m (Reflexivität)

2. Wenn m ≤ n und n ≤ k, so m ≤ k (Transitivität)

3. Wenn m ≤ n und n ≤ m, so m = n (Antisymmetrie)

4. m ≤ n oder n ≤ m Bemerkung Die ersten drei Behauptungen entsprechen den Halbordnungsaxiomen.

Die erste und zweite Behauptung ist leicht einzusehen. Wir beweisen hier nur die Antisymmetrie von ≤ in Form des

Satz 1.5.5 (Bernsteinscher Äquivalenzsatz) Sind M, N Mengen und ist Φ : M → N injektiv, sowie Ψ : N → M injektiv, so ist M ∼ N.

Zur Vorbereitung zeigen wir folgenden

Hilfssatz (Fixpunktsatz) Es sei M eine beliebige Menge und f : 𝔓 (M) → 𝔓 (M) mit: Wenn A, B ⊆ M und A ⊆ B, so f (A) ⊆ f (B). Dann hat F einen Fixpunkt C, d. h. es gibt eine Menge C ⊆ M mit

f (C) = C

Beweis des Hilfssatzes Es sei

𝔄 =_{Def} {A|A ⊆ Mund A ⊆ f (A)}
C =_{Def} ⋃ 𝔄.

Zum Beweis von C = f (C) zeigen wir zuerst

C ⊆ f (C) .

Es sei x ∈ C beliebig. Dann gibt es ein A ∈ 𝔄 mit x ∈ A. Wegen A ⊆ f (A) ist x ∈ f (A), ferner ist A ⊆ C. Aus der Monotonie von F ergibt sich X ∈ f (A) ⊆ f (C), also x ∈ f (C).

Aus C ⊆ f (C) folgt f (C) ⊆ f (f (C)), also ist f (C) ∈ 𝔄, d. h. f (C) ⊆ ⋃ 𝔑 = C. Damit ist der Hilfssatz bewiesen. □

Beweis des Bernsteinschen Äquivalenzsatzes Es seien nun M, N, Φ, Ψ mit den angegebenen Eigenschaften gegeben. Wir betrachten die Abbildung f : 𝔓 (M) → 𝔓 (M) mit:

f (X) =_{Def} M \ \overline{Ψ} (N \ \overline{Φ} (X))

für X ⊆ M, wobei

\overline{Φ} (X) = \{Φ (x) |x ∈ X\} für X ⊆ M
\overline{Ψ} (Y) = \{Ψ (y) |y ∈ Y \} für Y ⊆ N

gesetzt ist.

Wir zeigen zunächst, daß F monoton ist. Ist A ⊆ B ⊆ M, so \overline{Φ} (A) ⊆ \overline{Φ} (B) ⊆ \overline{Φ} (M) ⊆ N, folglich N \ \overline{Φ} (A) ⊇ N \ \overline{Φ} (B) und also

M ⊇ \overline{Ψ} (N \ \overline{Φ} (A)) ⊇ \overline{Ψ} (N \ \overline{Φ} (B)),

so daß

f (A) = M \ \overline{Ψ} (N \ \overline{Φ} (A)) ⊆ M \ \overline{Ψ} (N \ \overline{Φ} (B)) = f (B)

folgt.

Nach unserem Hilfssatz besitzt F einen Fixpunkt C. Wir setzen nun für x ∈ M

τ (x) =_{Def} \{ \begin{matrix}Φ (x) , & falls x ∈ C \\ Ψ^{−1} (x) , & falls x ∉ C \end{matrix}

und zeigen, daß τ : M → N bijektiv ist.

1. τ ist injektiv (eineindeutig)

Die Eindeutigkeit von τ ist offensichtlich, es genügt also zu zeigen:

Wenn τ (x_{1}) = τ (x_{2}) , so x_{1} = x_{2}

In den Fällen, daß x_{1}, x_{2} ∈ C oder x_{1}, x_{2} ∈ M \ C ist, folgt das unmittelbar aus der Eineindeutigkeit von Φ bzw. Ψ^{−1} Es sei o.B.d.A. x_{1} ∈ C, x_{2} ∉ C. Dann ist

y =_{Def} τ (x_{1}) = Φ (x_{1}) ∈ Nund y = τ (x_{2}) = Ψ^{−1} (x_{2})

Wegen x_{1} ∈ C ist y = Φ (x_{1}) ∈ \overline{Φ} (C). Andererseits ist Ψ (y) = x_{2} ∉ C, also x_{2} ∉ f (C) = M \ \overline{Ψ} (N \ \overline{Φ} (C)), folglich x_{2} ∈ \overline{Ψ} (N \ \overline{Φ} (C)) wegen x_{2} ∈ M.

Es gibt also ein y′ ∈ N \ \overline{Φ} (C) mit x_{2} = Ψ (y′). Weil Ψ eineindeutig ist, folgt aus Ψ (y) = x_{2} = Ψ (y′), daß y = y′ ist. Das steht im Widerspruch zu y ∈ \overline{Φ} (C), y′ ∉ \overline{Φ} (C). Der Fall x_{1} ∈ C, x_{2} ∉ C kann also nicht eintreten.

2. τ ist Abbildung auf N.

Es sei y ∈ N beliebig. Wenn x =_{Def} Ψ (y) ∉ C, so ist τ (x) = Ψ^{−1} (x) = y, es ist also y ein Wert von τ. Andernfalls ist x ∈ C = f (C) = M \ \overline{Ψ} (N \ \overline{Φ} (C)). Folglich ist x ∈ M und x ∉ \overline{Ψ} (N \ \overline{Φ} (C)). Wir zeigen, daß in diesem Fall y ∈ \overline{Φ} (C) ist. Sonst währe nämlich y ∈ N \\overline{Φ} (C), also x = Ψ (y) ∈ \overline{Ψ} (N \ \overline{Φ} (C)). Widerspruch. Aus y ∈ \overline{Φ} (C) ergibt sich die Existenz eines x′ ∈ C mit y = Φ (x′). Nun ist wegen x′ ∈ C

τ (x′) = Φ (x′) = y,

also triff y auch in diesem Fall als Wert von τ auf.

Damit ist der Bernsteinsche Äquivalenzsatz bewiesen. □

Man kann zeigen:

Satz 1.5.6 Für beliebige Kardinalzahlen m, n gilt: m ≤ n genau dann, wenn es Mengen M ∈ 𝔐, N ∈ 𝔑 und eine surjektive Abbildung Φ : N → M gibt.

Definition 1.5.7 (Abzählbarkeit, Überabzählbarkeit) Eine Menge M heißt abzählbar unendlich, wenn sie gleichmächtig mit N ist. Ist M unendlich und M ≁ N, so wird M überabzählbar genannt.

Die Kardinalzahl der Menge N wird mit ℵ_{0} (Aleph Null) bezeichnet, dies ist die kleinste unendliche Kardinalzahl. Überabzählbar ist z. B. die Menge aller Folgen von Nullen und Einsen, d. h. die Menge M_{1} = {Φ|Φ : N → {0, 1}}, diese Menge hat die gleiche Mächtigkeit wie die Menge der reellen Zahlen im Intervall [0, 1] bzw. wie die Menge aller reellen Zahlen. Die Kardinalzahl dieser Menge wird mit ℵ (Aleph) bezeichnet, es ist also ℵ_{0} < ℵ.

Nun können wir gewohnte Operationen auf der Menge der natürlichen Zahlen mittels Kardinalzahlen definieren:

Definition 1.5.8 (Addition, Multiplikation) Für Kardinalzahlen m, n sei

m + n =_{Def} card (M ∪ N)

für beliebiges M ∈ n, N ∈ n mit M ∩ N = ∅ und

m · n =_{Def} card (M × N)

für beliebiges M ∈ m, N ∈ n.

Man zeigt ohne Schwierigkeiten, daß diese Definitionen vom Repräsentanten unabhängig sind, d. h. daß gilt:

1. Wenn M ∼ M′, N ∼ N′, M ∩ N = ∅, M′ ∩ N′ = ∅, so card (M ∪ N) = card (M′ ∪ N′).

2. Wenn M ∼ M′, N ∼ N′, so card (M × N) = card (M′ × N′).

Für natürliche Zahlen gelten dabei natürlich die üblichen Rechenregeln, das ist bei unendlichen Kardinalzahlen nicht der Fall, man verifiziert z. B. leicht, daß ℵ_{0}+ℵ_{0} = ℵ_{0} ist. Es gilt aber z. B.

Satz 1.5.7 Es ist für beliebige Kardinalzahlen m, n: m ≤ n genau dann, wenn es eine Kardinalzahl k mit m + k = n gibt.

Übung 13 Man führe die offen gebliebenen Beweise und außerdem:

1. A ∪ (B \ C) = ((A ∪ B) \ C) ∪ (A ∩ C)

2. A ∩ B = A \ (A \ B)

3. (A \ B) × C = (A × C) \ (B × C)

4. (A × B) \ (C × D) = ((A \ C) × B) ∪ (A × (B \ D))

5. Es sei f : R_{1} × R_{2} → R_{1} × R_{2} (R_{1} = die Menge der reellen Zahlen) mit f (x, y) = [x + y, x − y]. Man untersuche, ob f surjektiv, injektiv bzw. bijektiv ist.

6. Es seien f : X → Y, g_{1}, g_{2} : Y → X mit

f ∘ g_{1} = f ∘ g_{2} = I_{Y}, g_{1} ∘ f = I_{X}.

man beweise: g_{1} = g_{2}.

7. Es sei Z die Menge der ganzen Zahlen und

R = {[[a, b] , [c, d]] |a, b, c, d ∈ Z, b, d ≠ 0, ad = bc}

Man zeige, daß R eine Äquivalenzrelation ist und charakterisiere die Äquivalenzklassen.

1.6 Wörter

In diesem Abschnitt beschäftigen wir uns mit einer Verallgemeinerung der natürlichen Zahlen — den Wörtern. Wörter spielen in der Informatik eine große Rolle, sie bilden die Grundlage für den Begriff der Sprache, also für den Kalkülbegriff einerseits und für Programmiersprachen andererseits. Die rechentechnische Realisierung erfolgt je nach Anwendungsbereich durch die Datentypen String (Zeichenkette) als array of character oder durch den Datentyp Liste (wenn die Länge der betrachteten Ketten unbeschränkt ist). Wörter werden als endliche Folgen von Buchstaben (= Elementen eines endlichen Alphabets) verstanden.

1.6.1 Grundbegriffe

Definition 1.6.1 (Alphabet, Wort) Zuerst definieren wir

1. Ein Alphabet X ist eine endliche, nichtleere Menge (die Elemente nennt man Buchstaben).

2. p ist ein Wort über X, wenn p eine endliche Folge von Elementen von X ist, d. h. es gibt eine natürliche Zahl n, so daß p : {0, …, n − 1} → X.

3. Das Wort e : ∅ → X heißt das leere Wort.

4. Die Zahl n wird als Länge l (p) des Wortes p bezeichnet.

5. W (X) bezeichnet die Menge aller Wörter über X.

Bemerkung Die Abbildung l : W (X) → N ist nicht umkehrbar, falls card (X) ≥ 2.

Um die Menge W (X) zu einer Algebra zu machen, definieren wir eine Operation auf W (X):

Definition 1.6.2 (Verkettung, concatenation) Es sei p : {0, …, n − 1} → X, q : {0, …, m − 1} → X. Dann ist die Verkettung von p mit q die Abbildung p^{⌢}q : {0, …, m + n − 1} → X mit

p^{⌢}q (i) := \{ \begin{matrix}p (i) , & i ≤ n − 1 \\ q (i − n) , & n ≤ i ≤ m + n − 1. \end{matrix}

Was hat diese Operation für Eigenschaften?

Satz 1.6.1 [W (X) ,^{⌢}, e] ist eine Halbgruppe mit dem Einselement e.

Beweis Man rechnet leicht nach:

1. p^{⌢}(q^{⌢}r) = (p^{⌢}q)^{⌢}r (^{⌢} ist assoziativ)

2. p^{⌢}e = p = e^{⌢}p für jedes p ∈ W (X). (e ist Einselement in [W (X),^{⌢}])

Übung 14 Wir kennen bereits folgende Halbgruppe: [N, +, 0]. Frage: Haben beide etwas Gemeinsames? Sind beide homomorph? (Standardfrage in der Mathematik in solchem Fall)

Definition 1.6.3 (Homomorphismus) f ist Homomorphismus von der Halbgruppe [M, ∘, 1_{M}] in [N, ⋆, 1_{N}] wenn gilt:

1. f : M → N

2. f (1_{M}) = 1_{N}

3. f (m_{1} ∘ m_{2}) = f (m_{1}) ⋆ f (m_{2})

Ist f überdies bijektiv, so heißt f Isomorphismus.

Folgerung 1.6.1 l ist ein Homomorphismus von [W (X) ,^{⌢}, e] auf [N, +, 0].

Bemerkung Wenn card (X) = 1, so ist l umkehrbar eindeutig, (folglich bijektiv). Mit anderen Worten, die Halbgruppen [N, +, 0] und [W ({a}),^{⌢}, e] sind isomorph, d. h. [N, +, 0] und [W ({a}),^{⌢}, e] sind algebraisch gesehen identisch. Wörter sind also eine Verallgemeinerung von Zahlen, d. h. Zahlen sind spezielle Wörter.

Wir werden nun die Schreibweise vereinfachen, indem wir Struktureigenschaften der Wörter ausnutzen (z. B. erzeugendes Element)

Definition 1.6.4 (Erzeugendensystem) E ist Erzeugendensystem für [W (X) ,^{⌢}, e], wenn:

1. e ∉ E ⊆ W (X)

2. zu jedem p ∈ W (X)\{e} gibt es Elemente r_{1}, …, r_{k} ∈ E mit p = r_{1}^{⌢}r_{2}^{⌢}…^{⌢}r_{k}.

Man sucht natürlich einfache Elemente als erzeugende Elemente. Hierfür bieten sich Buchstaben an (sie sind keine Wörter!). Deshalb setzen wir fest:

Definition 1.6.5 (Buchstaben – Worte der Länge 1) Für x ∈ X sei \underline{x} =_{Def} \{[0, x]\} Wort der Länge 1.

Damit haben wir die Buchstaben auf das Nivau Wort gebracht. Später werden wir \underline{x} und x identifizieren.

Satz 1.6.2 \underline{X} =_{Def} \{\underline{x}|x ∈ X\} ist ein Erzeugendensystem für [W (X) ,^{⌢}, e].

Beweis Sei p ∈ W (X) und p : {0, …, n − 1} → X. Offenbar ist p = \underline{p (0)}^{⌢}\underline{p (1)}^{⌢}…^{⌢}\underline{p (n − 1)}, da p (i) ∈ X. □

Beispiele

• [N^{+}, ·, 1] ist eine Halbgruppe. Erzeugendensystem ist Pz – die Menge der Primzahlen, z. B. 6 = 2 · 3 = 3 · 2

• [N, +, 0] ist Halbgruppe.

Erzeugendensystem ist {1}, z. B. 3 = 1 + 1 + 1.

Unterschied zwischen beiden Halbgruppen ist, daß die Elemente im ersten Beispiel in mehreren Weisen, im zweiten Beispiel dagegen nur auf einer Weise erzeubar sind.Die Erzeugung der zweiten Halbgruppe ist frei von nichttrivalen Gleichungen.

Definition 1.6.6 (freie Halbgruppe) G = [M, ∘, 1, E] sei eine Halbgruppe mit Erzeugendensystem E. Die Halbgruppe G heißt frei erzeugt (frei von nichttrivialen Gleichungen), wenn aus m_{1}∘m_{2}∘⋯∘m_{k} = m′_{1} ∘ m′_{2} ∘ ⋯ ∘ m′_{n} stets k = n und m_{1} = m′_{1}, …, m_{k} = m′_{k} folgt (für m_{i}, m′_{i} ∈ E).

Folgerung 1.6.2 [W (X) ,^{⌢}, e, \underline{X}] ist freie Halbgruppe.

Satz 1.6.3 Alle freien Halbgruppen mit derselben Zahl von erzeugenden Elementen sind isomorph.

Beweis Idee: Erzeugende Elemente einer freien Halbgruppe sind nicht zerlegbar. Wir werden deshalb Erzeugende aufeinander abbilden.

Seien [M_{1}, ∘_{,}1, E_{1}], [M_{2}, ⋆, \underline{1}, E_{2}] Halbgruppen mit card (E_{1}) = card (E_{2}).

Es sei f : E_{1} → E_{2} bijektiv. Weiter definiert man den Homomorphismus folgendermaßen: f (1) = \underline{1}. Sei m ∈ M_{1}. m besitzt genau eine Darstellung m = r_{1}∘_{1}r_{2}∘⋯∘r_{k} (r_{i} ∈ E_{1}). Dann sei f (m) := f (r_{1})⋆f (r_{2})⋆⋯⋆f (r_{k}). Daß f ein Homomorphismus ist, ist klar.

Es bleibt zu zeigen, daß f bijektiv ist, d. h. daß f eine umkehrbare Abbildung auf M_{2} ist.

Es sei m′ ∈ M_{2}. Wenn m′ = \underline{1}, so besitzt m′ das Urbild 1 ∈ M_{1} wegen f(1) = \underline{1}. Für m ∈ M_{1} \ \{1\} ist f(m) ≠ \underline{1} ∈ M_{2}, weil anderenfalls aus der Darstellung

m = r_{1} ∘ r_{2} ∘ ⋯ ∘ r_{k} (r_{i} ∈ E_{1})

von m in M_{1} eine Darstellung

\underline{1} = f(m) = f(r_{1}) ⋆ ⋯ ⋆ f(r_{k}) (f(r_{i}) ∈ E_{2})

des Einselements in M_{2} gewonnen würde im Widerspruch dazu, daß [M_{2}, ⋆, \underline{1}, E_{2}] frei ist (Die obige Darstellung wäre eine nichttriviale Gleichung). Also ist 1 ∈ M_{1} das einzige Urbild von \underline{1} ∈ M_{2}.

Ist m′ ∈ M_{2} \ \{\underline{1}\}, dann sei

m′ = r′_{1} ⋆ ⋯ ⋆ r′_{k} (r′_{i} ∈ E_{2})

die Darstellung von m′ aus Erzeugenden. Da f bijektiv von E_{1} auf E_{2} ist, gibt es eindeutig bestimmte r_{i} ∈ E_{1} mit f(r_{i}) = r′_{i} und

m = r_{1} ∘ ⋯ ∘ r_{k}

ist ein Element von M_{1} mit f(m) = m′. Man überlegt sich wie oben, daß m eindeutig bestimmt ist. □

Bemerkung Eine Abbildung f : X → Y zwischen den Alphabeten X und Y induziert immer einen Homomorphismus von [W (X) ,^{⌢}, e] auf [W (Y) ,^{⌢}, e]. Allgemein kann man sogar schreiben f : X → W (Y).

Folgerung 1.6.3 Jede freie Halbgruppe mit endlichem Erzeugendensystem ist isomorph zu einer Worthalbgruppe.

[N, +, 0, {1}] ist eine Halbgruppe mit genau einem Erzeugenden und ist isomorph zu

[W (\{|\}) ,^{⌢}, e, \{\underline{|}\}]

[N, +, 0, {1}] ist kommutativ, also auch

[W (\{|\}) ,^{⌢}, e, \{\underline{|}\}]

folglich ist jede freie Halbgruppe mit genau einem Erzeugenden kommutativ.

Es ist bekannt, daß man bei der Übermittlung von Nachrichten mit 2 Zeichen auskommen kann (z. B. Computer: 0, 1). Frage: Warum nicht mit einem Zeichen? Der Grund liegt in der Kommutativität, denn es gibt Halbgruppen, die nicht kommutativ sind. Dazu unternehmen wir einen kurzen Ausflug in die

Codierungstheorie

Unter einer Codierung C verstehen wir eine Abbildung C : W (X) → W (Y). Für die im Alphabet X formulierte Nachricht p ∈ W (X) ist dann C(p) ∈ W (Y) die im Alphabet Y (z. B. Morse–Alphabet) codierte Nachricht, der Code von p. Die Codierung C ist decodierbar, wenn die Abbildung eindeutig umkehrbar ist, d. h. aus C(p) = C(q) stets p = q folgt.

Die einfachsten Codierungen sind sogenannte kombinatorische Codierungen, nämlich Homomorphismen von W (X) in W (Y), die ja bereits durch die Teilabbildung C : X → W (Y) festgelegt sind. Für ein Wort p = x_{1} ⋯ x_{n} ist dann C(p) = C(x_{1}) ⋯ C(x_{n}).

Eine solche Codierung ist genau dann decodierbar, wenn die Unterhalbgruppe, die von der Wertemenge {C(x) | x ∈ X} in der freien Halbgruppe W (Y) erzeugt wird, frei erzeugt ist. Klar, denn um ein Wort q = y_{1} ⋯ y_{m} ∈ W (Y) zu decodieren, d. h. es in der Form q = C(x_{1}) ⋯ C(x_{n}) darzustellen, darf es nur eine solche Zerlegung von q in Elemente von {C(x) | x ∈ X} geben.

Der folgende Satz sagt aus, daß es zu jedem endlichen Alphabet eine decodierbare Codierung in ein zweielementiges Alphabet gibt.

Satz 1.6.4 (Hauptsatz der Codierungstheorie) In der freien Halbgruppe [W ({a, b)},^{⌢}, e, {a, b}] mit genau zwei Erzeugenden existiert zu jedem k ≥ 1 eine freie Unterhalbgruppe mit genau k Erzeugenden.

Beweis Sei k gegeben.

E_{k} =_{Def} \{a \underbrace{b}_{1} a, …, a \underbrace{b … b}_{k} a\}

Sei E_{k}^{⋆} die Menge aller Wörter, die durch endlich oftmaliges Verketten von Elementen aus E_{k} entstehen. H_{k} = [E_{k}^{⋆},^{⌢}, e, E_{k}] ist frei, die Codierung C mit C(x_{k}) = a \underbrace{b … b}_{k} a ist decodierbar. □

1.6.2 Induktive Beweise in [W (X) ,^{⌢}, e, X]

Beispiel [N, +, 0, {1}] Um zu zeigen, daß eine Aussage H (n) für alle n aus N gilt, genügt es zu zeigen:

A) H (0)

I) Wenn H (n), so H (n + 1).

Wir verallgemeinern diese Aussage für Halbgruppen mit beliebigem Erzeugendensystem:

Induktionstheorem Um zu zeigen, daß eine Aussage H auf alle Elemente p einer Halbgruppe [M, ∘, 1, E] mit dem Erzeugendensystem E zutrifft, genügt es zu zeigen

A) H (1)

I) Für alle Erzeugenden x gilt: Wenn H (r) und x ∈ E, so H (r ∘ x)

(bzw: Wenn H (r) und x ∈ E, so H (x ∘ r))

Beweis des Induktionstheorems erfolgt indirekt:

Nehmen wir an, daß es Elemente q ∈ M gibt, auf die H nicht zutrifft. Unter diesen Elementen kommt das Einselement nicht vor, weil H (1) gilt (Anfangsschritt). Jedes dieser Elemente besitzt also eine Darstellung

q = q_{1} ∘ q_{2} ∘ ⋯ ∘ q_{k}

aus Erzeugenden q_{i} ∈ E. Es sei q^{⋆} ein Element mit einer kürzesten Darstellung

q^{⋆} = q_{1}^{⋆} ∘ ⋯ ∘ q_{k^{⋆}}^{⋆} (k^{⋆} minimal).

Wir setzen q^{⋆⋆} = q_{1}^{⋆} ∘ ⋯ ∘ q_{k^{⋆}−1}^{⋆} falls k^{⋆} ≥ 2 und q^{⋆⋆} = 1 falls k^{⋆} = 1. Wegen der Minimalität von k^{⋆} gilt H (q^{⋆⋆}) und es ist

q^{⋆} = q^{⋆⋆} ∘ q_{k}^{⋆}, q_{k^{⋆}}^{⋆} ∈ E

Aus I) erhalten wir damit H (q^{⋆}); Widerspruch. □

Auch das Prinzip der Ordnungstheoretischen Induktion kann auf (freie) Halbgruppen übertragen werden:

Bemerkung (Ordnungstheoretische Induktion in [N, ≤]) Um zu zeigen, daß eine Aussage H für alle n ∈ N gilt, ist z. z.: Wenn H auf alle k < n zutrifft, so trifft H auf n zu.

Definition 1.6.7 (Relationen in W (X))

1. p \underline{in} q ↔_{Def} es gibt Wörter r, s mit q = rps

2. p ⊑ q (p ist Anfangsstück von q) ↔_{Def} Es gibt s mit q = ps

3. p ⊒ q (p ist Endstück von q) ↔_{Def} Es gibt r mit q = rp

Satz 1.6.5 (Halbordnungen in W (X)) [W (X), \underline{in} ], [W (X), ⊑], [W (X), ⊒] sind reflexive Halbordnungen.

Beweis Wir zeigen hier nur, daß \underline{in} folgende Eigenschaften hat:

• reflexiv: p \underline{in} p (r, s = e)

• transitiv: p \underline{in} q und q \underline{in} r, so p \underline{in} r (q = r_{1}ps_{1}, r = r_{2}qs_{2} und mit r_{3} = r_{2}r_{1} und s_{3} = s_{1}s_{2} folgt r = r_{3}ps_{3})

• antisymmetrisch: p \underline{in} q und q \underline{in} p so p = q (q = r_{1}ps_{1}, r = r_{2}qs_{2} und mit r_{1}, r_{2}, s_{1}, s_{2} = e folgt p = q)

□

Übung 15 Man führe die restlichen Beweise analog.

Folgerung 1.6.4 Wenn p \underline{in} q so l (p) ≤ l (q). Wenn p ⊑ q so l (p) ≤ l (q). Wenn p ⊒ q so l (p) ≤ l (q).

Satz 1.6.6 (Ordnungstheoretische Induktion in W (X)) Um zu zeigen, daß eine Aussage H auf alle p ∈ W (X) zutrifft, genügt es zu zeigen, daß für alle p gilt:

Wenn für alle r mit r \underline{in} p (bzw. r ⊑ p bzw. r ⊒ p) und r ≠ p stets H (r)

gilt, so gilt H (p).

Nehmen wir an, daß H nicht für alle p ∈ W (X) gilt, dann existiert ein kürzestes Wort p so, daß H nicht auf p zutrifft. Alle r mit r \underline{in} p (bzw. r ⊑ p bzw. r ⊒ p) und r ≠ p sind aber echt kürzer als p, d. h. H trifft auf alle Wörter r zu; folglich trifft H auf p zu. Widerspruch.

1.6.3 Induktionsbeweise in Algebren [M, Φ, E]

Wir betrachten eine beliebige Algebra [M, Φ, E] mit Erzeugendensystem E. Hierbei ist M eine Menge, Φ ist eine Menge von Abbildungen ϕ : M × ⋯ × M → M und E ist eine Teilmenge von M derart, daß jedes Element von M aus Elementen von E durch Anwendung von Funktionen aus Φ erzeugt werden kann.

Beispiel [𝔐fin, {+a|a ∈ E} , {∅}] Dabei ist die Funktion +a für a ∈ E (die Allmenge erster Stufe) und N ∈ 𝔐fin definiert als +a (N) =_{Def} N ∪ {a}. Es ist also zum Beispiel

{a, b, c} = +c (+b (+a (∅))) .

Um zu zeigen, daß H (m) für alle m ∈ M gilt, genügt es zu zeigen, daß

1. H (x) für alle Erzeugenden x ∈ E gilt (Anfangsschritt)

2. Für alle ϕ^{n} ∈ Φ, a_{1} …, a_{n} ∈ M mit H (a_{1}) , …, H (a_{n}) gilt H(\underbrace{ϕ^{n} (a_{1}, … a_{n})}_{∈M})

1.6.4 Induktive Definitionen

Eine induktive Definition einer (k + 1)-stelligen Funktion f im Bereich der natürlichen Zahlen folgt dem Schema

\begin{aligned}f (x_{1}, ⋯, x_{k}, 0) & = & g (x_{1}, ⋯, x_{k}) \\ f (x_{1}, ⋯, x_{k}, n + 1) & = & h (x_{1}, …, x_{k}, n, f (x_{1}, …, x_{k}, n)) \end{aligned}

Die Definition ist implizit, da f auf der rechten und auf der linken Seite vorkommt. Eine implizite Definition muß gerechtfertigt werden:

Satz 1.6.7 (Dedekindscher Rechtfertigungssatz) Sind g, h Funktionen, so gibt es genau eine Funktion f, die das Schema erfüllt.

Beweis Wir zeigen

1. es existiert eine Funktion f

2. es existiert genau eine Funktion f.

Einzigkeit:

Es seien f_{1}, f_{2} Funktionen, die das Gleichungssystem erfüllen. Wir zeigen durch Induktion über i, daß für alle x_{1}, …, x_{k}, i

f_{1} (x_{1}, …, x_{k}, i) = f_{2} (x_{1}, …, x_{k}, i)

ist. Im Anfangsschritt ist i = 0, also

f_{1} (x_{1}, …, x_{k}, i) = f_{1} (x_{1}, …, x_{k}, 0)
= g (x_{1}, …, x_{k})
= f_{2} (x_{1}, …, x_{k}, 0)
= f_{2} (x_{1}, …, x_{k}, i)

Im Induktionschritt schließen wir von i auf i + 1:

f_{1} (x_{1}, …, x_{k}, i + 1) = h (x_{1}, …, x_{k}, i, f_{1} (x_{1}, … x_{k}, i))
= h (x_{1}, …, x_{k}, i, f_{2} (x_{1}, … x_{k}, i)) (Voraussetzung)
= f_{2} (x_{1}, …, x_{k}, i + 1)

Existenz:

Zum Beweis der Lösbarkeit des Gleichungssystems lösen wir die induktive Definition in eine unendliche Folge von expliziten Definitionen auf:

f_{0} (x_{1}, …, x_{k}, j) := \{ \begin{matrix}g (x_{1}, …, x_{k}) , & falls j = 0 \\ nicht definiert, & sonst \end{matrix}

f_{1} (x_{1}, …, x_{k}, j) := \{ \begin{matrix}f_{0} (x_{1}, …, x_{k}, j) , & falls j < 1 \\ h (x_{1}, …, x_{k}, 0, f_{0} (x_{1}, … x_{k}, 0)) , & falls j = 1 \\ nicht definiert, & sonst \end{matrix}

⋮
f_{i+1} (x_{1}, …, x_{k}, j) := \{ \begin{matrix}f_{i} (x_{1}, …, x_{k}, j) , & falls j < i + 1 \\ h (x_{1}, …, x_{k}, i, f_{i} (x_{1}, … x_{k}, i)) , & falls j = i + 1 \\ nicht definiert, & sonst \end{matrix}

⋮

Diese sind alles explizite Definitionen, die Funktionen f_{i} existieren also gemäß den Mengenbildungsaxiomen. Folglich existiert auch f mit

f (x_{1}, …, x_{k}, i) =_{Def} f_{i} (x_{1}, …, x_{k}, i)

und es gilt

f (x_{1}, …, x_{k}, 0) = f_{0} (x_{1}, …, x_{k}, 0) = g (x_{1}, …, x_{k})

sowie

f (x_{1}, …, x_{k}, i + 1) = f_{i+1} (x_{1}, …, x_{k}, i + 1)
= h (x_{1}, … x_{k}, i, f_{i} (x_{1}, …, x_{k}, i))
= h (x_{1}, … x_{k}, i, f (x_{1}, …, x_{k}, i))

d. h. f erfüllt das Gleichungssystem.

□

Bemerkung Dieses Definitionsprinzip kann auf Worthalbgruppen verallgemeinert werden (also auf beliebige freie Halbgruppen), aber nicht auf beliebige Halbgruppen oder gar auf beliebig erzeugte Algebren.

Es seien 𝔛, 𝔜 beliebige Mengen und X ein Alphabet. Um eine Abbildung f : 𝔛 × W (X) → 𝔜 zu definieren genügt es anzugeben

• eine Abbildung g : 𝔛 → 𝔜

• zu jedem x ∈ X eine Abbildung h_{x} : 𝔛 × W (X) × 𝔜 → 𝔜

Die Definition von f sieht dann so aus:

\begin{matrix}f (𝔵, e) & = & g (𝔵) \\ f (𝔵, px) & = & h_{x} (𝔵, p, f (𝔵, p)) \end{matrix} \} \begin{matrix}𝔵 ∈ 𝔛 \\ p ∈ W (X) \\ x ∈ X \end{matrix}

Dieses Gleichungssystem (bestehend aus card (X) + 1 Gleichungen) wird von genau einer Funktion f : 𝔛 × W (X) → 𝔜 erfüllt. æ

1.7 Sprachen

Wir haben die Theorie der Wörter mit dem Ziel entwickelt, mathematische Modelle zu bilden, d .h. Modelle, deren Elemente Wörter sind. Dazu fixieren wir ein (endliches) Alphabet X und betrachten die Menge W (X). Im allgemeinen zeigt sich sofort, daß nicht allen Wörtern über X eine Bedeutung zukommt, nur gewisse wohlbestimmte Wörter haben eine Bedeutung, diese bilden die Sprache L des Modells.

1.7.1 Grundbegriffe

Definition 1.7.1 (Sprache) Ist X ≠ ∅ ein endliches Alphabet, so wird jede Teilmenge L der Menge aller Wörter über dem Alphabet X, also

L ⊆ W (X)

als Sprache über X bezeichnet.

Im Sinne der Sprachwissenschaft erfasst diese Definition nur geschriebene Sprache, also Texte.

Beispiel Für die deutsche Sprache nehmen wir als Alphabet die Menge aller deutschsprachigen Wörter in allen grammatischen Formen, die deutsche Sprache ist dann gegeben als Menge aller Wörter über diesem Alphabet (also aller endlichen Folgen von deutschen Wörtern), die (syntaktisch) richtig gebildete Sätze sind, auch wenn ihr semantischer Inhalt dunkel bleibt oder als sinnleer empfunden wird.

Satz 1.7.1 Für ein gegebenes endliches Alphabet X ist W (X) eine abzählbar unendliche Menge und 𝔓 (W (X)), die Menge aller Sprachen über X, ist überabzählbar.

Für die Bildung mathematischer Modelle interessante Sprachen sind unendlich. Damit entsteht die Frage nach (endlichen) Beschreibungen für Sprachen, denn zur Beschreibung des Modells gehört die Beschreibung ”seiner Syntax“, als der Sprache des Modells.

Wir können eine Sprache L ⊆ W (X) als hinreichend beschrieben (abgegrenzt) ansehen, wenn wir

(a) ein Erzeugungsverfahren angeben können, mit dessen Hilfe jedes Element p ∈ L (und kein Element aus W (X) \ L) hergestellt werden kann

oder

(b) ein Akzeptierungsverfahren (ein Entscheidungsverfahren) angeben können, mit dessen Hilfe von jedem p ∈ W (X) festgestellt werden kann, ob p ∈ L ist.

Ein Vorgehen nach (a) wäre eine Formalisierung der Fähigkeit eines Sprechers von L, nur richtig gebildete Sätze der Sprache L zu produzieren, während (b) die Fähigkeit eines Hörers der Sprache L formalisiert, nur richtig gebildete Sätze zu akzeptieren.

Beispiel Ein Programmierer in der Sprache MODULA ist in diesem Sinne ein Sprecher, während der M2-Compiler den Hörer realisiert.

Zur Formalisierung des Sprecher–Aspekts dient der Begriff der Grammatik, den wir im folgenden für den wichtigen Spezialfall der kontext-freien Grammatik definieren:

Definition 1.7.2 (kontextfreie Grammatik) 𝔊 = [X, H, s, R] ist eine kontextfreie Grammatik, wenn

1. X, H sind endliche nichtleere disjunkte Mengen, d. h. X ∩ H = ∅

2. s ∈ H ist das Satzsymbol oder Startsymbol von 𝔊

3. R ist eine endliche Teilmenge von H × W (X ∪ H).

Dabei ist X das Alphabet der zu beschreibenden Sprache, die Elemente von H werden Hilfssymbole (oder auch – in der Linguistik – syntaktische Kategorien) genannt und die Elemente von R werden als Ersetzungsregeln bezeichnet (oder Ableitungsregeln). Die Idee ist, daß jedes Wort p ∈ L aus dem Startsymbol s mittels Regeln aus R ”abgeleitet“ werden kann und nur die p ∈ L diese Eigenschaft haben.

Definition 1.7.3 (Ableitbarkeit in einem Schritt) Es sei w_{1},w_{2} ∈ W (X ∪ H). Dann ist aus w_{1} das Wort w_{2} in einem Schritt mittels R ableitbar:

w_{1} ⟼ {1 \atop R} w_{2}

wenn es h ∈ H und Wörter p, q, r ∈ W (X ∪ H), so gibt, daß

w_{1} = p h q, w_{2} = p r q und [h, r] ∈ R ist.

w_{2} entsteht also aus w_{1} = p h q dadurch, daß h, die linke Seite der Ersetzungsregel [h, r] ∈ R, durch das Wort r, die rechte Seite der Ersetzungsregel, ersetzt wird. Man schreibt daher statt [h, r] ∈ R auch h ⟶ r ∈ R.

Definition 1.7.4 (Ableitbarkeit) Mit ⟼ {∗ \atop R} bezeichnen wir die reflexiv-transitive Hülle der Relation ⟼ {1 \atop R} .

Folgerung 1.7.1 Es gilt w ⟼ {∗ \atop R} w′ genau dann, wenn w = w′ ist oder endlich viele Wörter w_{1}, …, w_{n} (n ≥ 0) existieren mit

w ⟼ {1 \atop R} w_{1} ⟼ {1 \atop R} ⋯ ⟼ {1 \atop R} w_{n} ⟼ {1 \atop R} w′.

Definition 1.7.5 (erzeugte Sprache) Die von einer Grammatik 𝔊 erzeugte Sprache L ist

L(𝔊) =_{Def} \{p | p ∈ W (X) ∧ s ⟼ {∗ \atop R} p\}

1.7.2 Beispiel: Sprache der Mengengleichungen

Als Beispiel wollen wir die Sprache der Mengengleichungen, die wir im Zusammenhang mit dem Dualitätstheorem verbal beschrieben haben, durch eine Grammatik erzeugen.

Eine Mengengleichung hat die Form T_{1} = T_{2}, wobei T_{1}, T_{2} Mengenterme sind,Terme setzen sich aus Mengenvariablen, den Operationszeichen und Klammern zusammen, Mengenvariablen M_{i} schreiben wir als ein Wort der Form M \underbrace{⋆ ⋯ ⋆}_{i}.

Wir setzen also X = {M, ⋆, =, (,), ∩, ∪} und H = {S, T, V } (S ist das Startsymbol, T steht für Term, V für Variable).

Die Menge R der Regeln ist

\begin{matrix}S ⟶ T = T & T ⟶ V \\ T ⟶ (T ∩ T) & T ⟶ (T ∪ T) \\ V ⟶ M & V ⟶ V ⋆ \end{matrix}

Wir können nun die Gleichung M_{0} ∩ (M_{0} ∪ M_{1}) = M_{0}, d. h.

(M ∩ (M ∪ M⋆)) = M

als Element von L ([X, H, S, R]) wie folgt nachweisen:

S ⟼ {1 \atop R} T = T  ⟼ {1 \atop R} T = V
⟼ {1 \atop R} T = M  ⟼ {1 \atop R} (T ∩ T) = M
⟼ {1 \atop R} (T ∩ (T ∪ T)) = M  ⟼ {1 \atop R} (V ∩ (T ∪ T)) = M
⟼ {1 \atop R} (M ∩ (T ∪ T)) = M  ⟼ {1 \atop R} (M ∩ (V ∪ T)) = M
⟼ {1 \atop R} (M ∩ (M ∪ T)) = M ⟼ {1 \atop R} (M ∩ (M ∪ V)) = M
⟼ {1 \atop R} (M ∩ (M ∪ V ⋆)) = M ⟼ {1 \atop R} (M ∩ (M ∪ M⋆)) = M

1.7.3 Weitere Grundbegriffe

Kontextfreie Grammatiken spielen eine große Rolle bei der Definition von Programmierspachen. Dabei geht man i. a. so vor, daß eine kontextfreie Grammatik angegeben wird, die alle compilierbaren Programme und einige weitere Wörter erzeugt und danach durch weitere Forderungen (” alle Variablen müssen deklariert sein“,…) die ”richtigen“ Programme bestimmt werden. Die Grammatik wird uns dabei in der sogenannten Backus–Nauer–Form (BNF) angegeben:

Die syntaktischen Kategorien sind durch spitzgeklammerte Wörter gegeben, statt ”→“ schreibt man ”::=“, Regeln mit gleicher linker Seite werden zusammengefaßt.

In unserem Beispiel ergibt sich

\begin{aligned}⟨gleichung⟩ & ::= & ⟨term⟩ ’=’ ⟨term⟩ \\ ⟨term⟩ & ::= & ⟨variable⟩ | ’(’ ⟨term⟩ ’∩’ ⟨term⟩ ’)’ | ’(’ ⟨term⟩ ’∪’ ⟨term⟩ ’)’ \\ ⟨variable⟩ & ::= & ’M’ | ⟨variable⟩ ’⋆’ \end{aligned}

Zu den kontextfreien Grammatiken gehört als Akzeptierungsmechanismus der sogenannte Kellerautomat; diese Begriff wird in der Compilertechnik intensiv behandelt.

Natürlich können Sprachen auch in anderer Weise, z.B. durch Induktion, definiert werden. Wir werden Beispiele im nächsten Kapitel kennenlernen.

Aussagenlogik

In diesem Kapitel beschäftigen wir uns mit der Formalisierung eines Teilbereichs des menschlichen Denkens, dem logischen Schließen. Wir wollen ein mathematisches Modell dieses Teilbereiches angeben, das uns gestattet, logisches Schließen durch Rechnen zu ersetzen; dadurch können logische Schlüsse überprüft werden.

Logisches Schließen ist eine Operation mit Aussagen, die auf der Basis von sogenannten Schlußregeln arbeitet. Von einer richtigen Schlußregel erwartet man, daß sie von gültigen Aussagen zu gültigen Aussagen führt.

Es sind also zunächst folgende Fragen zu klären:

• Was ist eine Aussage?

• Wann ist eine Aussage wahr?

• Was ist eine gültige Schlußregel?

2.1 Grundbegriffe

Unter einer Aussage verstehen wir die sprachliche Widerspiegelung eines Sachverhalts (in Form eines Aussagesatzes).

Beispiele Es regnet; wenn es regnet, dann ist die Straße naß.

Eine Aussage wird wahr genannt, wenn der ausgedrückte Sachverhalt vorliegt. Die Aussage ”es regnet“ ist also genau dann wahr, wenn es regnet.

In der Realität ist häufig unklar, ob eine Aussage wahr ist oder nicht, weil Maßstäbe unscharf sind, z. B. ”Gestern war schlechtes Wetter“. Wir gehen hier von einer Idealisierung der wirklichen Verhältnisse aus und verlangen als Axiom:

Satz der Zweiwertigkeit Jede Aussage ist entweder wahr oder falsch.

Diese Idealisierung hat sich insbesondere in der Mathematik und der Informatik bewährt. Die sogenannte Fuzzy–Logik bietet Ansätze, ohne dieses Axiom auszukommen.

Nach dem Satz der Zweiwertigkeit zerfällt die Menge aller Aussagen erschöpfend und disjunkt in zwei Klassen, die Menge W aller wahren Aussagen und die Menge F aller falschen Aussagen. Wir nennen W und F die Wahrheitswerte; wir haben also genau zwei Wahrheitswerte.

Neben den Sachverhalten selbst beobachten wir in der Realität Beziehungen zwischen Sachverhalten, die sich in Beziehungen und Operationen mit Aussagen widerspiegeln.

Eine n-stellige Aussagenfunktion α ist also eine Abbildung, die jedem n-Tupel von Aussagen eine Aussage zuordnet. Einige wichtige Aussagenfunktionen spiegeln sich sprachlich sehr einfach in Bindewörtern wider, z. B.

• Konjunktion ”und“ und(A, B) = A und B

• Alternative ”oder“ oder(A, B) = A oder B

• Negation ”nicht“ nicht(A) = nicht A

• Implikation ”wenn…, so…“

• Äquivalenz ”genau dann, wenn“

Aussagen, wahre wie falsche, können nach verschiedenen Gesichtspunkten geordnet werden, z. B. nach Wissensgebieten (etwa Physik, Mathematik, …). Wir streben hier eine Formalisierung der Logik an, die in allen Gebieten anwendbar ist, in denen logisch gedacht wird. Damit stellt sich die Frage, welche Eigenschaften von Aussagen in unserem Formalismus (dem Aussagenkalkül) widergespiegelt werden sollen.

Wir beantworten diese Frage einschränkend: die einzige Eigenschaft ist Wahrheit bzw. Falschheit. Wir berücksichtigen hier beispielsweise nicht, daß Aussagen etwas über einzelne Gegenstände aussagen (”3 ist eine Primzahl“) oder die Struktur einer Allaussage haben (”jede Äquivalenzrelation ist transitiv“); das wird erst in der Prädikatenlogik (ab Seite 123) geschehen.

Was geschieht bei dieser Abstraktion Aussage → Wahrheitswert mit den Aussagenverbindungen (Aussagenfunktionen)? Mit anderen Worten, kann zu jeder Aussagenfunktion

α : ×_{n}𝔄 → 𝔄,

wobei 𝔄 die Menge aller Aussagen ist, eine Wahrheitsfunktion

ϕ : ×_{n} {W, F} → {W, F},

d. h. eine Abbildung, die jedem n-Tupel von Wahrheitswerten einen Wahrheitswert zuordnet, gefunden werden, so daß für A_{1}, …, A_{n} gilt:

WW(α(A_{1}, …, A_{n})) = ϕ(WW(A_{1}), …, WW(A_{n}))

wobei WW die Funktion ist, die jeder Aussage A ihren Wahrheitswert WW(A) zuordnet, also W wenn A wahr ist und F sonst.

Für die Aussagenfunktion ”und“ funktioniert das offensichtlich; die Wahrheitsfunktion et mit der Tabelle

w_{1} w_{2} et(w_{1}, w_{2})
W W  W
W F  F
F W  F
F F  F

leistet das Verlangte, denn die Aussage ”A und B“ ist genau dann wahr, wenn die Aussage A wahr ist und die Aussage B wahr ist.

Definition 2.1.1 (Extensionale Aussagenfunktion) Eine Aussagenfunktion α : ×_{n}𝔄 → 𝔄 heißt extensional, wenn es eine Wahrheitsfunktion (Boolesche Funktion) ϕ : ×_{n}{W, F} → {W, F} so gibt, daß für alle A_{1}, …, A_{n} ∈ 𝔄 gilt

WW(α(A_{1}, …, A_{n})) = ϕ(WW(A_{1}), …, WW(A_{n}))

Die Aussagenfunktion ”und“ ist also extensional, man stellt leicht fest, daß dasselbe für ”oder“, ”nicht“, ”wenn…, so…“ und ”genau dann, wenn“ gilt; die zugehörigen (sogenannten klassischen) Wahrheitsfunktionen werden als vel, non, seq (von sequitur) und aeq bezeichnet:

w_{1} w_{2} vel(w_{1}, w_{2}) seq(w_{1}, w_{2}) aeq(w_{1}, w_{2}) non(w_{1})
W W  W  W  W  F
W F  W  F  F  F
F W  W  W  F  W
F F  F  W  W  W

Gibt es überhaupt Aussagenfunktionen, die nicht extensional sind, die wir also nicht durch Wahrheitsfunktionen widerspiegeln können? Das ist der Fall, als Beispiel betrachte man die Aussagenfunktionen ”weil“ bzw. ”damit“:

weil(A, B) = A, weil B
damit(A, B) = A, damit B

die eine kausale bzw. pragmatische Beziehung beschreiben. Diese Aussagenfunktionen können also nicht durch Wahrheitsfunktionen repräsentiert werden.

2.2 Syntax und Semantik des Aussagenkalküls

2.2.1 Aufbau des Kalküls — Syntax

In unserem Kalkül brauchen wir Variable für Wahrheitswerte, die wir Aussagenvariable nennen werden, und Zeichen (Funktoren) für Wahrheitsfunktionen. Aus den Zeichen p und ⋆ bilden wir Wörter, unter denen die Aussagenvariablen ausgezeichnet werden, ferner verwenden wir

¬ als Zeichen für die Wahrheitsfunktion non
∧ als Zeichen für die Wahrheitsfunktion et
∨ als Zeichen für die Wahrheitsfunktion vel
→ als Zeichen für die Wahrheitsfunktion seq
↔ als Zeichen für die Wahrheitsfunktion aeq

sowie die technischen Zeichen ( und ). Das Alphabet des Aussagenkalküls ist also

X = {p, ⋆, ¬, ∧, ∨, →, ↔,), (}

Aussagenvariable wird induktiv definiert:

A) p ist eine Aussagenvariable

I) Ist das Wort w eine Aussagenvariable, so auch w^{⌢}⋆

Die Menge AV der Aussagenvariablen ist die kleinste Menge von Wörtern über X, die das Wort p enthält, und abgeschlossen ist in bezug auf das Anhängen des Zeichens ⋆.

AV = \{p \underbrace{⋆ ⋯ ⋆}_{i} |i ≥ 0\}

Schreibweise: p⋆ wird abgekürzt als q, p ⋆ ⋆ als r, allgemein p \underbrace{⋆ ⋯ ⋆}_{i} als p_{i}.

Ausdruck wird ebenfalls induktiv definiert:

A) Jede Aussagenvariable ist ein Ausdruck

I) Sind H_{1}, H_{2} Ausdrücke, so auch die folgenden Zeichenreihen: ¬H_{1},(H_{1} ∧ H_{2}), (H_{1} ∨ H_{2}), (H_{1} → H_{2}), (H_{1} ↔ H_{2}).

Die Menge ausd der Ausdrücke ist die kleinste Menge von Wörtern, die alle Aussagenvariablen enthält und abgeschlossen ist bezüglich der unter I) angegebenen Konstruktionen.

Übung 16 Geben sie eine Grammatik 𝔊 mit L (𝔊) = ausd an.

Beispiele Es sind ¬p, (¬p ∨ p), ((¬p_{7} ∧ p_{5}) → p_{1}) Ausdrücke; keine Ausdrücke: e, 11, (p).

Folgerung 2.2.1 Durch die Klammerung ist für jeden Ausdruck kenntlich, auf welche Weise er aus Aussagenvariablen oder einfacheren Ausdrücken aufgebaut ist, genauer: jeder Ausdruck kann auf genau eine Weise aus Aussagenvariablen aufgebaut werden. Die Menge ausd bildet daher mit dem Erzeugendensystem AV und den angegebenen Konstruktionsoperationen eine freie Struktur, so daß wir im folgenden Funktionen induktiv auf ausd definieren können.

Bei der Schreibweise von Ausdrücken können folgende Klammersparregeln verwendet werden:

1. Außenklammern weglassen.

2. Klammern in mehrfachen Alternativen oder Konjunktionen weglassen.

3. Vorrangregeln

• ∧ bindet stärker als ∨

• ∨ bindet stärker als →

• → bindet stärker als ↔ Beispiele

• p ∧ q ∨ r =^{∧} (p ∧ q) ∨ r

• p ↔ r → q =^{∧} p ↔ (r → q)

Satz 2.2.1 Es gibt einen Algorithmus, der für jedes Wort w ∈ W (X) entscheidet, ob w ∈ ausd ist.

2.2.2 Semantik

Ein Kalkül κ ist gegeben durch sein Alphabet (hier X), die Menge (Sprache) der in diesem Kalkül sinnvollen Wörter über diesem Alphabet (hier ausd) und seine Semantik, d. h. eine Zuordnung von Bedeutungen zu den Wörtern seiner Sprache. Bei Logikkalkülen besteht die Angabe der Semantik aus der Menge S der (gültigen) Sätze und einem Deduktionsoperator.

Um über Gültigkeit eines Ausdruckes reden zu können, definieren wir zunächst den Wahrheitswert, den ein Ausdruck bei einer Belegung der Aussagenvariablen annimmt.

Belegung Eine Abbildung β : AV → {W, F} der Menge AV der Aussagenvariablen in die Menge {W, F} der Wahrheitswerte heißt Belegung.

Wert eines Ausdrucks wert (H, β) wird induktiv über den Aufbau von Ausdrücken definiert:

A) wert (p_{i}, β) = β (p_{i})

I) – wert (¬H, β) = non (wert (H, β))

– wert ((H_{1} ∧ H_{2}) , β) = et (wert (H_{1}, β) , wert (H_{2}, β))

– wert ((H_{1} ∨ H_{2}) , β) = vel (wert (H_{1}, β) , wert (H_{2}, β))

– wert ((H_{1} → H_{2}) , β) = seq (wert (H_{1}, β) , wert (H_{2}, β))

– wert ((H_{1} ↔ H_{2}) , β) = aeq (wert (H_{1}, β) , wert (H_{2}, β))

Lemma Es sei H ein Ausdruck, in dem genau die Variablen p_{j_{1}}, …, p_{j_{k}} vorkommen. β, β′ seien Belegungen, die auf p_{j_{1}}, …, p_{j_{k}} übereinstimmen. Dann ist wert (H, β) = wert (H, β′).

Definition 2.2.1 Es sei H ∈ ausd, p_{j_{1}}, …, p_{j_{n}} (j_{1} < ⋯ < j_{n}) alle in H vorkommenden Aussagenvariablen.

Φ_{H} (w_{1}, …, w_{n}) := wert (H, β^{⋆}) , wobei β^{⋆} (p_{j_{i}}) = w_{i} für 1 ≤ i ≤ n

ist die von H repräsentierte Wahrheitsfunktion.

Φ_{H} (β^{⋆} (p_{i_{1}}) , …, β^{⋆} (p_{j_{n}})) = wert (H, β^{⋆}) für alle Belegungen β^{⋆}.

Damit haben wir jedem Ausdruck eine Wahrheitsfunktion zugeordnet, die seine Bedeutung ist, denn er repräsentiert diese Wahrheitsfunktion im Kalkül. Es entsteht die Frage, ob alle Wahrheitsfunktionen durch Ausdrücke dargestellt werden können, oder ob wir beim Übergang von Wahrheitsfunktionen zu Ausdrücken wieder etwas verlieren wie beim Übergang von Aussagenfunktionen zu Wahrheitsfunktionen.

Repräsentantentheorem Zu jeder Wahrheitsfunktion Φ existiert ein Ausdruck H mit Φ_{H} = Φ.

Beweis Sei Φ gegeben durch die Tabelle:

w_{1} … w_{n} Φ(w_{1}, …, w_{n})
W … W Φ(W, …, W)
⋮  ⋮

Eine Elementarkonjunktion in p_{1}, …, p_{n} ist ein Ausdruck H der Form:

H : [¬] p_{1} ∧ [¬] p_{2} ⋯ ∧ [¬] p_{n}

Sei H eine Elementarkonjunktion. Dann ist wert (H, β) = W genau dann, wenn für i = 1, …, n gilt:

β (p_{i}) = \{ \begin{matrix}W, & falls vor p_{i} kein ¬ steht \\ F, & falls vor p_{i} ein ¬ steht \end{matrix}

Beispiel p_{1} ∧ ¬p_{2} ∧ p_{3} : β (p_{1}) = W, β (p_{2}) = F, β (p_{3}) = W.

Fall 1: Φ = falsum, d. h. Φ(w_{1}, …, w_{n}) ≡ F, dann sei

H := (p_{1} ∧ ¬p_{1}) ∨ (p_{2} ∧ ¬p_{2}) ∨ … ∨ (p_{n} ∧ ¬p_{n})

also gilt Φ_{H} = Φ

Fall 2: Φ ≠ falsum, d. h. es gibt n-Tupel [w_{1}, …, w_{n}] mit Φ (w_{1}, …, w_{n}) = W.

Es seien β_{1}, …, β_{i_{k}} alle Belegungen β der Aussagenvariablen p_{1}, …, p_{n} so, daß Φ (β (p_{1}) , …, β (p_{n})) = W ist. Zu β_{i} sei K_{i} die Elementarkonjunktion mit wert (K_{i}, β_{i}) = W. Dann leistet

H ≡ K_{i_{1}} ∨ K_{i_{2}} ∨ ⋯ ∨ K_{i_{k}}

das Verlangte, d. h. Φ_{H} = Φ.

□

2.2.3 Weitere semantische Begriffe

Oben im Abschnitt 2.2.1 haben wir ohne weitere Begründung ¬ als Zeichen für non, ∧ als Zeichen für et, … betrachtet, zuvor haben wir uns auf zwei Wahrheitswerte eingeschränkt. Wir können die Sprache ausd des Aussagenkalküls aber auch in anderer Weise interpretieren, d. h. den Ausdrücken eine andere Bedeutung zuweisen, wenn wir festlegen, • was die Menge M aller Wahrheitswerte ist,

• welche Wahrheitswerte wir als ”gute“ Werte betrachten, diese bilden die Menge M^{⋆} ⊆ M,

• welche einstelligen Funktionen ϕ_{1} : M → M das Zeichen ¬ bedeutet und

• welche zweistelligen Funktionen ϕ_{2}, …, ϕ_{5} : M × M → M die Zeichen ∧, ∨, → und ↔ bedeuten sollen.

Ein Tupel μ = [M, M^{⋆}, ϕ_{1}, ϕ_{2}, ϕ_{3}, ϕ_{4}, ϕ_{5}] dessen Elemente obigen Eigenschaften genügen, also eine Zusammenfassung dieser Angaben, nennen wir eine logische Matrix.

Beispiel 1: Die klassische logische Matrix

[{W, F} , {W} , non, et, vel, seq, aeq]

Beispiel 2: Die wahrscheinlichkeitslogische Matrix

M := das reelle Intervall [0, 1]
M^{⋆} := {1}
ϕ_{1}(w) := 1 − w
ϕ_{2}(w_{1}, w_{2}) := w_{1} · w_{2}
ϕ_{3}(w_{1}, w_{2}) := 1 − (1 − w_{1}) · (1 − w_{2})
ϕ_{4}(w_{1}, w_{2}) := ϕ_{3}(1 − w_{1}, w_{2}) = 1 − w_{1} · (1 − w_{2})
ϕ_{5}(w_{1}, w_{2}) := ϕ_{4}(w_{1}, w_{2}) · ϕ_{4}(w_{2}, w_{1})

Entsprechend wie wir früher den Wert eines Ausdrucks H bei einer Belegung der Aussagenvariablen mit Wahrheitswerten definiert haben, können wir jetzt auch allgemein festlegen:

Definition 2.2.2 (Belegung und Wert) Für eine beliebige logische Matrix μ ist

1. die Belegung der Aussagenvariablen eine Abbildung β : AV → M 𝔅_{μ} = {β|β : AV → M} ist die Menge aller Belegungen; für die klassische logische Matrix ist 𝔅 = {β|β : AV → {W, F}}

2. der Wert eines Ausdrucks, d. h. wert_{μ} (H, β), analog zu wert (H, β) induktiv definiert.

Beispiel Ein Teil der induktiven wert–Definition sieht wie folgt aus:

wert_{μ} ((H_{1} ∧ H_{2}) , β) = ϕ_{2} (wert_{μ} (H_{1}, β) , wert_{μ} (H_{2}, β))

Wir führen nun die folgenden semantischen Begriffe für die klassische logische Matrix ein:

Erfüllbarkeit, Gültigkeit Sei β ∈ 𝔅 und H ∈ ausd.

1. β erfüllt H (βerfH) :↔ wert (H, β) = W

In der logischen Matrix μ gilt: βerf_{μ}H :↔ wert_{μ} (H, β) ∈ M^{⋆}

2. H ist erfüllbar (H ∈ ef, efH), wenn eine Belegung β ∈ 𝔅 existiert so, daß βerfH.

3. H ist (allgemein–)gültig (H ∈ ag, agH), wenn jede Belegung β ∈ 𝔅 den Ausdruck H erfüllt. (H ist eine Identität, bzw. Tautologie.)

In der logischen Matrix μ gilt: H ∈ ag_{μ} gdw. für jede Belegung β gilt wert_{μ} (H, β) ∈ M^{⋆}

4. H ist Kontradiktion (H ∈ kt, ktH), wenn es keine Belegung β gibt, die H erfüllt.

Folgerung 2.2.2 Für ag, ef und erf gilt:

1. ag ⊂ ef

2. agH gdw. nicht ef¬H; efH gdw. nicht ag¬H

3. Wenn βerfH, so nicht βerf¬H

Außerdem gilt:

Satz 2.2.2 (Ausgeschlossener Widerspruch für die Gültigkeit) Es gibt keinen Ausdruck H mit agH und ag¬H.

Satz 2.2.3 (Ausgeschlossener Dritte für die Erfüllbarkeit) Für jedes H ∈ ausd gilt: efH oder ef¬H.

2.3 Anwendung in der Schaltalgebra

Als Schaltalgebra bezeichnet man die Anwendung des Aussagenkalküls auf die Beschreibung und die Berechnung von Schaltungen.

2.3.1 Grundbegriffe

Unter einer Schaltung verstehen wir eine black box, die Eingangssignale empfängt und in Ausgangssignale umwandelt, diese Signale haben nur zwei Signalwerte (Impuls/kein Impuls, hohes/niedriges Potential, An/Aus, …) und können durch Zeitfunktionen (jedem Zeitpunkt wird einer der beiden Signalwerte zugeordnet) beschrieben werden. Als kombinatorische oder logische Schaltung bezeichnen wir eine Schaltung mit folgender Eigenschaft:

Die Schaltung hat kein Gedächtnis, d. h. der aktuelle Wert eines Ausgangssignals hängt höchstens von den aktuellen Werten der Eingangssignale ab (nicht aber von zeitlich früheren oder künftigeren Eingabesignalwerten) und ist durch diese Werte eindeutig bestimmt.

Daraus folgt, daß eine Änderung der Eingabesignalwerte verzögerungsfrei zu einer eventuellen Änderung der Ausgabesignale führen muß.

Daher kann eine logische Schaltung S, die n Eingangssignale x_{1}(t), … x_{n}(t) in ein Ausgangssignal y(t) transformiert, durch eine n–stellige Boolesche Funktion Φ_{S} charakterisiert werden:

Bezeichnen wir die beiden möglichen Signalwerte mit 0 und 1, so gilt für Φ_{S}:

Φ_{S} (WW (”x_{1}(t) = 1“) , …, WW (”x_{n}(t) = 1“)) = WW (”y(t) = 1“)

Weil S eine logische Schaltung ist, ist die Abhängigkeit von t in dieser Definitionsgleichung nur fiktiv.

Wir wissen bereits, daß jede Boolesche Funktion durch einen Ausdruck des Aussagenkalküls repräsentiert wird, wir können also jede logische Schaltung mit einem Ausgang syntaktisch durch den Ausdruck H_{S} = H_{Φ_{S}} beschreiben. Logische Schaltungen mit mehr als einem Ausgang können wir durch eine Menge von Ausdrücken beschreiben, jedem Ausgang entspricht ein Ausdruck. Im folgenden betrachten wir nur noch logische Schaltungen mit genau einem Ausgang.

Definition 2.3.1 (Äquivalente Schaltungen) Zwei Schaltungen werden äquivalent genannt, wenn sie die gleiche Signalverarbeitung realisieren, d. h. jede von ihnen kann in jeder Umgebung durch die andere ersetzt werden, ohne daß sich das Verhalten des Gesamtsystems ändert.

Satz 2.3.1 Die Äquivalenz von Schaltungen spiegelt sich als semantische Äquivalenz zugehöriger Ausdrücke wider:

S_{1} ∼ S_{2} gdw. H_{S_{1}} ∼_{sem} H_{S_{2}} (d. h. (H_{1} ↔ H_{2}) ∈ ag)

Diese Tatsache ermöglicht es zu unterscheiden, ob Schaltungen äquivalent sind und damit auch, in gewisser Hinsicht optimale Schaltungen zu finden.

Wir betrachten einen wichtigen Spezialfall, sogenannte ∧∨– Schaltungen. Dabei handelt es sich um logische Schaltungen mit genau einem Ausgang, die

1. aus sogenannten Gattern aufgebaut sind, und zwar aus Konjunktions- und Alternativgattern, und

2. die zweistufig sind, wobei jedes Eingangssignal zuerst höchstens ein Konjunktionsgatter und dann höchstens ein Alternativgatter durchläuft.

Ein Konjunktionsgatter ist eine logische Schaltung, die die Konjunktion der Eingangssignale oder ihrer Negation realisiert; bei n Eingangssignalen gibt es also 2^{n} Konjunktionsgatter; ein Alternativgatter realisiert die Alternative der Eingangssignale, d. h. am Ausgang steht der Signalwert 1 sobald eines der Eingangssignale den Wert 1 annimmt. Auch hier können Eingangssignale negiert sein.

Solche Schaltungen werden strukturell beschrieben durch Alternative Normalformen, d. h. Ausdrücke der Form H = K_{1} ∨ K_{2} ∨ ⋯ ∨ K_{m}, wobei die Alternativglieder K_{i} Fundamentalkonjunktionen sind, d. h. Konjunktionen von negierten und nichtnegierten Aussagenvariablen, in denen keine Variable mehrfach vorkommt.

Beispiel

H_{1} = (p_{1} ∧ p_{2}) ∨ (¬p_{1} ∧ p_{2}) ∨ (¬p_{1} ∧ ¬p_{2})
H_{2} = ¬p_{1} ∨ p_{2}

sind Alternative Normalformen (ANF); H_{1} ist die Kanonische Alternative Normalform der Funktion seq, H_{2} ist semantisch äquivalent mit H_{1}, also eine ANF von seq. Die zugehörigen Schaltungen sehen so aus:

Bemerkung Offenbar ist die Schaltung S_{2} ”besser“ als S_{1}: Sie ist übersichtlicher, benötigt weniger Gatter, usw.

Deshalb betrachten wir

2.3.2 Optimierte Schaltungen

Wir wählen als Optimierungsgröße (als ”Kosten“) einer Schaltung des betrachteten Typs die Zahl der Eingänge in Konjunktionsgatter (wenn ein Signal vom Eingang direkt in das Alternativgatter geführt wird, durchläuft es sozusagen ein Konjunktionsgatter mit genau einem Eingang).

Beispiel S_{1} hat die Kosten 6 und S_{2} die Kosten 2.

Die Kosten eine ∧∨–Schaltung S spiegeln sich in der zugehörigen ANF als Zahl der Stellen, an denen Variablen stehen wider.

Dementsprechend führen wir ein:

Definition 2.3.2 (Optimale ANF) Eine ANF H mit den Variablen p_{1}, …, p_{n} ist optimal, wenn für jede ANF H′, in der höchstens die Variablen p_{1}, …, p_{n} vorkommen und die semantisch äquivalent zu H ist, gilt, daß die Zahl der Stellen, an denen in H′ Aussagenvariablen stehen mindestens so groß ist wie in H.

Folgerung 2.3.1 Die Aufgabe, eine ∧∨–Schaltung S zu optimieren, bedeutet also eine optimale ANF H zu finden mit

H ∼_{sem} H_{Φ_{S}} = H_{S}

Diese Aufgabe ist im Prinzip durch Probieren lösbar, in der Praxis muß man das Probieren gezielt einschränken, aber ohne Probieren geht es i. a. nicht, denn i. a. gibt es viele optimale ANF zu einer gegebenen Schaltung bzw. einer gegebenen Booleschen Funktion.

Wir vereinfachen zunächst die Schreibweise von ANF:

• das Negationszeichen ¬ wird als Querstrich über die Variable geschrieben

• das Konjunktionszeichen ∧ entfällt

Beispiel ¬p ∧ q wird als \overline{p} q geschrieben

Wir betrachten die folgende Aufgabe:

gegeben: Eine logische Schaltung S mit n Eingängen bzw. eine n–stellige Boolesche Funktion Φ

gesucht: Eine optimale ANF H^{⋆} mit

H^{⋆} ∼_{sem} H_{S} bzw. H^{⋆} ∼_{sem} H_{Φ}

Beispiel Φ sei gegeben durch die Tabelle

w_{1} w_{2} w_{3} Φ(w_{1}, w_{2}, w_{3})
W W W  W
W W F  W
W F W  W
W F F  F
F W W  F
F W F  W
F F W  W
F F F  W

Wir wählen als Variablenmenge {p, q, r} und bilden die KANF von Φ:

H_{1} = p q r ∨ p q\overline{r} ∨ p\overline{q} r ∨ \overline{p} q \overline{r} ∨ \overline{p} \overline{q} r ∨ \overline{p} \overline{q} \overline{r}

H_{1} hat die Kosten 18; Φ_{H_{1}} = Φ

Den Zugang zur Vereinfachung der KANF bildet der Begriff des Primimplikanden.

Definition 2.3.3 (Implikand, Primimplikand) Φ sei n–stellige Boolesche Funktion, H ein Ausdruck mit Φ_{H} = Φ

1. Eine Fundamentalkonjunktion K in {p_{1}, …, p_{n}} heißt Implikand von Φ (bzw. H), wenn für alle Belegungen β (von {p_{1}, …, p_{n}}) gilt:

Wenn wert(K, β) = W, so Φ (β(p_{1}), …, β(p_{n})) = W(bzw. wert(H, β) = W).

2. K heißt Primimplikand von Φ (bzw. H), wenn (a) K Implikand von Φ (bzw. H) ist

(b) keine Fundamentalkonjunktion K′, die aus K durch Streichen einer Variable (samt Querstrich) entsteht, ein Implikand von Φ ist.

Folgerung 2.3.2 Aus der Definition ergibt sich sofort:

1. Alle Elementarkonjunktionen, die in der KANF von Φ vorkommen, sind Implikanden von Φ

2. K ist ein Implikand von H gdw. (K → H) ∈ ag

In unserem Beispiel ist also p q r ein Implikand, aber kein Primimplikand, denn durch Streichen der Variablen r entsteht p q und p q ist ein Implikand von Φ, wie man leicht nachrechnet. Allerdings ist p q ein Primimplikand, denn weder p noch q sind Implikanden von Φ.

Satz 2.3.2 Φ : ×_{n}{W, F} → {W, F} sei nichtkonstant. Dann besitzt Φ eine ANF, die nur aus Primimplikanden besteht.

Beweis Es sei H_{1} = K_{1} ∨ ⋯ ∨ K_{l} eine KANF von Φ (0 < l < 2^{n}). Wenn alle Elementarkonjunktionen Primimplikanden sind, ist nichts zu zeigen.

O. B. d. A. sei K_{1} kein Primimplikand und K′_{1} sei ein Primimplikand, der aus K_{1} durch Streichen von Variablen entsteht. Dann gilt für die Belegung β:

Wenn wert(K_{1}, β) = W, so wert(K′_{1}, β) = W.

Wir zeigen:

K′_{1} ∨ K_{2} ∨ ⋯ ∨ K_{l} ist ANF von Φ,

d. h. für alle Belegungen β gilt

Φ (β(p_{1}), …, β(p_{n})) = W gdw. wert(K′_{1} ∨ K_{2} ∨ ⋯ ∨ K_{l}, β) = W.

(⇐): Wenn wert(K′_{1} ∨ K_{2} ∨ ⋯ ∨ K_{l}, β) = W ist, so ist wert(K′_{1}, β) = W oder wert(K_{2}, β) = W oder … oder wert(K_{l}, β) = W.

Weil alle diese Konjunktionen Implikanden von Φ sind, ist

Φ (β(p_{1}), …, β(p_{n})) = W.

(⇒): Ist Φ (β(p_{1}), …, β(p_{n})) = W, so ist wert(K_{1} ∨ K_{2} ∨ ⋯ ∨ K_{l}, β) = W, es ist also wert(K_{1}, β) = W oder … oder wert(K_{l}, β) = W.

Folglich ist wert(K′_{1}, β) = W oder wert(K_{2} ∨ ⋯ ∨ K_{l}, β) = W, d. h.
wert(K′_{1} ∨ K_{2} ∨ ⋯ ∨ K_{l}, β) = W.

Der Ausdruck H′_{1} = K′_{1} ∨K_{2} ∨⋯∨K_{l} enthält also mindestens einen Primimplikanden mehr als H_{1}, wenn H′_{1} noch Implikanden enthält, die nicht Primimplikanden sind, so setzen wir das Verfahren fort. □

Folgerung 2.3.3 Jede optimale Normalform von Φ besteht nur aus Primimplikanden von Φ.

In unserem Beispiel sind folgende Fundamentalkonjunktionen Primimplikanden:

p q, p r, \overline{p} \overline{q}, q \overline{r}, \overline{q} r, \overline{p} \overline{r}

Es sei H_{2} die ANF, die aus allen Primimplikanden von Φ besteht. Dann gilt nach Konstruktion

Φ = Φ_{H_{2}},

d. h. H_{2} ist eine ANF von Φ.

Im allgemeinen ist aber H_{2} nicht optimal. Weil jede optimale ANF von Φ nur aus Primimplikanden besteht, kann jede otimale ANF von Φ aus H_{2} durch Streichen von Konjunktionen gewonnen werden.

Wir geben zunächst ein Kriterium an, daß ein Primimplikand \underline{nicht} gestrichen werden darf, d. h. daß er in allen optimalen ANF vorkommt.

Definition 2.3.4 (Wesentlicher Primimplikand) Es sei 𝔐 eine Menge von Primimplikanden von Φ und K ∈ 𝔐. K heißt wesentlich in bezug auf 𝔐, wenn es eine Belegung β gibt mit

1. wert(K, β) = W

2. für alle K′ ∈ 𝔐 mit K′ ≠ K ist wert(K′, β) = F.

Satz 2.3.3 Es sei 𝔐 die Menge aller Primimplikanden von Φ und K sei wesentlich in bezug auf 𝔐. Dann kommt K in jeder optimalen ANF von Φ vor.

Beweis Es sei H = K_{1} ∨ ⋯ ∨ K_{m} eine beliebige optimale ANF von Φ und β eine Belegung von p_{1}, … p_{n} mit

1. wert(K, β) = W

2. wert(K′, β) = F für alle K′ ∈ 𝔐 mit K′ ≠ K.

Weil K Implikand von Φ ist, folgt aus wert(K, β) = W

W = Φ (β(p_{1}), …, β(p_{n})) = wert(K_{1} ∨ ⋯ ∨ K_{m}, β) = W

d. h. für wenigstens ein i ist wert(K_{i}, β) = W.

Aus K_{i} ∈ 𝔐 und (2) folgt K_{i} = K, d. h. K kommt in H vor. □

Folgerung 2.3.4 (Optimale ANF) Es sei 𝔐 die Menge aller Primimplikanden von Φ und 𝔑 die Menge der in bezug auf 𝔐 wesentlichen Primimplikanden von Φ. Wenn 𝔑 ≠ ∅ ist, H^{⋆} die Alternative der Elemente von 𝔑 bezeichnet und Φ_{H^{⋆}} = Φ ist, dann ist H^{⋆} die optimale ANF von Φ.

In unserem Beispiel ist die Menge 𝔑 der wesentlichen Primimplikanden leer, wir kommen daher nur durch Probieren weiter, d. h. wir lassen ”versuchsweise“ einen Primimplikanden weg:

𝔐 = \{p q, p r, \overline{p} \overline{q}, q \overline{r}, \overline{q} r, \overline{p} \overline{r}\} 𝔑 = ∅

Wir streichen p q:

𝔐′ = \{p r, \overline{p} \overline{q}, q \overline{r}, \overline{q} r, \overline{p} \overline{r}\}

In bezug auf 𝔐′ sind p r und q \overline{r} wesentlich:

p q r p r \overline{p} \overline{q} q \overline{r} \overline{q} r \overline{p} \overline{r}
β_{1} W W W W F F F F
β_{2} W W F F F W F F

also 𝔑′ = \{p r, q \overline{r}\}

Wir streichen \overline{q} r:

𝔐′′ = \{p r, \overline{p} \overline{q}, q \overline{r}, \overline{p} \overline{r}\}

Weil p r, q \overline{r} wesentlich in bezug auf 𝔐′ sind, sind sie es auch in bezug auf 𝔐′′ ⊂ 𝔐′.

In bezug auf 𝔐′′ ist aber auch \overline{p} \overline{q} wesentlich:

\begin{aligned}& p & q & r & p r & \overline{p} \overline{q} & q \overline{r} & \overline{p} \overline{r} \\ β_{3} & F & F & W & F & W & F & F \end{aligned}

während \overline{p} \overline{r} nicht wesentlich in bezug auf 𝔐′′ ist. Durch Streichen von \overline{p} \overline{r} erhalten wir die Menge

𝔐′′′ = \{p r, \overline{p} \overline{q}, q \overline{r}\} = 𝔑′′′

In bezug auf 𝔐′′′ sind alle ihre Elemente wesentlich.

Man überlegt sich, daß

H^{⋆} = pr ∨ \overline{p} \overline{q} ∨ q \overline{r}

eine optimale ANF von Φ ist (weil jeder Primimplikand für genau 2 Belegungen den Wert W liefert und Φ 6 W–Stellen hat).

Leider kann das angegebene Probeverfahren auch in eine Sackgasse führen, d. h. zu einer Menge von wesentlichen Primimplikanden, die keine optimale ANF bilden.

Wenn wir z. B. im zweiten Schritt \overline{p} \overline{q} streichen:

𝔐′′_{1} = \{p r, q \overline{r}, \overline{q} r, \overline{p} \overline{r}\}

so bleiben p r, q \overline{r} wesentlich (in bezug auf 𝔐′′) und \overline{q} r, \overline{p} \overline{r} sind wesentlich in bezug auf 𝔐′′:

p q r p r \overline{p} \overline{q} q \overline{r} \overline{p} \overline{r}
β_{4} F F W F F W F
β_{5} F F F F F F W

Wir erhalten die ANF

H^{⋆⋆} = p r ∨ q \overline{r} ∨ \overline{q} r ∨ \overline{p} \overline{r}

mit größeren Kosten als H^{⋆}, obwohl in H^{⋆⋆} kein Primimplikand mehr gestrichen werden kann.

2.4 Folgern

Das logische Folgern ist eine Beziehung zwischen Mengen von Aussagen einerseits und Aussagen andererseits. Wann sagen wir, daß eine Aussage logisch aus einer Menge von Aussagen folgt? Sicher dann, wenn in jeder denkbaren Situation, in der alle Aussagen der betrachteten Menge von Aussagen wahr sind (wir nennen eine solche Situation ein Modell dieser Menge) die betreffende Aussage ebenfalls wahr ist; sicher dann nicht, wenn eine Situation vorliegt (oder denkbar ist), bei der zwar alle Aussagen in der Menge wahr, die betreffende Aussage aber falsch ist.

2.4.1 Grundbegriffe

Wir definieren:

Modell, Folgern und Folgerungsoperator Es sei X ⊆ ausd

• Eine Belegung β heißt Modell von X ⊆ ausd (βModX), wenn für alle H ∈ X gilt: βerfH

• Aus X folgt H (XfolH), wenn jedes Modell β von X den Ausdruck H erfüllt.

• Der Folgerungsoperator fl ist wie folgt definiert: fl (X) := {H|XfolH}

Beispiel Sei p die Aussage ”Es liegt Schnee“ und q die Aussage ”Es ist kalt“. Die Belegung β: p=W, q=W ist Modell der Ausdrucksmenge X_{1} = {p, ¬p ∨ q, p → q}; zur Ausdrucksmenge X_{2} = {p, ¬p} gibt es dagegen kein Modell. Aus der Ausdrucksmenge X_{1} folgt die Aussage q; aus der widersprüchlichen Ausdrucksmenge X_{2} folgt dagegen die Menge ausd aller Ausdrücke, d. h. fl (X_{2}) = ausd.

Satz 2.4.1 (Eigenschaften des Folgerungsoperators) fl hat folgende Eigenschaften:

1. fl (∅) = ag.

2. fl (ag) ⊆ ag.

3. Hülleneigenschaften von fl:

(a) X ⊆ fl (X)

(b) Wenn X ⊆ Y, so fl (X) ⊆ fl (Y).

(c) fl (fl (X)) = fl (X).

4. Endlichkeitssatz für das Folgern:

Wenn H ∈ fl (X), so gibt es eine endliche Teilmenge X^{⋆} ⊆ X mit H ∈ fl (X^{⋆})

Beweis von fl (ag) ⊆ ag: fl (ag) = fl (fl (∅)) = fl (∅) = ag

Übung 17 Man zeige, daß fl (∅) = ag und fl ({p, ¬p}) = ausd ist und beweise, daß der Folgerungsoperator fl die Hülleneigenschaften besitzt. Außerdem vollziehe man folgenden Beweis nach:

2.4.2 Beweis des Endlichkeitssatzes für das Folgern

Wir benutzen zwei Hilfssätze:

Hilfssatz 1 Voraussetzung: Jede endliche Teilmenge X^{⋆} ⊆ X besitzt ein Modell. Behauptung: Zu jeder Aussagenvariable p_{i} gibt es einen Wahrheitswert w_{i} derart, daß jede endliche Teilmenge X^{⋆} von X ein Modell β_{i}^{⋆} mit β_{i}^{⋆} (p_{i}) = w_{i} hat.

Beweis des ersten Hilfssatzes Es sei p_{i} ∈ AV fixiert. Für jede endliche Teilmenge X^{⋆} von X kann einer von vier Fällen eintreten:

Fall 1: Es gibt ein Modell β^{⋆} von X^{⋆} mit β^{⋆} (p_{i}) = W und es gibt ein Modell β^{⋆⋆} von X^{⋆} mit β^{⋆⋆} (p_{i}) = F.

Fall 2: Es gibt ein Modell β^{⋆} von X^{⋆} mit β^{⋆} (p_{i}) = W und es gibt kein Modell β^{⋆⋆} von X^{⋆} mit β^{⋆⋆} (p_{i}) = F

Fall 3: Kein β^{⋆} … und ein β^{⋆⋆} …

Fall 4: Kein β^{⋆} … und kein β^{⋆⋆}…

Wir überlegen uns:

• Der Fall 4 kann nicht eintreten, da X^{⋆} ein Modell β besitzt. Wenn β(p_{i}) = W, so existiert also ein Modell β^{⋆} = β von X^{⋆} mit β^{⋆}(p_{i}) = W; wenn β(p_{i}) = F, so existiert ein Modell β^{⋆⋆} = β von X^{⋆} mit β^{⋆⋆}(p_{i}) = F.

• Es kann nicht passieren, daß für ein X_{1}^{⋆} ⊆ X Fall 2 und für ein X_{2}^{⋆} ⊆ X der Fall 3 eintritt. Begründung: X_{1}^{⋆} ∪ X_{2}^{⋆} ⊆ X ist endlich und besitzt folglich ein Modell β. β ist also zugleich Modell von X_{1}^{⋆} und X_{2}^{⋆}. Weil für X_{1}^{⋆} der Fall 2 eintritt und β Modell von X_{1}^{⋆} ist, gilt β (p_{i}) = W. Weil für X_{2}^{⋆} der Fall 3 eintritt, hat X_{2}^{⋆} kein Modell β^{⋆} mit β^{⋆}(p_{i}) = W, folglich wäre β (p_{i}) = F, also folgt ein Widerspruch.

Also ergeben sich nur noch zwei Möglichkeiten:

1. Möglichkeit Für alle endlichen Teilmengen X^{⋆} mit X tritt Fall 1 oder 2 ein. Dann setzen wir w_{i} := W.

2. Möglichkeit Für alle endlichen Teilmengen X^{⋆} mit X tritt Fall 1 oder 3 ein. Dann setzen wir w_{i} := F.

Da w_{i} das Verlangte leistet, haben wir damit den ersten Hilfssatz bewiesen. □

Diesen ersten Hilfssatz benötigen wir nur für den Beweis des folgenden

Hilfssatz 2 (Endlichkeitsatz für Modelle) Besitzt jede endliche Teilmenge X^{⋆} von X ein Modell, so besitzt X ein Modell.

Beweis des Endlichkeitssatzes für Modelle Wir vervollständigen die Menge X unter Erhalt der Eigenschaft, daß jede endliche Teilmenge ein Modell besitzt, zu einer Menge Y, von der wir ein Modell ablesen können: Wenn eine Aussagenvariable p_{i} als Ausdruck in Y vorkommt, dann gilt für jedes Modell β von Y stets β(p_{i}) = W, weil β den Ausdruck p_{i} ∈ Y erfüllt, wenn dagegen p_{i} ∈ Y ist, so gilt β(p_{i}) = F für jedes Modell von Y.

Wir gehen induktiv vor:

Anfang: X_{0} := X

Schritt:

X_{n+1} = \{ \begin{matrix}X_{n} ∪ \{p_{n}\}, & falls jede endliche Teilmenge X^{⋆} ⊆ X ein Modell β^{⋆} mit β^{⋆} (p_{i}) = W hat \\ X_{n} ∪ \{¬p_{n}\}, & sonst \end{matrix}

Wir setzen nun

Y = ⋃_{n=0}^{∞} X_{n}

Behauptung 1: Für alle n ∈ N gilt: Jede endliche Teilmenge von X_{n} hat ein Modell.

Beweis durch Induktion über n.

Anfang: n = 0 — trivial: Jede endliche Teilmenge von X_{0} = X hat ein Modell (nach Vor.)

Schritt: n → n + 1 Nach Hilfssatz 1 existiert zu p_{n} ein w_{n} so, daß jede endliche Teilmenge X^{⋆} ⊆ X_{n} ein Modell β^{⋆} mit β^{⋆} (p_{n}) = w_{n} hat. Nun machen wir für w_{n} eine Fallunterscheidung:

Fall 1: w_{n} = W Dann hat jede endliche Teilmenge X^{⋆} ⊆ X ein Modell β^{⋆} mit β^{⋆} (p_{n}) = W

X_{n+1} = X_{n} ∪ {p_{n}}

Sei X^{⋆} endliche Teilmenge von X_{n+1}, dann hat X^{⋆} ein Modell. Fall 2: w_{n} = F

X_{n+1} := X_{n} ∪ {¬p_{n}} usw. (analog Fall 1)

□

Behauptung 2: Jede endliche Teilmenge Y^{⋆} von Y besitzt ein Modell.

Beweis Weil Y^{⋆} endlich ist, existiert ein m mit Y^{⋆} ⊆ X_{m}

m = max {i|p_{i} ∈ Y^{⋆} oder ¬p_{i} ∈ Y^{⋆}},

also hat Y^{⋆} nach Behauptung 1 ein Modell. □

Wir betrachten die Belegung β̄ : AV → {W, F} mit

β̄ (p_{i}) = \{ \begin{matrix}W, & p_{i} ∈ Y \\ F, & ¬p_{i} ∈ Y \end{matrix}

Behauptung 3: β̄ModX, d. h. wenn H ∈ X, so β̄erfH

Beweis Es sei H ∈ X, p_{j_{1}}, …, p_{j_{n}} alle Aussagenvariablen von H.

Y^{⋆} = \{H\} ∪ \{ \begin{matrix}\{p_{j_{v}}\}, & p_{j_{v}} ∈ Y \\ \{¬p_{j_{v}}\}, & ¬p_{j_{v}} ∈ Y \end{matrix} v = 1, …, n

ist card (Y^{⋆}) ≤ n + 1, d. h. Y^{⋆} ist endlich, besitzt also nach Behauptung 2 ein Modell β^{⋆}.

Dabei gilt: für v = 1, …, n

β^{⋆} (p_{j_{v}}) = \{ \begin{matrix}W, falls & p_{j_{v}} ∈ Y \\ F, falls & ¬p_{j_{v}} ∈ Y \end{matrix} \} = β̄ (p_{j_{v}})

Nun ist

wert (H, β^{⋆}) = wert (H, β̄) = W

also β̄erfH. □

Damit haben wir den Endlichkeitssatz für Modelle bewiesen. □

Nun kommen wir zum eigentlichen

Beweis des Endlichkeitssatzes für das Folgern Es sei H ∈ fl(X), d. h.

jedes Modell β von X erfüllt den Ausdruck H.

Wir nehmen an, daß keine endliche Teilmenge X^{⋆} ⊆ X mit H ∈ fl(X^{⋆}) existiert, d. h. für jede endliche Teilmenge X^{⋆} ⊆ X gilt:

Es gibt ein Modell β^{⋆} von X^{⋆} mit β^{⋆}erf¬H

d. h.

Es gibt ein Modell von X^{⋆} ∪ {¬H}.

Wir betrachten nun Y := X ∪ {¬H}.

Ist Y^{⋆} eine endliche Teilmenge von Y, so ist Y^{⋆} \ {¬H} eine endliche Teilmenge von X, es gibt also ein Modell β^{⋆} von (Y^{⋆} \ {¬H}) ∪ {¬H}, d. h. ein Modell von Y^{⋆}. Nach dem Endlichkeitssatz für Modelle (Hilfssatz 2) hat daher Y = X ∪ {¬H} ein Modell.

Das steht im Widerspruch dazu, daß jedes Modell von X, also auch die Modelle von X ∪ {¬H}, den Ausdruck H erfüllen.

Hiermit haben wir den Endlichkeitssatz für das Folgern vollständig bewiesen. □

2.4.3 Ableitbarkeits- und Deduktionstheorem

Als weitere wichtige Eigenschaft des Folgerns zeigen wir, daß

das Ableitbarkeitstheorem

Wenn (H^{⋆} → H) ∈ fl (X) , so H ∈ fl (X ∪ {H^{⋆}})

und das Deduktionstheorem

Wenn H ∈ fl (X ∪ {H^{⋆}}) , so (H^{⋆} → H) ∈ fl (X)

gelten.

Das Ableitbarkeitstheorem sagt aus, daß die Abtrennungsregel für das Folgern gilt: Wenn (H^{⋆} → H) aus einer Menge X folgt und H^{⋆} als zusätzliche Voraussetzung hinzugenommen wird, so folgt H.

Beweis des Ableitbarkeitstheorems Vor.: Jedes Modell von X erfüllt (H^{⋆} → H)

Beh.: Jedes Modell von X ∪ {H^{⋆}} erfüllt H.

Sei βMod (X ∪ {H^{⋆}}). βModX, also βerf (H^{⋆} → H) nach Voraussetzung. Es gilt

W = wert (H^{⋆} → H, β) = seq(\underbrace{wert (H^{⋆}, β)}_{W}, wert (H, β))

also wert (H, β) = W, d. h. βerfH. □

Beweis des Deduktionsstheorems Vor.: Jedes Modell von X ∪ {H^{⋆}} erfüllt H.

Beh.: Jedes Modell von X erfüllt (H^{⋆} → H).

Sei βModX.

Fall 1: βerf¬H^{⋆}, d. h. wert (H^{⋆}, β) = F.

Dann ist wert ((H^{⋆} → H) , β) = W, d. h. βerf (H^{⋆} → H)

Fall 2: βerfH^{⋆} Dann ist βMod (X ∪ {H^{⋆}}). Folglich βerfH, also βerf (H^{⋆} → H).

Wir erhalten also in beiden Fällen βerf (H^{⋆} → H). □

2.4.4 Der Kalkülbegriff

Unter einem Kalkül verstehen wir ein formales System, sprich ein mathematisches Modell, in dem wir rechnen können. Als mathematisches Modell ist ein Kalkül gegeben durch ein Alphabet und eine Sprache über diesem Alphabet, sowie einem Deduktionsoperator (einer Rechenoperation). Bei Logikkalkülen hebt man die Menge der Theoreme (die wahren bzw. beweisbaren) Aussagen hervor.

Kalkül 𝔎 = [X, A, S, F] heißt Kalkül, wenn

1. X ist ein endliches Alphabet.

2. A ⊆ W (X) ist eine Sprache über X.

3. S ⊆ A ist eine Satzmenge (Menge der Theoreme)

4. F : 𝔓 (A) → 𝔓 (A) (Deduktionsoperator des Kalküls) mit

• Hülleneigenschaften

• Endlichkeitssatz

• F (S) ⊆ S

Folgerung 2.4.1 AK = [X, ausd, ag, fl] ist ein Kalkül (Aussagenkalkül).

Man unterscheidet:

• Kalkül mit semantisch definierter Satzmenge.

ag = Menge der in der klassischen logischen Matrix gültigen Ausdrücke (fl (∅))

• Kalkül mit syntaktisch definierter Satzmenge.

S = Menge aller mittels rein syntaktischer Unformungsoperationen aus einer endlichen Menge von Ausdrücken zu gewinnender Ausdrücke.

Beispiel

Abtrennungsregel \frac{H, (H → H^{⋆})}{H^{⋆}} Einsetzungsregel \frac{H (p_{i}) , H^{⋆}}{H (p_{i}/H^{⋆})}

Definition 2.4.1 (Entscheidbarkeit eines Kalküls) Ein Kalkül heißt entscheidbar, wenn es einen Algorithmus gibt, der für jedes H ∈ A entscheidet, ob H ∈ S ist.

Satz 2.4.2 Der Aussagenkalkül ist entscheidbar.

Beweis O. B. d. A. seien p_{1}, … p_{n} alle in H ∈ ausd vorkommenden Aussagenvariablen.

Es gilt:

H ∈ ag gdw. für alle β ∈ 𝔅: wert (H, β) = W

Dabei ist wert nur von β(p_{1}), …, β(p_{n}) abhängig.

Also ist H ∈ ag gdw. für jede Belegung β von {p_{1}, … p_{n}} gilt

wert (H, β) = W

Es müssen also ”nur“ 2^{n} Belegungen geprüft werden, um die Allgemeingültigkeit eines Ausdrucks zu entscheiden. □

2.5 Aussagenlogisches Schließen

2.5.1 Grundbegriffe

Wozu ist die Menge ag gut? Es sei H ∈ ag; p_{1}, …, p_{n} alle Aussagenvariablen in H, dann ist Φ_{H} (w_{1}, …, w_{n}) = W = wert (H, β) mit β (p_{i}) = w_{i}. H ∈ ag spiegelt eine verum-funktion, d. h. spiegelt eine extensionale Aussagenfunktion, die stets eine wahre Aussage als Funktionswert hat, eine sogenannte Tautologie.

Was ist eine Schlußregel? ”Wenn A_{1}, …, A_{n} gilt, so gilt auch B_{1}, …, B_{m}“. Oder ”Wenn A_{1}, …, A_{n}, so α (A_{1}, …, A_{n})“. Eine Schlußregel ist eine Tautologie, wobei die Implikation Hauptverknüpfung ist.

Wie kann man feststellen, ob eine Schlußregel gültig ist? Wenn die Schlußregel die allgemeine Form

wenn A_{1}, …, A_{n} so α(A_{1}, …, A_{n}) (⋆) hat und α eine extensionale Aussagenfunktion ist, dann können wir zu der zu α gehörigen Wahrheitsfunktion Φ einen repräsentierenden Ausdruck H des Aussagenkalküls finden. Wir nehmen an, daß dieser Ausdruck genau die Variablen p_{1}, …, p_{n} enthält und betrachten den Ausdruck

H^{⋆} = p_{1} ∧ p_{2} ∧ ⋯ ∧ p_{n} → H.

Wenn H^{⋆} ∈ ag ist, dann ist die Schlußregel (⋆) gültig, und umgekehrt. Wir können sagen, daß die Allgemeingültigkeit von H^{⋆} die Schlußregel (⋆) rechtfertigt.

2.5.2 Nützliche aussagenlogische Schlußweisen

Im folgenden geben wir einige wichtige aussagenlogische Schlußregeln an. Ist dabei der ”Schluß“–Strich fett gedruckt, dann gilt die Regel auch in die umgekehrte Richtung.

1. Konjunktionsregel

Wenn A, so B
Wenn A, so C

Wenn A, so (B und C)

Rechtfertigung: (p → q) ∧ (p → r) ↔ (p → q ∧ r) ∈ ag

2. Alternative

(a) Schluß auf eine Alternative

\frac{Wenn A, so B}{Wenn A, so (B oder C)}

Rechtfertigung: (p → q) → (p → q ∨ r) ∈ ag

(b) Schluß aus einer Alternative

Wenn A, so B oder C Wenn A und B, so D Wenn A und C, so D Wenn A, so D

Rechtfertigung:((p → q ∨ r) ∧ (p ∧ q → s) ∧ (p ∧ r → s) → (p → s)) ∈ ag

3. Implikation

(a)

\frac{Wenn A und B, so C}{Wenn A, so (wenn B, so C)}

Rechtfertigung: (p ∧ q → r) → (p → (q → r)) ∈ ag 70 KAPITEL 2. AUSSAGENLOGIK

(b) Fregescher Kettenschluß

Wenn A, so (wenn B, so C) Wenn A, so B

Wenn A, so C

Rechtfertigung: (p → (q → r)) ∧ (p → q) → (p → r) ∈ ag

(c) Kettenschluß

Wenn A, so B
Wenn B, so C
Wenn A, so C

Rechtfertigung: (p → q) ∧ (q → r) → (p → r) ∈ ag

(d) Abtrennungsregel (modus ponens)

A

Wenn A, so B
B

Rechtfertigung: (p ∧ (p → q)) → q ∈ ag

4. Äquivalenz Wenn A, so (wenn B, so C) Wenn A, so (wenn C, so B) Wenn A, so (B gdw. C)

Rechtfertigung:(p → (q → r)) ∧ (p → (r → q)) → (p → (q ↔ r)) ∈ ag 5. Negation

(a) Kontraposition

\frac{Wenn A, so B}{Wenn nicht B, so nicht A.}

Rechtfertigung: (p → q) → (¬q → ¬p) ∈ ag

(b) Doppelte Negation

\frac{A}{nicht nicht A}

Rechtfertigung: p → ¬¬p ∈ ag (c)

Wenn A und B, so C Wenn A und B, so nicht C Wenn A, so nicht B Rechtfertigung: (((p ∧ q) → r) ∧ ((p ∧ q) → ¬r)) → (p → ¬q) ∈ ag

2.5.3 Das Haubersche Theorem

n ≥ 2

Wenn A_{1}, so B_{1}
⋮
Wenn A_{n}, so B_{n}

A_{1} oder A_{2} oder … oder A_{n} (Die Voraussetzungen A_{i} erschöpfen alle Fälle).

nicht (B_{1} und B_{2}), nicht (B_{2} und B_{3}), …
nicht (B_{1} und B_{3}), …
⋮

nicht (B_{1} und B_{n}). (Die Behauptungen B_{i} schließen sich paarweise aus) A_{1} gdw. B_{1}

⋮
A_{n} gdw. B_{n}

Beweis (indirekt) Annahme: Es gibt j so, daß A_{j} gdw. B_{j} falsch.

Wenn A_{j}, so B_{j} ist wahr nach Voraussetzung, d. h. wenn B_{j}, so A_{j} ist falsch, d. h. B_{j} ist wahr und A_{j} falsch. Es gibt ein i ≠ j so, daß A_{i} wahr ist.

Wenn A_{i}, so B_{i} ist wahr, also B_{i} ist wahr und i ≠ j ^{/} nicht (B_{i} und B_{j}) □

2.6 Ableitbarkeit

Das Ziel dieses Abschnittes besteht darin, die Folgerungsrelation XfolH syntaktisch zu charakterisieren, d. h. wir suchen nach einer Möglichkeit, die Berechnung der Modelle von X zu vermeiden, um danach festzustellen, ob alle diese Modelle den Ausdruck H erfüllen.

Syntaktisch zu charakterisieren bedeutet, daß wir die Menge X und den Ausdruck H rein strukturell bearbeiten (mit Regeln wie zum Beispiel der Abtrennungsregel), ohne uns dabei um Erfüllbarkeit, Gültigkeit oder Modelle (also die gesamte semantische Begriffswelt) zu kümmern.

Ziel ist also eine Gleichung der Form

fl(X) = ”syntaktisch definierte Hüllenoperation“(X).

2.6.1 Ableiten mit Abtrennungs- und Einsetzungsregel

Auf Seite 68 hatten wir als Beispiel für syntaktische Umformungsoperationen die Abtrennungs– und Einsetzungsregel kennengelernt. Ausgehend von diesen Regeln wollen wir jetzt entsprechende Relationen und syntaktische Operationen definieren:

Ableiten mit Abtrennungsregel Aus Ausdrücken der Form H, (H → H^{⋆}) ist H^{⋆} ableitbar. abla Sei X ⊆ ausd, H ∈ ausd. Die Relation XablaH wird induktiv definiert:

A) Wenn H ∈ X, so XablaH

I) Wenn Xabla (H → H^{⋆}) und XablaH, so XablaH^{⋆}

aba Die Operation aba ist definiert als:

aba (X) := {H|XablaH}

Satz 2.6.1 (Widerspruchsfreiheit der Abtrennungsregel) aba(ag) = ag, d. h. wenn H, (H → H^{⋆}) ∈ ag, so H^{⋆} ∈ ag.

Beweis Die Abtrennungsregel ist eine Schlußregel, muß also gerechtfertigt werden: p ∧ (p → q) → q ∈ ag. □

Ableiten mit Einsetzungsregel Aus dem Ausdruck H, der die Aussagenvariable p_{i} enthält, entsteht der Ausdruck H (p_{i}/H^{⋆}), indem an allen Stellen von H zugleich die Variable p_{i} durch den Ausdruck H^{⋆} ersetzt wird. able Sei X ⊆ ausd, H ∈ ausd. Die Relation XableH wird induktiv definiert:

A) Wenn H ∈ X, so XableH

I) Wenn XableH und H^{⋆} ∈ ausd, so XableH (p_{i}/H^{⋆})

abe Die Operation abe ist definiert als:

abe (X) := {H|XableH}

Satz 2.6.2 (Widerspruchsfreiheit der Einsetzungsregel) abe(ag) = ag, d. h. wenn H ∈ ag, dann H (p_{i}/H^{⋆}) ∈ ag.

Beweis Sei H ∈ ag und p_{i} komme in H vor, H^{⋆} ∈ ausd beliebig. Zu zeigen ist, daß H (p_{i}/H^{⋆}) ∈ ag.

Nun ist

wert (H (p_{i}/H^{⋆}) , β) = \underbrace{wert (H, β^{⋆})}_{W weil H∈ag}

mit der Belegung

β^{⋆}(p) = \{ \begin{matrix}β(p) & falls p ≠ p_{i} \\ wert(H^{⋆}, β) & falls p = p_{i} \end{matrix}

also ist H (p_{i}/H^{⋆}) ∈ ag. □

Ableiten mit Abtrennungs- und Einsetzungsregel abl Die Relation abl wird induktiv definiert:

A) Wenn H ∈ X, so XablH

I) (a) Wenn XablaH, so XablH (mit Abtrennungsregel)

(b) Wenn XableH, so XablH (mit Einsetzungsregel)

ab Die Operation ab ist definiert als:

ab (X) := {H|XablH}

Satz 2.6.3 (von der Rückverlegbarkeit der Einsetzung) Es gilt:

ab (X) = aba (abe (X))

Beweis zu zeigen: Wenn XablH, so abe (X) ablaH.

durch Induktion über H.

A) H ∈ X, dann ist H ∈ abe (X), also abe (X) ablaH.

I) (a) Wir haben Xabl (H′ → H) und XablaH, nach Induktionsvoraussetzung ist also abe (X) abla (H′ → H), abe (X) ablaH′, also abe (X) ablaH.

(b) Wir haben XablH′, H = H′ (p_{i}/H^{⋆}). Also gilt nach Induktionsvoraussetzung abe (X) ablaH′. Wenn hier H′ ∈ abe (X) ist, dann ist H = H′ (p_{i}/H^{⋆}) ∈ abe (X) also abe (X) ablaH. Wenn H′ ∉ abe (X), so ist wegen abe (X) ablaH′ auch abe (X) ablaH′ (p_{i}/H^{⋆}), d. h. abe (X) ablaH.

□

Satz 2.6.4 (Widerspruchsfreiheit von ab) Wenn X ⊆ ag, so ab (X) ⊆ ag.

Beweis Es gilt:

ab(X) = aba (abe(X)) ⊆ aba(ag) ⊆ ag

□

Satz 2.6.5 (Eigenschaften von ab, aba, abe) ab : 𝔓 (ausd) → 𝔓 (ausd)

1. ab (∅) = aba (∅) = abe (∅) = ∅

2. ab, aba, abe haben die Hülleneigenschaften

3. Endlichkeitssatz:

Wenn H ∈ ab (X), so gibt es eine endliche Teilmenge X^{⋆} ⊆ X mit H ∈

ab (X^{⋆})

4. Ableitbarkeitstheorem (gilt für ab und aba): Wenn (H^{⋆} → H) ∈ ab (X), dann ist H ∈ ab (X ∪ {H^{⋆}}).

Das Deduktionstheorem (die Umkehrung des Ableitbarkeitstheorems) gilt nicht, denn wir finden ein Gegenbeispiel mit X = ∅ und H = H^{⋆}:

H^{⋆} ∈ ab ({H^{⋆}}) = ab (∅ ∪ {H^{⋆}}) , aber (H^{⋆} → H^{⋆}) ∉ ab (∅)

5. ab (ag) ⊆ ag (sogar gleich)

Folgerung 2.6.1 [X, ausd, ag, ab] ist ein Kalkül.

Haben wir jetzt schon eine vollständige syntaktische Charakterisierung des Folgerns? Nein, denn ab (∅) = ∅ ≠ fl (∅) = ag und fl (X) = ab (ag ∪ X) gilt ebenfalls nicht.

Satz 2.6.6 (Syntaktische Vollständigkeit von ag bezüglich ab) Ist H ∉ ag, so ab (ag ∪ {H}) = ausd.

Beweis Sei H fest, p_{1}, …, p_{n} alle Aussagenvariablen in H.

H ∉ ag ⇒ erf¬H, d. h. es existiert eine Belegung β^{⋆} ∈ 𝔅 mit wert (H, β^{⋆}) = F.

Für i = 1, …, n sei H_{i} := \{ \begin{matrix}p_{i}, & falls β^{⋆} (p_{i}) = F \\ ¬p_{i}, & sonst. \end{matrix}

Behauptung Für alle β ∈ 𝔅 gilt: wert (H_{1} ∨ ⋯ ∨ H_{n}, β) = F gdw. β stimmt auf p_{1}, …, p_{n} mit β^{⋆} überein.

Beweis der Behauptung wert(H_{1} ∨ ⋯ ∨ H_{n}, β) = F genau dann, wenn für alle i = 1, …, n wert(H_{i}, β) = F, d. h.

β (p_{i}) = \{ \begin{matrix}F, & falls H_{i} = p_{i} \\ W, & sonst \end{matrix} \} = β^{⋆}(p_{i})
□

Behauptung (H → H_{1} ∨ ⋯ ∨ H_{n}) ∈ ag

Beweis der Behauptung (indirekt) Annahme:(H → H_{1} ∨ ⋯ ∨ H_{n}) ∉ ag dann existiert β ∈ 𝔅 mit wert (H → H_{1} ∨ ⋯ ∨ H_{n}, β) = F

wert (H, β) = W, \underbrace{wert (H_{1} ∨ ⋯ H_{n}, β) = F}_{β=β^{⋆}auf p_{1},...p_{n}}

W = wert (H, β) = wert (H, β^{⋆}) = F ^{/} Widerspruch □

Also ist (H → H_{1} ∨ ⋯ ∨ H_{n}) ∈ ag.

H ∈ ab (ag ∪ {H})
(H → H_{1} ∨ ⋯ ∨ H_{n}) ∈ ab (ag ∪ {H}) .
H_{1} ∨ ⋯ ∨ H_{n} ∈ ab (ag ∪ {H}) .

Wir setzen ein für p_{i} \{ \begin{matrix}p , falls & H_{i} = p_{i} \\ ¬p, falls & H_{i} = ¬p_{i} \end{matrix} in H_{1} ∨ ⋯ ∨ H_{n} und erhalten

H^{⋆} = [¬¬] p ∨ [¬¬] p ∨ ⋯ ∨ [¬¬] p
⇒  H^{⋆} ∈ ab (ag ∪ {H}) (H^{⋆} → p) ∈ ab (ag ∪ {H}) p ∈ ab (ag ∪ {H}) .  (weil H^{⋆} → p ∈ ag)

H^{⋆⋆} ∈ ausd: H^{⋆⋆} = p [p/H^{⋆⋆}] ∈ ab (ag ∪ {H}). □ Bemerkung ag ist nicht syntaktisch vollständig bezüglich fl. Beispiele

• p ∉ ag; H ∈ fl (ag ∪ {p}) gdw. (p → H) ∈ fl (ag) = ag gdw. (p → H) ∈ ag • (p → q) ∉ ag, also q ∉ fl (ag ∪ {p}).

Die Gleichung fl (X) = ab (ag ∪ X) gilt also nicht, aber vielleicht gilt

fl (X) = aba (ag ∪ X)

den offensichtlich ist es gerade die Einsetzungsregel, die die syntaktische Vollständigkeit von ag bzgl. ab impliziert. Damit stellt sich die Frage:

fl erfüllt das Deduktionstheorem, aba nicht, kann die Gleichung trotzdem gelten?

Die Antwort gibt der Satz 2.6.7 (Schwaches Deduktionstheorem für aba) Voraussetzung:

1. Wenn der Ausdruck H eine der Formen • H_{1} → (H_{2} → H_{1}) (1)

• H_{1} → H_{1} (2)

• (H_{1} → (H_{2} → H_{3})) → ((H_{1} → H_{2}) → (H_{1} → H_{3})) (3) hat, so ist XablaH.

2. (X ∪ {H^{⋆⋆}}) ablaH^{⋆} Behauptung: Xabla (H^{⋆⋆} → H^{⋆}) Beweis Induktion über H^{⋆}. A) H^{⋆} ∈ X ∪ {H^{⋆⋆}}.

Fall 1: H^{⋆} = H^{⋆⋆}

Nach Voraussetzung Xabla (H^{⋆} → H^{⋆}), also Xabla (H^{⋆⋆} → H^{⋆})

Fall 2: H^{⋆} ≠ H^{⋆⋆}

Dann ist H^{⋆} ∈ X. Nach Voraussetzung

XablaH^{⋆} → (H^{⋆⋆} → H^{⋆})
XablaH^{⋆}
Xabla (H^{⋆⋆} → H^{⋆})

I)

\begin{matrix}X ∪ \{H^{⋆⋆}\} ablaH_{1} → H^{⋆} \\ X ∪ \{H^{⋆⋆}\} ablaH_{1} \end{matrix} \} → X ∪ \{H^{⋆⋆}\} ablH^{⋆}

Nach Induktionsvoraussetzung gilt XablaH^{⋆⋆} → (H_{1} → H^{⋆}) und XablaH^{⋆⋆} → H_{1}.

Nach Voraussetzung (2.6.7.1.3) ist

Xabla (H^{⋆⋆} → (H_{1} → H^{⋆})) → ((H^{⋆⋆} → H_{1}) → (H^{⋆⋆} → H^{⋆})) wegen Abtrennungsregel folgt: Xabla (H^{⋆⋆} → H_{1}) → (H^{⋆⋆} → H^{⋆}), also XablaH^{⋆⋆} → H^{⋆}.

□

Die Ausdrücke (2.6.7.1.1), (2.6.7.1.2) und (2.6.7.1.3) sind aus ag, also gültig!

Satz 2.6.8 fl (X) = aba (ag ∪ X).

Um den Beweis zu führen benötigen wir folgendes

Lemma Es seien F_{1}, F_{2} : 𝔓 (ausd) → 𝔓 (ausd) mit

1. F_{1} (∅) ⊆ F_{2} (∅)

2. F_{1} erfüllt den Endlichkeitssatz

3. Wenn X^{⋆} endlich, so gilt Deduktionstheorem für F_{1}:

Wenn H_{2} ∈ F_{1} (X^{⋆} ∪ {H_{1}}) , so (H_{1} → H_{2}) ∈ F_{1} (X^{⋆})

4. Wenn X^{⋆} endlich, X beliebig, X^{⋆} ⊆ X, so F_{2} (X^{⋆}) ⊆ F_{2} (X).

5. Wenn X^{⋆} endlich, so gilt Ableitbarkeitstheorem für F_{2}:

Wenn (H_{1} → H_{2}) ∈ F_{2} (X^{⋆}) , so H_{2} ∈ F_{2} (X ∪ {H_{1}})

Dann ist für alle X ∈ ausd:

F_{1} (X) ⊆ F_{2} (X)

Beweis des Lemmas Es sei H ∈ F_{1} (X). Da F_{1} den Endlichkeitssatz erfüllt, existiert endliches X^{⋆} = {H_{1}, …, H_{n}} mit H ∈ F_{1} (X^{⋆}).

Fall 1: n = 0, X^{⋆} = ∅ H ∈ F_{1} (∅) ⊆ F_{2} (∅) ⊆ F_{2} (X)

Fall 2: n > 0 H ∈ F_{1}(\underbrace{\{H_{1}, …, H_{n−1}\} ∪ \{H_{n}\}}_{X^{⋆}}). Mit Deduktionstheorem für F_{1}

ergibt sich (H_{n} → H) ∈ F_{1} ({H_{1}, …, H_{n−2}} ∪ {H_{n−1}}), usw.
Wir erhalten also (H_{1} → (H_{2} → ⋯ (H_{n} → H) ⋯) ∈ F_{1} (∅) ⊆ F_{2} (∅).

Mit Ableitbarkeitstheorem für F_{2} ergibt sich dann H ∈ F_{2} ({H_{1}, …, H_{n}}) ⊆

F_{2} (X)
□

Beweis des Satzes 2.6.8 Wir wenden zweimal das Lemma an:

{• F_{1} (X) = fl (X) \atop • F_{2} (X) = aba (ag ∪ X).}  \} fl (X) ⊆ aba (ag ∪ X)

{• F_{1} (X) = aba (ag ∪ X) \atop • F_{2} (X) = fl (X)}  \} aba(ag ∪ X) ⊆ fl (X)

Wir erhalten also fl (X) = aba (ag ∪ X). □

2.6.2 Syntaktische Charakterisierung von ag

Die mit Satz 2.6.8 gegebene Charakterisierung des Folgerns durch das Ableiten mit der Abtrennungsregel allein ist noch keine rein syntaktische Charakterisierung des Folgerns, weil auf der rechten Seite der Gleichung noch die Menge ag vorkommt, die unter Bezug auf die Semantik definiert ist. Es bleibt also übrig, diese Menge syntaktisch zu charakterisieren.

Das Axiomensystem axa Die Menge axa besteht aus den folgenden 15 Ausdrücken:

1. p → (q → p) (Prämissenbelastung)

2. ((p → q) → p) → p (Satz von Peirce)

3. (p → q) → ((q → r) → (p → r)) (Kettenschluß)

4. p ∧ q → p

5. p ∧ q → q

6. (p → q) → ((p → r) → (p → (q ∧ r)))

7. p → p ∨ q

8. q → p ∨ q

9. (p → r) → ((q → r) → ((p ∨ q) → r))

10. (p ↔ q) → (p → q)

11. (p ↔ q) → (q → p)

12. (p → q) → (q → p) → (p ↔ q)

13. (p → q) → (¬q → ¬p)

14. p → ¬¬p

15. ¬¬p → p Man sieht sofort

Satz 2.6.9 axa ⊆ ag

Satz 2.6.10 (Widerspruchsfreiheit von axa bezüglich ab) Es gilt:

ab (axa) ⊆ ag

Beweis Es ist axa ⊆ ag und nach Satz 2.6.4 gilt für ab die Widerspruchsfreiheit. □

Satz 2.6.11 (Vollständigkeit von axa bezüglich ab) Es gilt:

ab (axa) ⊇ ag

Beweis Zeigen für H^{⋆} ∈ ausd:

Wenn H^{⋆} ∉ ab (axa) , so H^{⋆} ∉ ag

d. h. wir suchen eine Belegung β^{⋆} mit wert(H^{⋆}, β^{⋆}) = F

Schritt 1: Satz 2.6.12 (Lindenbaumscher Ergänzungssatz)

M ⊆ ausd, H^{⋆} ∉ F (M). Es sei F ein Deduktionsoperator, dann gibt es eine Menge M^{⋆} mit

1. M^{⋆} ⊇ M

2. H^{⋆} ∉ F (M^{⋆})

3. Für alle H ∈ ausd gilt: Wenn H ∉ F (M^{⋆}), so H^{⋆} ∈ F (M^{⋆} ∪ {H}).

4. F (M^{⋆}) = M^{⋆}.

Beweis des Lindenbaumschen Ergänzungssatzes

Wir gehen von einer Aufzählung aller Ausdrücke aus: ausd = {H_{0}, H_{1}, …}.

N_{0} := M.

N_{i+1} := \{ \begin{matrix}N_{i} ∪ \{H_{i}\}, & H^{⋆} ∉ F (N_{i} ∪ \{H_{i}\}) \\ N_{i}, & sonst \end{matrix}

M^{⋆} = ⋃_{i≥0} N_{i}.

Zu 1: M ⊆ M^{⋆} ist klar. Zu 2: H^{⋆} ∉ F (M^{⋆})

Wäre H^{⋆} ∈ F (M^{⋆}), so würde es X^{⋆} ⊆ M^{⋆} und X^{⋆} – endlich geben, mit H^{⋆} ∈ F (X^{⋆}). Weil X^{⋆} endlich, existiert ein k mit X^{⋆} ⊆ N_{k}, also mit

H^{⋆} ∈ F (N_{k}) ^{/} zur Konstruktion.

Zu 3: Sei H = H_{k} ∈ ausd; H ∉ F (M^{⋆}). Nach Konstruktion ist H^{⋆} ∈ F (N_{k} ∪ {H}), sonst wäre H = H_{k} ∈ N_{k} ⊆ M^{⋆} ⊆ F (M^{⋆}). Also H^{⋆} ∈

F (M^{⋆} ∪ {H}).

Zu 4: Es sei H ∈ F (M^{⋆}).

Behauptung: H ∈ M^{⋆}
Es sei H = H_{k}.
zu zeigen: H^{⋆} ∉ F (N_{k} ∪ {H_{k}}).

Nun ist H^{⋆} ∉ F (M^{⋆}), also H^{⋆} ∉ F (M^{⋆} ∪ {H}), weil H ∈ F (M^{⋆}).

H^{⋆} ∉ F (N_{k} ∪ {H}), weil N_{k} ⊆ M^{⋆}.

Damit haben wir den Lindenbaumschen Ergänzungssatz bewiesen. □

Schritt 2: Anwendung mit M = ab (axa) ; F = aba H^{⋆} ∉ aba (ab (axa)) (sonst H^{⋆} ∈ ab(axa) = aba(abe(axa))).

Es gibt M^{⋆} ⊆ ausd mit

1. ab (axa) ⊆ M^{⋆}

2. H^{⋆} ∉ aba (M^{⋆})

3. Für alle H: Wenn H ∉ aba (M^{⋆}), so H^{⋆} ∈ aba (M^{⋆} ∪ {H}).

4. aba (M^{⋆}) = M^{⋆}.

Schritt 3: Man zeigt, daß die folgenden Ausdrücke aus axa ableitbar sind:

p → p, (p → (q → r)) → ((p → q) → (p → r)) ∈ ab (axa)

außerdem ist p → (q → p) ∈ axa.

Also gilt nach dem schwachen Deduktionstheorem für aba:

Wenn (M^{⋆} ∪ {H_{1}}) ablaH_{2}, so M^{⋆}abla (H_{1} → H_{2})
Schritt 4: Lemma 1
(H_{1} → H_{2}) ∈ M^{⋆} gdw. Wenn H_{1} ∈ M^{⋆}, so H_{2} ∈ M^{⋆}
H_{1} ∧ H_{2} ∈ M^{⋆} gdw. H_{1} ∈ M^{⋆} und H_{2} ∈ M^{⋆}
H_{1} ∨ H_{2} ∈ M^{⋆} gdw. H_{1} ∈ M^{⋆} oder H_{2} ∈ M^{⋆}
H_{1} ↔ H_{2} ∈ M^{⋆} gdw. H_{1} ∈ M^{⋆} gdw. H_{2} ∈ M^{⋆}
¬H_{1} ∈ M^{⋆} gdw. H_{1} ∉ M^{⋆}

Beweis der ersten Behauptung

⇒ \begin{matrix}(H_{1} → H_{2}) ∈ M^{⋆} \\ H_{1} ∈ M^{⋆} \end{matrix} \} ⇒ H_{2} ∈ M^{⋆} wegen Abtrennungsregel.

⇐ Wenn H_{1} ∈ M^{⋆}, so H_{2} ∈ M^{⋆}, d. h. H_{1} ∉ M^{⋆} oder H_{2} ∈ M^{⋆}.

Fall 1: Sei zunächst H_{1} ∉ M^{⋆}, dann ist H^{⋆} ∈ aba (M^{⋆} ∪ {H_{1}}), also (H_{1} → H^{⋆}) ∈ aba (M^{⋆}) indirekt: Sei (H_{1} → H_{2}) ∉ M^{⋆} Dann gilt: (H_{1} → H_{2}) → H^{⋆} ∈ aba (M^{⋆}) und (H_{1} → H^{⋆}) → ((H_{1} → H_{2}) → H^{⋆}) → H^{⋆}) ∈ ab (axa) ⊆ M^{⋆}, d. h. weil M^{⋆} abgeschlossen gegen Abtrennung: H^{⋆} ∈ M^{⋆} ^{/} Widerspruch.

Fall 2: H_{2} ∈ M^{⋆}

Es ist H_{2} → (H_{1} → H_{2}) ∈ ab (axa) ⊆ M^{⋆} (Prämissenbelastung)

also H_{1} → H_{2} ∈ M^{⋆}.

Die restlichen Beweise führen wir hier nicht aus. □

Schritt 5: Jetzt geben wir eine Belegung β^{⋆} an, die H^{⋆} falsch macht:

β^{⋆} (p_{i}) = \{ \begin{matrix}W, & p_{i} ∈ M^{⋆} \\ F, & sonst \end{matrix}

Lemma 2 wert (H, β^{⋆}) = W gdw. H ∈ M^{⋆} (dann folgt unmittelbar wert (H^{⋆}, β^{⋆}) = F, d. h. H^{⋆} ∉ ag).

Beweis

durch Induktion über H

A) H ist AV p_{i}

wert (H, β^{⋆}) = β^{⋆} (p_{i}) = W gdw. p_{i} ∈ M^{⋆}

I) H → ¬H wert (¬H, β^{⋆}) = W gdw. wert (H, β^{⋆}) = F gdw. H ∉ M^{⋆} gdw. ¬H ∈ M^{⋆} analog weiter mit Ausdrücken der Form H_{1} ∧ H_{2}, H_{1} ∨ H_{2}, H_{1} → H_{2}

und H_{1} ↔ H_{2}.
□

Damit haben wir den Vollständigkeitssatz bewiesen. □

2.6.3 Cut–Ableitbarkeit

Wir haben also ag = ab(axa). Liefert uns diese syntaktische Charakterisierung von ag auch einen Algorithmus, mit dem wir für jeden Ausdruck H ∈ ausd die Frage ”H ∈ ag?“ entscheiden können, also ein syntaktisches Entscheidungsverfahren für ag?

Nein, eine Axiomatisierung liefert im allgemeinen kein Entscheidungsverfahren, durch Ableiten können wir nur im Falle H ∈ ag zur Antwort ”ja“ kommen, wenn H nicht allgemeingültig ist, können wir das durch Ableiten i. a. nicht herausfinden.

Wir können aber die syntaktische Vollständigkeit von ag ausnutzen:

Wenn H ∉ ag, so ab (ag ∪ {H}) = ausd.

Wenn H ∉ ag, so ist insbesondere der Widerspruch (die Kontradiktion) p ∧ ¬p aus ag ∪ {H} bzw. aus axa ∪ {H} ableitbar.

Um dies gezielt tun zu können, erweitern wir den Kalkül um das Zeichen ⊥ für den Widerspruch:

Der Anfangsschritt in der Ausdrucksdefinition (siehe Seite 52) lautet jetzt:

A) 1. Jede Aussagenvariable ist ein Ausdruck.

2. ⊥ ist ein Ausdruck.

Wir setzen fest, daß für jede Belegung β gilt:

wert(⊥, β) = F

Folgerung 2.6.2 Für ⊥ gilt:

1. ¬⊥ ∈ ag

2. {⊥} hat kein Modell

3. ⊥ ∈ fl(X) genau dann, wenn X kein Modell besitzt, also X widersprüchlich ist.

Damit gilt dann

H ∈ ag gdw. ¬H nicht erfüllbar ist
gdw. {¬H} kein Modell hat
gdw. ⊥ ∈ fl ({¬H})

Wir benötigen also ”nur noch“ eine syntaktische Relation ⊢ (ähnlich wie abla,…) mit

Y ⊢ ⊥ gdw. Y kein Modell besitzt,

für die entscheidbar ist, ob Y ⊢ ⊥ gilt oder nicht.

Eine solche Relation ist die Cut–Ableitbarkeit (mittels der Schnittregel), die von Gentzen angegeben wurde.

Ihr Nachteil besteht darin, daß die Schnittregel nur auf spezielle Ausdrücke, die Klauseln, angewendet werden kann.

Gentzen-Ausdruck (Klausel) Ein Ausdruck H ∈ ausd heißt Klausel, wenn H eine der Formen hat:

• p_{1} ∧ p_{2} ∧ ⋯ ∧ p_{m} → q_{1} ∨ q_{2} ∨ ⋯ ∨ q_{n} (m, n ≥ 1)

• q_{1} ∨ q_{2} ∨ ⋯ ∨ q_{n} (n ≥ 1)

• p_{1} ∧ ⋯ ∧ p_{m} → ⊥ (m ≥ 1)

• ⊥

Wobei p_{1}, …, p_{m}, q_{1}, …, q_{n} paarweise verschiedene Aussagenvariablen sind.

Mit einer Einschränkung der Ausdrucksmenge ist stets die Frage verbunden, ob dadurch die Ausdrucksfähigkeit des Kalküls (hier die Repräsentierbarkeit von Wahrheitsfunktionen) ebenfalls echt eingeschränkt wird.

Zur Beantwortung führen wir folgenden Begriff ein:

Definition 2.6.1 (semantische Äquivalenz) Ausdrücke H_{1}, H_{2} heißen semantisch äquivalent H_{1} ∼_{sem} H_{2} gdw. (H_{1} ↔ H_{2}) ∈ ag

Satz 2.6.13 Jeder Ausdruck H ist semantisch äquivalent zu einer Konjunktion von Klauseln:

H ∼_{sem} K_{1} ∧ K_{2} ∧ ⋯ ∧ K_{m}

Beweis Der Ausdruck H = ⊥ ist eine Klausel, für ¬⊥ gilt offenbar ¬⊥ ∼_{sem} (p → p) und das ist eine Klausel.

Alle Aussagenvariablen sind Klauseln und ¬p_{i} ∼_{sem} (p_{i} → ⊥).

Nun sei H ein beliebiger Ausdruck, in dem genau die Variablen p_{1}, …, p_{n} vorkommen. Man beachte, daß n = 0 sein kann, etwa

H = ⊥ → (¬⊥ ∨ ⊥)

Solche Ausdrücke sind allerdings entweder allgemeingültig oder Kontradiktion.

Fall 1: H ∈ ag.

Dann gilt

H ∼_{sem} (p_{1} → p_{1}) ∧ (p_{2} → p_{2}) ∧ ⋯ ∧ (p_{n} → p_{n})

und das ist eine Konjunktion von Klauseln

Fall 2: H ist eine Kontradiktion d. h. für alle β ist wert(H, β) = F. Dann ist

H ∼_{sem} ⊥

Fall 3: H ∉ ag, H ∉ kt Zu jeder Belegung β von {p_{1}, …, p_{n}} sei

A_{β} := [¬]^{β(p_{1})} p_{1} ∨ ⋯ ∨ [¬]^{β(p_{n})} p_{n}

die zu β gehörige Elementaralternative, wobei [¬]^{F} := e [¬]^{W} := ¬ ist. Beispiel

\begin{matrix}p_{1} & p_{2} & p_{3} \\ F & W & F \end{matrix} → A_{β} = p_{1} ∨ ¬p_{2} ∨ p_{3}

Man überlegt sich (wie für Elementarkonjunktionen – siehe Seite 54), daß folgendes gilt: Lemma wert (A_{β}, β^{⋆}) = F gdw. β (p_{i}) = β^{⋆} (p_{i}) , i = 1, …, n

Wir zeigen nun, daß

H ∼_{sem} ⋀_{wert(H,β)=F} A_{β}

Beweis Es ist zu zeigen, daß für jede Belegung β^{⋆} gilt

wert (H, β^{⋆}) = wert ( ⋀_{wert(H,β)=F} A_{β}, β^{⋆})

d. h.

wert (H, β^{⋆}) = F gdw. wert ( ⋀_{wert(H,β)=F} A_{β}, β^{⋆}) = F

Nun ist

wert ( ⋀_{wert(H,β)=F} A_{β}, β^{⋆}) = F gdw. es ein β mit wert(H, β) = F derart gibt, daß wert (A_{β}, β^{⋆}) = F

Nach dem Lemma ist das der Fall genau dann, wenn wert(H, β^{⋆}) = F, was zu zeigen war. □ Der Audruck

⋀_{wert(H,β)=F} A_{β}

heißt Kanonische Konjunktive Normalform (KKNF) von H. Nachdem wir zu H die KKNF als eine Konjunktion von Elementaralternativen bestimmt haben, genügt es zu zeigen, daß jede solche Alternative semantisch äquivalent zu einer Klausel ist:

1. In A_{β} kommt ¬ nicht vor:

p_{1} ∨ p_{2} ∨ ⋯ ∨ p_{n}

Das ist eine Klausel.

2. alle Variablen sind mit ¬ versehen:

¬p_{1} ∨ ¬p_{2} ∨ ⋯ ∨ ¬p_{n}

Dieser Ausdruck ist semantisch äquivalent zu

p_{1} ∧ p_{2} ∧ ⋯ ∧ p_{n} → ⊥

3. sonst:

Es seien p_{i_{1}}, …, p_{i_{k}} die Variablen, die in A_{β} mit ¬ versehen sind und p_{i_{k+1}}, …, p_{i_{n}} die Variablen, die ohne ¬ vorkommen. Dann ist

A_{β} ∼_{sem} (p_{i_{1}} ∧ ⋯ ∧ p_{i_{k}} → p_{i_{k+1}} ∨ ⋯ ∨ p_{i_{n}})

und dieser Ausdruck ist eine Klausel.

Damit haben wir gezeigt, daß jeder Ausdruck semantisch äquivalent ist zu einer Konjunktion von Klauseln. □

Nun müssen wir die Abtrennungsregel entsprechend anpassen:

Die Schnittregel — Cut (H_{1}, H_{2}, H) Sofern die Klauseln H_{1}, H_{2} den Voraussetzungen genügen, entsteht durch Anwendung der Schnittregel auf H_{1}, H_{2} eine Klausel H durch folgende Definition:

\begin{matrix}H_{1} : [L →] q_{1} ∨ ⋯ ∨ q_{n} \\ H_{2} : p_{1} ∧ ⋯ ∧ p_{m} → R \end{matrix} \} Klauseln
es gibt i, k mit 1 ≤ i ≤ n, 1 ≤ k ≤ m und q_{i} = p_{k}.

H : [L∧] p_{1} ∧ ⋯ ∧ p_{k−1} ∧ p_{k+1} ∧ ⋯ ∧ p_{m} → R ∨ q_{1} ∨ ⋯ ∨ q_{i−1} ∨ q_{i+1} ⋯ ∨ q_{n}

Die Schnittregel vereinfacht Klauselmengen semantisch äquivalent.

Dabei gilt als Bezug zum Folgern:

Satz 2.6.14 (Rechtfertigung der Schnittregel) Wenn Cut (H_{1}, H_{2}, H), so H ∈ fl ({H_{1}, H_{2}}).

Es gilt also insbesondere auch: Wenn agH_{1}, agH_{2} und Cut (H_{1}, H_{2}, H), dann agH.

Beweis des Satzes (indirekt) Sei β Modell von {H_{1}, H_{2}}, d. h. wert (H_{1}, β) = W und wert (H_{2}, β) = W. Wir haben zu zeigen: βerfH.

Wir nehmen an, daß wert (H, β) = F.

Dann ist wert (L, β) = W, für j = 1, …, m mit j ≠ k β (p_{j}) = W wert (R, β) = F, für j = 1, …, n mit j ≠ i β (q_{j}) = W

Wir betrachten jetzt H_{2}. Nach Voraussetzung ist wert (H_{2}, β) = W. Wegen wert (R, β) = F ist wert (p_{1} ∧ ⋯ ∧ p_{m}, β) = F, also

β (p_{k}) = F = β (q_{i})

Wir erhalten wert (H_{1}, β) = F, also ^{/} zur Vorraussetzung. □

Wir definieren nun den wichtigen Begriff der

Cut–Ableitbarkeit Y ⊢ H Y sei eine Menge von Klauseln, H ∈ ausd. Dann ist Y ⊢ H induktiv definiert durch

A) Wenn H ∈ Y, so Y ⊢ H

I) Wenn Y ⊢ H_{1}, Y ⊢ H_{2} und Cut (H_{1}, H_{2}, H), so Y ⊢ H

Folgerung 2.6.3 Wenn Y ⊢ H, so H ∈ fl (Y)

Uns interessiert natürlich vor allem, wann Y ⊢ ⊥ gilt.

Lemma Wenn (Y ∪ {p_{i}}) ⊢ ⊥, so Y ⊢ ⊥ oder Y ⊢ (p_{i} → ⊥).

Beweis Wir betrachten eine Cut–Ableitung von ⊥ aus Y ∪ {p_{i}}.

Fall 1: Bei einem Ableitungsschritt geht der Ausdruck p_{i} (als H_{1}) in die Schnittregel ein. Wir lassen diese Ableitungsschritte aus dem Beweis heraus, dann ist entweder Y ⊢ (p_{i} → ⊥) oder sogar Y ⊢ ⊥.

Fall 2: Der Ausdruck p_{i} wird bei keinem Ableitungsschritt verwendet, dann ist Y ⊢ ⊥.

Also ist Y ⊢ ⊥ oder Y ⊢ (p_{i} → ⊥).
□

Folgerung 2.6.4 Wenn (Y ∪ {p_{i}}) ⊢ ⊥ und (Y ∪ {p_{i} → ⊥}) ⊢ ⊥, so (Y ⊢ ⊥).

Beweis Aus (Y ∪ {p_{i}}) ⊢ ⊥ haben wir nach Lemma Y ⊢ ⊥ oder Y ⊢ (p_{i} → ⊥). Aus Y ⊢ (p_{i} → ⊥) und (Y ∪ {p_{i} → ⊥}) ⊢ ⊥ ergibt sich sofort Y ⊢ ⊥. □

Satz 2.6.15 Ist Y eine Menge von Klauseln, die kein Modell besitzt, d. h. ⊥ ∈ fl(Y), dann ist Y ⊢ ⊥.

Beweis Wir zeigen, daß Y ein Modell hat (⊥ ∉ fl(Y)), wenn Y ⊬ ⊥ gilt.

Wir definieren induktiv

Y_{0}  := Y
Y_{n+1} := \{ \begin{matrix}Y_{n} ∪ \{p_{n}\}, & falls (Y_{n} ∪ \{p_{n}\} ⊬ ⊥) \\ Y_{n} ∪ \{p_{n} → ⊥\}, & sonst. \end{matrix}

und setzen

Y^{⋆} :=

die kleinste Menge von Klauseln, die alle Y_{i} enthält und abgeschlossen ist in bezug auf die Schnittregel.

(die Lindenbaumsche Ergänzungsmenge) Es gilt

1. Y ⊆ Y^{⋆}

2. Für alle i ist p_{i} ∈ Y^{⋆} oder (p_{i} → ⊥) ∈ Y^{⋆}

3. Y^{⋆} ⊬ ⊥

Die dritte Aussage ergibt sich daraus, daß für alle Y_{i} gilt Y_{i} ⊬ ⊥ (und dem Endlichkeitssatz für ⊥), das beweisen wir durch Induktion über i wie folgt:

Anfangsschritt: Y_{0} ⊬ ⊥ (weil Y_{0} = Y). Induktionsschritt: Wenn Y_{i} ⊬ ⊥, so Y_{i+1} ⊬ ⊥.

Damit gleichwertig ist

Wenn Y_{i+1} ⊢ ⊥, so Y_{i} ⊢ ⊥

Wegen Y_{i+1} ⊢ ⊥ ist nach Konstruktion

Y_{i+1} = Y_{i} ∪ {p_{i} → ⊥}

und

(Y_{i} ∪ {p_{i}}) ⊢ ⊥

Wir haben also

(Y_{i} ∪ {p_{i} → ⊥}) ⊢ ⊥ und (Y_{i} ∪ {p_{i}}) ⊢ ⊥

d. h. nach Folgerung Y_{i} ⊢ ⊥, was zu zeigen war.

Wir betrachten jetzt die Belegung β mit

β (p_{i}) := \{ \begin{matrix}W, & falls p_{i} ∈ Y^{⋆} \\ F, & falls (p_{i} → ⊥) ∈ Y^{⋆} \end{matrix}

Behauptung: β ist Modell von Y. Zu zeigen: Wenn wert (H, β) = F, so H ∉ Y. H : p_{1} ∧ ⋯ ∧ p_{m} → q_{1} ∨ ⋯ ∨ q_{n} wert (H, β) = F Für i = 1, …, m ist β (p_{i}) = W, d. h. p_{i} ∈ Y^{⋆} j = 1, …, n ist β (q_{i}) = F, d. h. (q_{j} → ⊥) ∈ Y^{⋆} Es gilt:

Cut (p_{1} ∧ ⋯ ∧ p_{m} → q_{1} ∨ ⋯ ∨ q_{n}, p_{1}, p_{2} ∧ ⋯ ∧ p_{m} → q_{1} ∨ ⋯ ∨ q_{n})
Cut (p_{2} ∧ ⋯ ∧ p_{m} → q_{1} ∨ ⋯ ∨ q_{n}, p_{2}, p_{3} ∧ ⋯ ∧ p_{m} → q_{1} ∨ ⋯ ∨ q_{n})

⋮

Cut (p_{m} → q_{1} ∨ ⋯ ∨ q_{n}, p_{m}, q_{1} ∨ ⋯ ∨ q_{n})
Cut (q_{1} ∨ ⋯ ∨ q_{n}, q_{1} → ⊥, q_{2} ∨ ⋯ ∨ q_{n})

⋮

Cut (q_{n}, q_{n} → ⊥, ⊥)

Wäre H ∈ Y, so hätten wir H ∈ Y^{⋆} und folglich Y^{⋆} ⊢ ⊥ in Widerspruch zu 3. Also ist H ∉ Y, was zu zeigen war. Damit haben wir den Satz bewiesen. □ Wegen obiger Folgerung haben wir also

⊥ ∈ fl(Y) gdw. Y ⊢ ⊥ Satz 2.6.16 Es sei Y eine Menge von Klauseln, die ein Modell hat; ⊥ ∉ fl (Y).

Dann gilt für alle Aussagenvariablen p_{i}

1. Wenn p_{i} ∈ fl (Y), so Y ⊢ p_{i}

2. Wenn (p_{i} ⊢ ⊥) ∈ fl (Y), so Y ⊢ (p_{i} → ⊥).

Die Schnittregel ist also vollständig für das Folgern von Formeln der Form p_{i} bzw. (p_{i} → ⊥).

Beweis Sei p_{i} ∈ fl (Y), d. h. jedes Modell von Y erfüllt p_{i}, folglich

⊥ ∈ fl (Y ∪ {p_{i} → ⊥}) ,

d. h. kein Modell von Y erfüllt (p_{i} → ⊥).

Nach Satz 2.6.15 folgt: (Y ∪ {p_{i} → ⊥}) ⊢ ⊥. Eine entsprechende Ableitung nehmen wir her und lassen die Schritte heraus, wo p_{i} → ⊥ benutzt wird. Es entsteht ein Beweis für Y ⊢ ⊥ oder für Y ⊢ p_{i}. Y ⊢ ⊥ kann nicht sein, weil Y ein Modell hat, also Y ⊢ p_{i}.

Damit ist 1. bewiesen, 2. zeigt man analog. □

Satz 2.6.17 Wenn Y eine endliche Menge von Klauseln ist, so ist der Schnittregelabschluß {H | Y ⊢ H} von Y endlich.

Beweis Da Y eine endliche Menge von Klauseln ist, ist die Menge der AV, die in den Klauseln in Y vorkommen endlich. Daher ist die Menge der AV, die im Schnittregelabschluß von Y vorkommen, ebenfalls endlich. □

Wir haben nun ein

2.6.4 Syntaktisches Entscheidungsverfahren für ag

Der Algorithmus, der feststellt ob H ∈ ag ist, arbeitet wie folgt:

Schritt 1: Berechne eine endliche Menge Y = {K_{1}, …, K_{n}} von Klauseln derart, daß

¬H ∼_{sem} ⋀_{i=1}^{n} K_{i}

(Der Beweis von Satz 2.6.13 zeigt, wie das gemacht wird)

Schritt 2: Berechne Y^{⋆} = {H^{⋆} | Y ⊢ H^{⋆}}, den Schnittregelabschluß von Y

(Y^{⋆} ist eine endliche Menge nach Satz 2.6.17)

Schritt 3: Wenn der Ausdruck ⊥ Element von Y^{⋆} ist, dann ist agH, sonst ist H nicht allgemeingültig.

2.7. WIDERSPRUCHSFREIHEIT, VOLLSTÄNDIGKEIT, … 87

Rechtfertigung

Es ist H ∈ ag gdw. {¬H} kein Modell hat
gdw. Y kein Modell hat
gdw. ⊥ ∈ fl(Y)
gdw. Y ⊢ ⊥
gdw. ⊥ ∈ Y^{⋆}

Beispiel

\begin{aligned}H & = & p → (q → p) \\ ¬H & = & ¬ (p → (q → p)) \end{aligned}

Berechnung von Y:

1. Elimination von →:

\begin{matrix}¬ (p → (¬q ∨ p)) \\ ¬ (¬p ∨ (¬q ∨ p)) \end{matrix}

2. ¬ vor die Variablen treiben, ¬¬ weglassen

\begin{matrix}p ∧ ¬ (¬q ∨ p) \\ p ∧ q ∧ ¬p \end{matrix}

Y = {p, q, p → ⊥}

Offenbar Cut (p, p → ⊥, ⊥), also ⊥ ∈ Y^{⋆}, d. h. H ∈ ag.

2.7 Widerspruchsfreiheit, Vollständigkeit und Nichtableitbarkeit

2.7.1 Widerspruchsfreiheit

Widerspruchsfreiheit im Sinne des Wortes besteht dann, wenn in der gegebenen Menge von Aussagen ”kein Widerspruch steckt“, d. h. aus ihr kein Widerspruch bewiesen bzw. gefolgert werden kann. Für den Aussagenkalkül wird dies durch Hilberts Definition der klassischen Widerspruchsfreiheit (bzgl. des Ableitens ab) gefaßt. Man kann schärfer die semantische Widerspruchsfreiheit mit der Forderung definieren, daß alles was beweisbar ist, auch wahr ist oder schwächer, daß nicht alles beweisbar sein darf (syntaktische Widerspruchsfreiheit).

Definition 2.7.1 (Widerspruchsfreiheit)

1. (Gödel) X ⊆ ausd heißt semantisch widerspruchsfrei genau dann, wenn ab (X) ⊆ ag

2. (Hilbert) X heißt klassisch widerspruchsfrei genau dann, wenn es keinen Ausdruck H ∈ ausd mit H ∈ ab (X) und ¬H ∈ ab (X) gibt.

3. (Post)

X heißt syntaktisch widerspruchsfrei genau dann, wenn ab (X) ≠ ausd.

Satz 2.7.1

1. Wenn X semantisch widerpruchsfrei, so ist X klassisch widerpruchsfrei.

2. Wenn X klassisch widerspruchsfrei, so X syntaktisch widerspruchsfrei.

3. Die Umkehrungen gelten nicht.

Beweis der einzelnen Aussagen des Satzes

1. weil niemals H und ¬H zugleich allgemeingültig

2. p, ¬p sind nicht beide ableitbar, also ab (X) ≠ ausd.

3. X_{1} = {¬ (p → p)} ⊈ ag. X_{1} nicht semantisch widerspruchsfrei.

ab (X_{1}) = {¬ (H → H) |H ∈ ausd} klassisch widerspruchsfrei.

X_{2} = {p → p, ¬ (p → p)} nicht klassisch widerspruchsfrei

Behauptung: p ∉ ab (X_{2}). d. h. X_{2} syntaktisch widerspruchsfrei.

Beweis später (siehe unten), nicht ableitbar.

□

Satz 2.7.2 (Endlichkeitssatz für Widerspruchsfreiheit) Die sematische/klassische/syntaktische Widerspruchsfreiheit hat finiten Charakter, d. h. eine Menge X ist genau dann semantisch bzw. klassisch bzw. syntaktisch widerspruchsfrei, wenn jede endliche Teilmenge X^{⋆} ⊆ X diese Eigenschaft hat.

Beweis Wir zeigen zuerst: Wenn X die Eigenschaft hat, dann auch jede endliche Teilmenge X^{⋆} ⊆ X.

semantisch:

Wegen X^{⋆} ⊆ X ist ab (X^{⋆}) ⊆ ab (X) ⊆ ag

klassisch:

Wenn X^{⋆} nicht klassisch widerspruchsfrei ist, dann gibt es ein H ∈ ausd mit H, ¬H ∈ ab(X^{⋆}) ⊆ ab(X), also ist X nicht klassisch widerspruchsfrei.

syntaktisch:

Wegen X^{⋆} ⊆ X ist ab (X^{⋆}) ⊆ ab (X) ⊂ ausd

Jetzt setzen wir voraus, daß jede endliche Teilmenge X^{⋆} ⊆ X die Eigenschaft hat und zeigen, daß auch X die Eigenschaft hat.

semantisch:

Für ab(X) ⊆ ag genügt es zu zeigen, daß X ⊆ ag ist. Sei H ∈ X, dann ist {H} ⊆ X, also ab ({H}) ⊆ ag, folglich H ∈ ag (wegen H ∈ ab ({H})), also ist X ⊆ ag, was zu zeigen war. klassisch: indirekt

Nehmen wir an, daß ein H ∈ ausd mit

H, ¬H ∈ ab (X)

existiert, d. h. X ist nicht klassisch widerspruchsfrei.

Nach dem Endlichkeitssatz für das Ableiten existieren endliche X_{1}^{⋆}, X_{2}^{⋆} ⊆ X mit

H ∈ ab (X_{1}^{⋆}) und ¬H ∈ ab (X_{2}^{⋆})

Dann ist X_{1}^{⋆} ∪ X_{2}^{⋆} endliche Teilmenge von X und

H, ¬H ∈ ab (X_{1}^{⋆} ∪ X_{2}^{⋆}) .

im Widerspruch dazu, daß jede endliche Teilmenge von X klassisch widerspruchsfrei ist.

syntaktisch: indirekt Nehmen wir an, daß X nicht syntaktisch widerspruchsfrei ist: ab (X) = ausd.

Dann ist p ∈ ausd = ab (X), es gibt also eine endliche Teilmenge X^{⋆} ⊆ X mit

p ∈ ab (X^{⋆}) ,

folglich ist ab (X^{⋆}) = ausd, also ist X^{⋆} nicht syntaktisch widerspruchsfrei. ^{/}

□

2.7.2 Vollständigkeit

Die Vollständigkeit einer Menge besagt die Umkehrung der Widerspruchsfreiheit, d. h.

semantisch: alles was wahr ist, ist beweisbar.

klassisch: von zwei Aussagen A und nicht A ist stets eine beweisbar.

syntaktisch: wenn eine nicht beweisbare Aussage als Axiom genommen wird, so ist die Widerspruchsfreiheit verletzt, d. h. alles wird beweisbar.

Definition 2.7.2 (Vollständigkeit)

1. X ⊆ ausd heißt semantisch vollständig genau dann, wenn ab (X) ⊇ ag

2. X ⊆ ausd heißt klassisch vollständig genau dann, wenn für jedes H ∈ ausd gilt H ∈ ab (X) oder ¬H ∈ ab (X).

3. X ⊆ ausd heißt syntaktisch vollständig genau dann, wenn für jedes H ∈ ausd gilt: Wenn H ∉ ab (X), so ab (X ∪ {H}) = ausd

Satz 2.7.3

1. axa ist semantisch widerspruchsfrei und semantisch vollständig.

2. Es gibt im AK keine klassisch vollständige und klassisch widerspruchsfreie Menge X.

Beweis der zweiten Behauptung Wir zeigen:

Wenn X ⊆ ausd klassisch vollständig ist, so ist X nicht klassisch widerspruchsfrei

Sei X klassisch vollständig, dann ist

p ∈ ab (X) oder ¬p ∈ ab (X)

Fall 1: p ∈ ab (X)

Es ist ab(X) = ausd, also X nicht syntaktisch widerspruchsfrei, also nach Satz (2.7.1.2) nicht klassisch widerspruchsfrei.

Fall 2: ¬p ∈ ab (X)

Es ist

¬p (p/¬p) = ¬¬p ∈ ab(X)

also ¬p, ¬¬p ∈ ab(X), d. h. X ist ebenfalls nicht klassisch widerspruchsfrei.

□

Satz 2.7.4

1. Wenn X semantisch vollständig, so ist X syntaktisch vollständig.

2. Umkehrung gilt nicht

Beweis der ersten Behauptung Es sei X semantisch vollständig, d. h. ag ⊆ ab(X) und H ∉ ab(X). Folglich ist H ∉ ag, also

ab (ag ∪ {H}) = ausd.

Also

ab (X ∪ {H}) = ab (ab (X ∪ {H})) ⊇ ab (ag ∪ {H}) = ausd

d. h. X ist syntaktisch vollständig. □

Beweis der zweiten Behauptung Betrachten: X = {¬p}.

ab (X) = {¬H|H ∈ ausd} ⊂ ausd, X syntaktisch widerspruchsfrei.

Nach Lindenbaum existiert eine Menge Y mit

1. Y ⊇ X = {¬p}

2. Y ist syntaktisch widerspruchsfrei und syntaktisch vollständig

3. ab (Y) = Y

Y ist nicht semantisch vollständig, d. h. ag ⊈ ab (Y)

sonst wäre axa ⊆ ab (Y) und ¬p ∈ Y \ axa ⊆ Y d. h. ab (axa ∪ {¬p}) = ausd ⊆ Y

d. h. Y – nicht syntaktisch widerspruchsfrei ^{/} . □

2.7.3 Nichtableitbarkeit

Im Zusammenhang mit Satz 2.7.1 sind wir auf das Problem gestoßen

Wie beweist man p ∉ ab ({p → p, ¬(p → p)) ?

allgemein:

Wie zeigt man H ∉ ab(X) ?

Für den Spezialfall X = axa ist das leicht, denn wegen ab(axa) = ag handelt es sich dann um die Frage H ∉ ag, das können wir entscheiden.

Wenn wir statt des Ableitens das Folgern betrachten, d. h. die Frage H ∉ fl(X)? betrachten, so ist klar, wie sie zu beantworten ist: Wir müssen ein Modell von X finden, das H falsch macht, dann ist H ∉ fl(X).

Diese Methode können wir zum Beweis von H ∉ ab(X) nutzbar machen, wenn es uns gelingt, das Ableiten semantisch (durch das Folgern) zu charakterisieren.

Wir ersetzen die klassische logische Matrix [{W, F} , {W} , non, et, vel, seq, aeq] durch eine Matrix μ = [M, M^{⋆}, Φ_{1}, Φ_{2}, …, Φ_{5}] und definieren

• βerf_{μ}H (über μ) genau dann, wenn wert_{μ} (H, β) ∈ M^{⋆}.

•

ag_{μ} = Menge der H ∈ ausd mit: Für alle β ∈ 𝔅_{μ} ist wert_{μ} (H, β) ∈ M^{⋆}
= fl_{μ} (∅).

Satz 2.7.5 abe (ag_{μ}) = ag_{μ} für jede logische Matrix μ

Beweis Man zeigt durch Induktion über H: Wenn H = H_{1} (p/H^{⋆}) und H_{1} ∈ ag_{μ}, so H ∈ ag_{μ}. □

Bemerkung Für aba gibt es keinen äquivalenten Satz, betrachten wir als Beispiel die Matrix μ_{0} = [{W, F} , {W} , non, et, vel, Φ_{4}, aeq] mit Φ_{4} (w, w′) ≡ W. Hierbei ist (p → p) ∈ ag_{μ_{0}} und ((p → p) → p) ∈ ag_{μ_{0}}, d. h. p ∈ aba (ag_{μ_{0}}), aber p ∉ ag_{μ_{0}}.

Hinreichend für die Widerspruchsfreiheit der Abtrennungsregel:

Wenn w ∈ M^{⋆} und Φ_{4} (w, w′) ∈ M^{⋆}, so w′ ∈ M^{⋆}.

d. h. wenn w ∈ M^{⋆} und w′ ∈ M \ M^{⋆}, so Φ_{4} (w, w′) ∈ M \ M^{⋆} (⋆)

Definition 2.7.3 Eine logische Matrix μ heißt normal, wenn Φ_{4} die Bedingung (⋆) erfüllt.

Folgerung 2.7.1 Wenn μ eine normale logische Matrix ist, so ist ab (ag_{μ}) = ag_{μ}.

Satz 2.7.6 (Satz von Lindenbaum) Zu jeder Menge X ⊆ ausd gibt es eine höchstens abzählbare normale logische Matrix μ mit ab (X) = ag_{μ}.

Beweis Wir betrachten die Matrix μ = [M, M^{⋆}, Φ_{1}, …, Φ_{5}] mit

M := ausd
M^{⋆} := ab (X)
Φ_{1} (H) := ¬H
Φ_{2} (H_{1}, H_{2}) := (H_{1} ∧ H_{2})
Φ_{3} (H_{1}, H_{2}) := (H_{1} ∨ H_{2})
Φ_{4} (H_{1}, H_{2}) := (H_{1} → H_{2})
Φ_{5} (H_{1}, H_{2}) := (H_{1}, ↔ H_{2})

Die Menge M ist abzählbar unendlich. Wir zeigen, daß μ normal ist, d. h.

wenn H ∈ ab (X) und Φ_{4} (H, H′) = (H → H′) ∈ ab (X) , so H′ ∈ ab (X)

das gilt nach Definition von ab (Abtrennungsregel).

Es bleibt zu zeigen, daß gilt:

ab (X) = ag_{μ}

Es sei H ∈ ag_{μ}, d. h. wert_{μ} (H, β) ∈ ab (X) für alle β ∈ 𝔅_{μ}.

Wir betrachten die Belegung β^{⋆} ∈ 𝔅_{μ} mit

β^{⋆} (p_{i}) := p_{i} ∈ ausd

Offenbar ist

wert_{μ} (H, β^{⋆}) = H

also ist H ∈ ab (X).

Es sei umgekehrt H ∈ ab (X), dann ist

abe ({H}) ⊆ ab (X)

Es sei β eine beliebige Belegung der Aussagenvariablen mit Ausdrücken. Dann ist (wenn genau p_{1}, …, p_{n} in H vorkommen)

wert_{μ} (H, β) = H [p_{1}/β(p_{1}), …, p_{n}/β(p_{n})] ∈ abe ({H}) ⊆ ab (X)

d. h. H ∈ ag_{μ}. □

Bemerkung: Es geht im allgemeinen nicht mit einer endlichen Matrix.

Satz 2.7.7 (Semantische Charakterisierung von ab) Es ist H ∈ ab (X) genau dann, wenn für jede normale höchstens abzählbare logische Matrix μ mit X ⊆ ag_{μ} stets H ∈ ag_{μ}.

Beweis

(⇒) Es sei XablH (H ∈ ab (X)) μ–normal X ⊆ ag_{μ}

Dann ist H ∈ ab (X) ⊆ ag_{μ} (weil μ–normal) also H ∈ ag_{μ}

(⇐)

H ∈ ⋂ ; μ–normal ; X ⊆ ag_{μ} ag_{μ}

Nach Satz von Lindenbaum gibt es μ^{⋆} mit ab (X) = ag_{μ^{⋆}}. Dabei X ⊆ ag_{μ^{⋆}}.

Folglich H ∈ ag_{μ^{⋆}} = ab (X). d. h. H ∈ ab (X).
□

Folgerung 2.7.2 (Satz über Nichtableitbarkeit) H ∉ ab (X) genau dann, wenn es eine höchstens abzählbare logische Matrix μ mit X ⊆ ag_{μ} und H ∉ ag_{μ} gibt.

Beispiel

p ∉ ab ({p → p, ¬ (p → p)})
μ = [{W, F } , {W } , Φ_{1}, et, vel, seq, aeq]
Φ_{1} : Φ_{1} (W) = W, Φ_{1} (F) = F.

μ normal, da Φ_{4} = seq.

wert_{μ} (p → p, β) = seq (β (p) , β (p)) = W ∈ {W }
p → p ∈ ag_{μ}
wert_{μ} (¬ (p → p) , β) = Φ_{1} (wert (p → p, β)) = wert_{μ} (p → p, β) ∈ {W }

aber β^{⋆} (p) = F →wert_{μ} (p, β^{⋆}) = F d. h. p ∉ ag_{μ}. 93

Satz 2.7.8 axa ist unabhängig, d. h. wenn H ∈ axa, so ab (axa \ {H}) ≠ ag und es gilt: H ∉ ab (axa \ {H}).

2.8 Dualitätstheoreme

Mit den im Aussagenkalkül entwickelten Hilfmitteln kann nun der Beweis des Dualitätstheorems für Mengenterme angegangen werden.

Dazu geben wir eine induktive Definition (im Gegensatz zur Erzeugung durch eine Grammatik — siehe Seite 46) für Mengenvariablen, –terme und –gleichungen an:

Alphabet: A = {M, ⋆, ∪, ∩, , =, (,)}

Mengenvariable:

A) M ist eine Mengenvariable.

I) Wenn das Wort Z eine Mengenvariable ist, so auch Z⋆.

E) sonst nichts.

MV := { M, M⋆, M ⋆ ⋆, … }
= = = usw.
M_{1} M_{2} M_{3}

Mengenterme:

A) Jede Mengenvariable ist ein Mengenterm

I) 1. Ist T_{1} ein Mengenterm, so ist \overline{T_{1}} ein Mengenterm 2. Sind T_{1}, T_{2} Mengenterme, so sind (T_{1} ∪ T_{2}), (T_{1} ∩ T_{2}) Mengenterme.

E) Sonst nichts.

Gleichungen: Sind T_{1}, T_{2} Mengenterme, so heißt T_{1} = T_{2} Gleichung.

Weiterhin definieren wir:

Belegung: Eine Abbildung f : {M_{0}, …} → 𝔓 (E) heißt Belegung.

Set: Die von einem Term T bei einer Belegung f beschriebene Menge Set (T, f)

A) Set (M_{i}, f) := f (M_{i})
I) Set (\overline{T} , f) := \overline{Set (T, f)} = E \ Set (T, f)
Set (T_{1} {∪ \atop ∩}T_{2}, f) = Set (T_{1}, f) {∪ \atop ∩}Set (T_{2}, f)

Gültigkeit: Eine Gleichung G ≡ T_{1} = T_{2} heißt gültig gdw. für alle Belegungen f Set (T_{1}, f) = Set (T_{2}, f) ist.

Satz 2.8.1 (Dualitätstheorem für Mengengleichungen) Ist G eine gültige Gleichung und entsteht G′ aus G indem gleichzeitig an allen Stellen ”∩“ durch ”∪“ und ”∪“ durch ”∩“ ersetzt wird, dann ist G′ gültig.

Beispiel

(M_{0} ∪ M_{1}) = \overline{(\overline{M_{0}} ∩ \overline{M_{1}})}
↓
(M_{0} ∩ M_{1}) = \overline{(\overline{M_{0}} ∪ \overline{M_{1}})}

Beweis durch Reduktion auf das Dualitätstheorem der Aussagenlogik Zu jedem Term T konstruieren wir einen Ausdruck H_{T}:

A) T ≡ M_{i} H_{T} ≡ p_{i}

I) \begin{matrix}T ≡ \overline{T′} & H_{T} ≡ ¬H_{T′} \\ T ≡ (T_{1} ∪ T_{2}) & H_{T} ≡ (H_{T_{1}} ∨ H_{T_{2}}) \\ T ≡ (T_{1} ∩ T_{2}) & H_{T} ≡ (H_{T_{1}} ∧ H_{T_{2}}) \end{matrix}

Hilfssatz Sei T Mengenterm, a ∈ E und f Belegung, ferner

β_{a,f} (p_{i}) := \{ \begin{matrix}W, & falls a ∈ f (M_{i}) \\ F, & sonst \end{matrix}

Dann gilt:

a ∈ Set (T, f) gdw. wert (H_{T} , β_{a,f}) = W

Beweis des Hilfssatzes durch Induktion über T A) T = M_{i}

a ∈ Set (M_{i}, f) = f (M_{i}) gdw. wert (p_{i}, β_{a,f}) = W gilt.

I) a ∈ Set (\overline{T} , f) gdw. a ∈ \overline{Set (T, f)}

gdw. nicht a ∈ Set (T, f)
gdw. nicht wert (H_{T} , β_{a,f}) = W
gdw. wert (H_{T} , β_{a,f}) = F
gdw. wert (¬H_{T} , β_{a,f}) = W
gdw. wert (H\overline{T} , β_{a,f}) = W
a ∈ Set (T_{1} ∩ T_{2}, f) gdw. a ∈ Set (T_{1}, f) und a ∈ Set (T_{2}, f)
gdw. wert (H_{T_{1}}, β_{a,f}) = W und wert (H_{T_{2}}, β_{a,f}) = W
gdw. wert (H_{T_{1}} ∧ H_{T_{2}}, β_{a,f}) = W
gdw. wert (H_{T_{1}∩T_{2}}, β_{a,f}) = W

analog für T = T_{1} ∪ T_{2}. □

Satz 2.8.2 T_{1} = T_{2} gültig gdw. H_{T_{1}}, H_{T_{2}} semantisch äquivalent.

Beweis Es ist T_{1} = T_{2} gültig gdw.

für alle f : Set (T_{1}, f) = Set (T_{2}, f)
↕
für alle f, alle a ∈ E : a ∈ Set (T_{1}, f) gdw. a ∈ Set (T_{2}, f)
↕
für alle β : wert (H_{T_{1}}, β) = W gdw. wert (H_{T_{2}}, β) = W
□

Satz 2.8.3 (Dualitätstheorem der Aussagenlogik) Es seien H_{1}, H_{2} Ausdrücke, in denen die Zeichen →, ↔ nicht vorkommen, ferner sei H′_{i} der aus H_{i} durch simultanes Ersetzen von ∧ durch ∨ und von ∨ durch ∧ entstehende Ausdruck. Dann gilt:

Wenn ag (H_{1} ↔ H_{2}) , so ag (H′_{1} ↔ H′_{2}) .

Offenbar gilt dann:

G ≡ T_{1} = T_{2} gültig → ag (H_{T_{1}} ↔ H_{T_{2}})

← Dualität

→ ag (H′_{T_{1}} ↔ H′_{T_{2}})

→ T′_{1} = T′_{2} gültig.

Damit haben wir das Dualitätstheorem für Mengenterme bewiesen. □

Beweis des Dualitätstheorems der Aussagenlogik Wir zeigen: Wenn H_{1} → H_{2} ∈ ag, so H′_{2} → H′_{1} ∈ ag. Es seien o. B. d. A. p_{1}, …, p_{n} alle AV in H_{1} → H_{2}. Dann ist

(H_{1} → H_{2}) [p_{1}/¬p_{1}, …, p_{n}/¬p_{n}] = (H_{1}^{⋆} → H_{2}^{⋆}) ∈ ag

wobei H_{i}^{⋆} = H_{i} [p_{1}/¬p_{1}, …, p_{n}/¬p_{n}].

Nun ist ¬ (H_{0} ∧ H_{00}) ∼_{sem} ¬H_{0} ∨ ¬H_{00} und ¬ (H_{0} ∨ H_{00}) ∼_{sem} ¬H_{0} ∧ ¬H_{00}.

Mittels dieser Äquivalenz treiben wir die Negationszeichen nach außen. (← anwenden von rechts nach links) Dabei geht H_{1}^{⋆} in ¬H′_{1}, H_{2}^{⋆} in ¬H′_{2} über, wir erhalten also

(H′_{1} → ¬H′_{2}) ∈ ag

also (H′_{2} → H′_{1}) ∈ ag (Kontraposition). □

Beispiel

M = M ∪ (M ∩ N) Absorptionsgesetz

übersetzen → p ↔ p ∧ (p ∨ q) p ↔ p ∨ (p ∧ q)

→

M = M ∩ (M ∪ N).

Berechnungstheorie

Warum unternehmen wir an dieser Stelle einen Abstecher in die Berechnungstheorie, d. h. in die Theorie der Algorithmen? Bisher sind wir doch mit dem intuitiven Algorithmenbegriff gut ausgekommen, z. B. als wir zeigten, daß es einen Algorithmus gibt, der auf jeden Ausdruck H des Aussagenkalküls angewendet werden kann und stets nach endlich vielen Schritten terminiert mit einem der Resultate ”H ∈ ag“ oder ”H ∉ ag“ und mit ”H ∈ ag“ genau dann endet, wenn H allgemeingültig ist. Es zeigt sich aber, daß ein solcher Algorithmus zur Entscheidung der Gültigkeit im Prädikatenkalkül (ab Seite 123) nicht gefunden wurde und es stellt sich damit die Frage nach einem Beweis dafür, daß ein solcher Algorithmus nicht existiert. Ein exakter Beweis kann nur auf der Basis exakt definierter Begriffe geführt werden; wir müssen also den Algorithmenbegriff exakt definieren, d. h. Theorie der Algorithmen betreiben.

Obwohl hier die Logik zur Motivierung der Algorithmentheorie angeführt wird (sie ist aus dem Bedürfnis der Logik entstanden), bildet die Algorithmentheorie heute den Kern der Informatik, auch die Definition einer beliebigen Programmiersprache (und ihrer Semantik) ist nichts anderes als die Festlegung eines Algorithmenbegriffs. Insofern kann die Theorie der Programmierung als Teilgebiet der Algorithmentheorie bzw. als angewandte Algorithmentheorie verstanden werden.

Betrachten wir z. B. folgendes praktisches Problem: Sie haben ein Programm geschrieben und es mit einem Datensatz gestartet. Auf dem Bildschirm passiert nichts. Nach einiger Zeit des Wartens fragen Sie sich: Ist das Programm in eine Endlosschleife geraten (durch einen Programmierfehler) oder dauert die Berechnung wirklich so lange? Es wäre doch schön, wenn man ein Programm hätte, das einen Programmtext und einen Datensatz einliest und dann die Frage beantwortet, ob das eingelesene Programm bei dem eingelesenen Datensatz terminiert. Die Algorithmentheorie beweist, daß ein solches Programm nicht existiert, das ”Halteproblem“ ist nicht entscheidbar.

Neben solchen prinzipiellen Fragen (”existiert ein Algorithmus, der …“) behandelt die Berechnungstheorie aber auch die Frage nach der Qualität von Algorithmen, die durch Laufzeit- und Speicherplatz–Bedarf gemessen wird.

3.1 Grundbegriffe

Jeder kennt eine Vielzahl von Algorithmen (Rechenverfahren, Bedienungsanleitungen, Kochrezepte, …) und hat daraus einen intuitiven Begriff des Machbaren (mit endlichen Mitteln und in endlicher Zeit) abstrahiert. Dieser Begriff reicht aus, um zu verifizieren, daß ein angegebenes Verfahren ein bestimmtes Problem löst (z. B. das Entscheidungsproblem im Aussagenkalkül). Dieser Begriff bietet aber keinen Ansatzpunkt für einen Beweis dessen, daß ein Problem unlösbar ist.

Gibt es überhaupt Probleme, die algorithmisch unlösbar sind? Betrachten wir als Beispiel Entscheidungsprobleme für Sprachen; wir fixieren ein endliches Alphabet X und betrachten alle Sprachen über X, also 𝔓 (W (X)). Die Kardinalzahl dieser Menge ist größer als ℵ_{0}, die Kardinalzahl der Menge N.

Zu jeder Sprache L ⊆ W (X) gehört das Entscheidungsproblem von L, d. h. die Menge

{p ∈ L?|p ∈ W (X)}

der Aufgaben festzustellen, ob ein spezifisches Wort p zu L gehört oder nicht.

Ein Algorithmus löst dieses Problem, wenn er auf jedes Wort p ∈ W (X) angewendet werden kann und seine Anwendung stets nach endlich vielen Schritten mit der richtigen Antwort auf die Frage p ∈ L? terminiert.

Ein Algorithmus selbst hat eine endliche Beschreibung, etwa durch ein Wort über einem endlichen Alphabet Y. Die Menge der Wörter über Y kann bijektiv auf N abgebildet werden, ist also abzählbar unendlich, d. h. es gibt ”weniger“ Algorithmen als Entscheidungsprobleme, es muß also unlösbare Probleme geben.

Der intuitive Ansatz bietet, wie gesagt, keinen Ansatz für einen exakten Beweis dafür, daß ein bestimmtes Problem unlösbar ist. Dazu muß der Algorithmenbegriff präzisiert werden. Jede Präzisierung bringt aber unvermeidlich eine Einschränkung der zugelassenen Vorgehensweisen mit sich, so daß nach einem Unlösbarkeitsbeweis die Frage entsteht, ob es an der Präzisierung oder am Problem liegt, daß keine Lösung existiert.

Dieser Frage ist man dadurch entkommen, daß man den Algorithmenbegriff mehrfach in unterschiedlicher Weise präzisiert und die Gleichwertigkeit der verschiedenen Präzisierungen bewiesen hat. Diese Ansätze können wie folgt sortiert werden:

1. Axiomatischer Ansatz (Church, Kleene) Man erklärt gewisse Funktionen per Axiom für berechenbar und definiert Operationen mit Funktionen, die per definitionem die Berechenbarkeit erhalten.

2. Maschinen–Ansatz (Turing)

Man definiert einen Typ von Rechenmaschinen und erklärt als berechenbar genau das, was diese Maschinen berechnen können.

3. Semiotischer Ansatz (Markow, Post) Rechnen bzw. algorithmisches Vorgehen wird als Manipulation von Zeichenreihen (Wörtern) nach gewissen Regeln verstanden.

4. Beweistheoretischer Ansatz (Gödel) Das Berechnen eines Funktionswertes k = f(i) wird als Beweisen der Gleichung f(i) = k verstanden.

Wir werden uns im folgenden nur mit dem axiomatischen und dem Maschinen– Ansatz befassen.

Was ist ein Problem?

Als Problem bezeichnen wir eine Familie von Aufgaben, die von einem oder mehreren Parametern abhängen. Dabei unterscheiden wir Berechnungsprobleme

{f (x_{1}, …, x_{n}) =? | x_{1}, …, x_{n} ∈ N}

und Entscheidungsprobleme, wie z. B.

{H ∈ ag?|H ∈ ausd}

In dem einen Fall geht es um die Berechnung eines Wertes (z. B. einer natürlichen Zahl), im anderen um die Bestimmung eines Wahrheitswertes.

Das Berechnungsproblem {f (x_{1}, …, x_{n}) =? | x_{1}, …, x_{n} ∈ N} der Funktion f heißt lösbar bzw. die zahlentheoretische Funktion f heißt berechenbar, wenn es einen Algorithmus gibt, der für jedes x_{1}, …, x_{n} ∈ N folgendes leistet:

Wenn f für [x_{1}, …, x_{n}] definiert ist, dann stoppt die Anwendung des Algorithmus auf [x_{1}, …, x_{n}] nach endlich vielen Schritten mit dem Wert f(x_{1}, …, x_{n}) als Resultat; wenn f für [x_{1}, …, x_{n}] nicht definiert ist, dann stoppt die Anwendung des Algorithmus niemals.

Wir verlangen also nicht, daß der Algorithmus erkennt, daß f für [x_{1}, …, x_{n}] nicht definiert ist und mit einer Fehlermeldung stoppt.

Jedes Entscheidungsproblem, also auch

{H ∈ ag? | H ∈ ausd},

kann auf ein Berechnungsproblem zurückgeführt werden; dazu geht man zur charakteristischen Funktion der zu entscheidenden Menge über, hier:

χ_{ag}(H) = \{ \begin{matrix}0, falls H ∈ ag \\ 1, sonst \end{matrix}

und hat das Problem

{χ_{ag}(H) =? | H ∈ ausd}

zu lösen. Durch eineindeutige Numerierung der Menge aller Ausdrücke kommt man dazu, daß man nur die Berechenbarkeit zahlentheoretischer Funktionen untersuchen muß

3.2 Axiomatische Charakterisierung der Berechenbarkeit

Einer der historisch ersten Ansätze, den Berechenbarkeitsbegriff zu fassen, definiert induktiv eine Klasse von Funktionen, indem zunächst einige einfache Anfangsfunktionen angegeben werden, die per Definition in der Klasse enthalten sind. Sodann werden verschiedene Prinzipien angegeben, wie aus Funktionen, die in der Klasse liegen, neue Funktionen gewonnen werden können.

Wir nennen eine n-stellige zahlentheoretische Funktion total, wenn sie für alle n-Tupel von natürlichen Zahlen definiert ist.

3.2.1 Anfangsfunktionen

Anfangsfunktionen ANF = Menge der folgenden zahlentheoretischen Funktionen

1. N (x) = x + 1 (Nachfolgerfunktion)

2. C_{i}^{n} (x_{1}, …, x_{n}) = i (n-stellige Konstanten)

3. I_{k}^{n} (x_{1}, …, x_{n}) = x_{k} (Argumentauswahl)

Satz 3.2.1 Alle Funktionen aus ANF sind intuitiv–anschaulich berechenbar (und total).

3.2.2 Substitution und primitive Rekursion

Substitution Die Funktion ϕ^{(n)} entsteht durch Substitution aus ψ^{(m)} und χ_{1}^{(n)}, …, χ_{m}^{(n)} gdw.

ϕ^{(n)} (x_{1}, …, x_{n}) = ψ^{(m)} (χ_{1}^{(n)} (x_{1}, …, x_{n}) , …, χ_{m}^{(n)} (x_{1}, …, x_{n}))

Die Substitution kann auch auf partielle (d. h. nicht totale) Funktionen angewendet werden. Die Funktion ϕ^{(n)} ist für [x_{1}, …, x_{n}] (durch die angegebene Gleichung) definiert genau dann, wenn χ_{1}^{(n)}, …, χ_{m}^{(n)} für [x_{1}, …, x_{n}] definiert sind und ψ^{(m)} für das m-Tupel [χ_{1}^{(n)} (x_{1}, …, x_{n}) , …, χ_{m}^{(n)} (x_{1}, …, x_{n})] definiert ist.

Satz 3.2.2 Sind ψ^{(m)} und χ_{1}^{(n)}, …, χ_{m}^{(n)} intuitiv–anschaulich berechenbare Funktionen und entsteht ϕ^{(n)} durch Substitution von ψ^{(m)} und χ_{1}^{(n)}, …, χ_{m}^{(n)}, so ist ϕ^{(n)} intuitiv– anschaulich berechenbar. Sind dabei ψ^{(m)}, χ_{1}^{(n)}, …, χ_{m}^{(n)} total, so ist auch ϕ^{(n)} total.

Da wir die Substitution als Erzeugungsoperation verwenden werden, können wir auch mit einer kleineren Menge von Anfangsfunktionen auskommen, nämlich von den Konstanten C_{i}^{n} nur die Konstanten C_{0}^{n} als Anfangsfunktion behalten, die übrigen können ja durch Substitution aus C_{0}^{n} und der Nachfogerfunktion erzeugt werden:

C_{1}^{n} (x_{1}, … x_{n}) = N (C_{0}^{n} (x_{1}, …, x_{n}))
C_{2}^{n} (x_{1}, … x_{n}) = N (N (C_{0}^{n} (x_{1}, …, x_{n})))
⋮

Induktive Definition, die primitive Rekursion Die Funktion ϕ^{(n+1)} entsteht durch primitive Rekursion aus ψ^{(n)} und χ^{(n+2)}, wenn ϕ^{(n+1)} die Lösung des folgenden Gleichungssystems ist:

ϕ^{(n+1)} (x_{1}, …, x_{n}, 0) = ψ^{(n)} (x_{1}, …, x_{n})
ϕ^{(n+1)} (x_{1}, …, x_{n}, i + 1) = χ^{(n+2)} (x_{1}, …, x_{n}, i, ϕ^{(n+1)} (x_{1}, …, x_{n}, i)).

Sind ψ^{(n)} und χ^{(n+2)} partielle Funktionen, so wird i. a. auch ϕ^{(n+1)} partiell sein. Auch hier pflanzt sich das Nicht–Definiert–Sein fort, ist z. B. ϕ^{(n+1)}(x_{1}, …, x_{n}, j) nicht definiert, so auch ϕ^{(n+1)}(x_{1}, …, x_{n}, j + 1). Der folgende Satz verallgemeinert den Dedekindschen Rechtfertigungssatz (vgl. S. 42).

Satz 3.2.3 Sind ψ^{(n)} und χ^{(n+2)} gegebene Funktionen, so existiert genau ein ϕ^{(n+1)}, welches das Schema erfüllt.

Satz 3.2.4 Sind ψ^{(n)}, χ^{(n+2)} intuitiv–anschaulich berechenbar und ϕ^{(n+1)} entsteht durch primitive Rekursion aus ψ^{(n)} und χ^{(n+2)}, so ist ϕ intuitiv–anschaulich berechenbar. Sind ψ^{(n)}, χ^{(n+2)} total, so ist auch ϕ^{(n+1)} total. primitiv-rekursive Funktionen PRM = die kleinste Klasse von zahlentheoretischen Funktionen, die ANF enthält und abgeschlossen bezüglich Substitution und primitiver Rekursion ist.

Satz 3.2.5 Die primitiv-rekursiven Funktionen sind total.

3.2.3 Beispiele für primitiv–rekursive Funktionen

Die folgenden zahlentheoretischen Funktionen sind primitiv–rekursiv:

• Addition m + n

• Multiplikation m · n

• Vorgänger V (m) := \{ \begin{matrix}n − 1, & n > 0 \\ 0, & sonst \end{matrix}

• Arithmetische Differenz

m .− n := \{ \begin{matrix}m − n, & m ≥ n \\ 0, & sonst \end{matrix}

m .− 0 = m
m .− (n + 1) = V (m .− n)

• Betrag einer Differenz

|m − n| = (m .− n) + (n .− m)

• sg (signum)

\begin{matrix}sg (0) = 0 \\ sg (m + 1) = 1 \end{matrix}

• \overline{sg}

\overline{sg} (n) = 1 .− sg (n)

• Allgemeine Summe

Sei g eine (n + 1)-stellige primitiv–rekursive Funktion.

Dann ist

f (m_{1}, …, m_{n}, k) := ∑_{i=0}^{k} g (m_{1}, …, m_{n}, i)

primitiv–rekursiv.

Bemerkung:

f (m_{1}, …, m_{n}, 0) = g (m_{1}, …, m_{n}, 0)
f (m_{1}, …, m_{n}, k + 1) = f (m_{1}, …, m_{n}, k) + g (m_{1}, …, m_{n}, k + 1)

• allgemeines Produkt

Sei g wie oben, dann ist

f (m_{1}, …, m_{n}, k) = ∏_{i=0}^{k} g (m_{1}, …, m_{n}, i)

primitiv-rekursiv.

• Fakultät

\begin{matrix}0! = 1 \\ (n + 1)! = n! · (n + 1) \end{matrix}

• Division mit Rest

[\frac{x}{y}] := \{ \begin{matrix}0, & y = 0 \\ xDIVy, & sonst \end{matrix}

[\frac{x}{y}] = sg(y) · ∑_{j=0}^{x} sg (∏_{i=0}^{j} [(x + 1) .− (i + 1) · y])

• Rest der Division

rest (x, y) = x .− [\frac{x}{y}] · y

Definition 3.2.1 (Beschränkter Minimum–Operator) Es sei g^{(n+1)} eine (n + 1)-stellige totale zahlentheoretische Funktion.

Für m_{1}, …, m_{n}, k ∈ N sei

f (m_{1}, …, m_{n}, k) := { die kleinste Zahl i mit i ≤ k und g (m_{1}, …, m_{n}, i) = 0, falls ein sol- ches i existiert 0, sonst

Wir notieren die Funktion f durch

f(m_{1}, …, m_{n}, k) = μi (i ≤ k ∧ g(m_{1}, …, m_{n}, i) = 0)

und sagen, daß sie aus g durch Anwendung des beschränkten Minimumoperators entsteht.

Satz 3.2.6 Die Anwendung des beschränkten Minimumoperators auf eine primitiv–rekursive Funktion g erzeugt eine primitiv–rekursive Funktion f (führt nicht aus der Klasse heraus).

Beweis Man überlegt sich sofort, daß folgendes gilt

f (m_{1}, …, m_{n}, k) =

[∑_{i=0}^{k} sg (∏_{j=0}^{i} g (m_{1}, …, m_{n}, j))] · \overline{sg} ([∑_{i=0}^{k} sg (∏_{j=0}^{i} g (m_{1}, …, m_{n}, j))] .− k)

□ Folgerung 3.2.1 Die Funktion q (n) := die n-te Primzahl und exp(x, n) := der Exponent der n-ten Primzahl in der Primzahldarstellung von x sind primitiv–rekursiv.

Beweis

q (0) = 2 = C_{2}^{0}
q (n + 1) = μj (j ≤ (q (n)! + 1) ∧ (q (n) + 1 .− j) + ∑_{k=2}^{j−1} \overline{sg} (rest (j, k)) = 0).

exp (x, n) = ∑_{j=1}^{x} \overline{sg}(rest (x, q(n)^{j})).

3.2.4 Die Peterfunktion

Offensichtlich sind die primitiv-rekursiven Funktionen nicht alle berechenbaren, denn z. B. die partiellen Funktionen gehören nicht zu PRM. Es gibt aber auch totale Funktionen, die intuitiv–anschaulich berechenbar, aber nicht primitiv–rekursiv sind.

Ackermann gab 1928 eine solche nicht primitiv–rekursive, aber totale und berechenbare Funktion an. In der später von R. Peter vereinfachten Version ist die Funktion wie folgt definiert:

Peterfunktion P : N × N → N

P (0, n) = n + 1
P (m + 1, 0) = P (m, 1)
P (m + 1, n + 1) = P (m, P (m + 1, n)))

Beweis der Berechenbarkeit der Peterfunktion

PROCEDURE Peter(m,n : CARDINAL) : CARDINAL BEGIN

IF m = 0 THEN RETURN(n + 1); ELSE IF n = 0 THEN RETURN Peter(m − 1, 1); ELSE RETURN Peter(m − 1, Peter(m, n − 1)); END;

END; END Peter;

Wir können also ein Programm angeben, das die Peterfunktion berechnet. □

Beispiel Einige Werte der Peterfunktion:

P (0, n) = n + 1 P (1, n) = n + 2
P (2, n) = 2n + 3 P (3, n) = 2^{n+3} − 3
P (4, 0) = 13  P (4, 1) = 65536  P (4, 2) = 2^{65536} − 3

Um zu zeigen, daß die Peterfunktion nicht primitiv-rekursiv ist, benutzen wir folgendes Lemma, das die Existenz einer Majorante, d. h. einer Funktion, die schneller wächst als alle primitiv-rekursiven Funktionen, sichert.

Lemma Zu jeder einstelligen primitiv-rekursiven Funktion ϕ gibt es eine Zahl m derart, daß für alle n ∈ N gilt ϕ (n) < P (m, n).

Zum Beweis des Lemmas siehe R.Peter ”Rekursive Funktionen“ [6, Seite 68–73].

Mit der Existenz einer Majorante können wir nun indirekt zeigen, daß die Peterfunktion nicht primitiv-rekursiv ist.

Beweis Annahme: P primitiv-rekursiv

Dann definieren wir

Q (n) := P (I_{1}^{1} (n) , I_{1}^{1} (n)) = P (n, n)

und Q ist ebenfalls primitiv-rekursiv.

Nach Lemma existiert eine Zahl m^{⋆} mit

Q (n) < P (m^{⋆}, n)

Für n = m^{⋆} ergibt sich

Q (m^{⋆}) < P (m^{⋆}, m^{⋆}) = Q (m^{⋆}) ^{/}

Die Peterfunktion ist also nicht primitiv-rekursiv. □

Folglich ist eine Erweiterung nötig, um alle berechenbaren Funktionen zu bekommen:

3.2.5 Minimum-Operator und partiell-rekursive Funktionen

Am Beispiel der Peterfunktion sieht man, daß eine verschränkte Rekursion über zwei Variable offenbar mächtiger ist als eine primitive Rekursion, die nur abwärts über eine Variable geht. Eine Rekursion ”aufwärts“ dürfte dagegen niemals zu einem Ende kommen. Der Kompromiß besteht darin, daß man zwar aufwärts geht, aber nicht rekursiv, sondern aufwärts nach einer Nullstelle (d. h. der kleinsten Nullstelle) sucht. Wir gehen damit vom beschränkten zum unbeschränkten Minimumoperator über und lassen auch partielle Funktionen als Argument zu.

Minimum-Operator Es sei ψ eine (n + 1)-stellige zahlentheoretische Funktion. Die (partielle) Funktion ϕ entsteht durch Anwenden des Minimum-Operators auf ψ, wenn

ϕ (x_{1}, …, x_{n}) = μj (ψ (x_{1}, …, x_{n}, j) = 0) = { das kleinste j ∈ N, mit ψ (x_{1}, …, x_{n}, j) = 0 und für alle i < j ist ψ (x_{1}, …, x_{m}, i) definiert, falls solches j existiert. nicht definiert, sonst

(Das ist Formalisierung des systematischen Probierens.)

Satz 3.2.7 Ensteht ϕ durch Anwendung des Minimum-Operators auf ψ und ist ψ intuitiv– anschaulich berechenbar, so ist ϕ intuitiv–anschaulich berechenbar.

Beweis

PROCEDURE PHI(x_{1}, … x_{n} : CARDINAL) : CARDINAL; VAR i, j:CARDINAL; BEGIN

i := 0; LOOP

j := PSI(x_{1}, … x_{n}, i);  (⋆ wenn ψ (x_{1}, …, x_{n}i) nicht de- finiert ist, wird die Prozedur PSI niemals terminieren ⋆)

IF j = 0 THEN RETURN i;

ELSE INC(i)

END END

END PHI;

Da wir ein Programm angeben können, ist ϕ intuitiv–anschaulich berechenbar. □

partiell-rekursive Funktionen PREK ist die kleinste Klasse von Funktionen, die ANF enthält und abgeschlossen ist bezüglich Substitution, primitiver Rekursion und Anwendung des Minimum-Operators.

Folgerung 3.2.2 ANF ⊆ PRM ⊆ PREK

Es ist z. B. die Addition primitiv–rekursiv, aber nicht Anfangsfunktion, und die einstellige leere (also nirgends definierte) Funktion l ist nicht primitiv–rekursiv (weil nicht total), aber partiell rekursiv:

l(m) = μj (N (+ (m, j)) = 0)

Definition 3.2.2 (allgemein–rekursive Funktionen) Eine zahlentheoretische Funktion heißt allgemein–rekursiv, wenn sie partiell–rekursiv und total ist.

Bei der Anwendung des μ-Operators entsteht in der Regel aus einer totalen Funktion eine partielle, aber auch umgekehrtes ist möglich, aus einer partiellen Funktion entsteht eine totale.

Ist z. B.

g(x, i) := \{ \begin{matrix}0, & falls i = 0 \\ nicht definiert, & sonst \end{matrix}

so ist μi (g(x, i) = 0) = C_{0}^{1}(x).

Offenbar ist μi (g(x_{1}, …, x_{n}, i) = 0) eine totale Funktion genau dann, wenn

1. zu jedem x_{1}, …, x_{n} ein i existiert mit g(x_{1}, …, x_{n}, i) = 0

2. für alle j < i g(x_{1}, …, x_{n}, i) definiert ist.

Ist g eine totale Funktion, so ist die zweite Bedingung trivial.

Wenn die erste Bedingung erfüllt ist, so sagt man, daß die Anwendung des μ-Operators ”im Normalfall“ erfolgte. Man kann dann zeigen, daß man die Klasse der allgemein–rekursiven Funktionen auch ohne Bezug auf partielle Funktionen definieren kann:

Satz 3.2.8 (allgemein–rekursive Funktionen) REK ist die kleinste Klasse von zahlentheoretischen Funktionen, die alle Anfangsfunktionen enthält und abgeschlossen ist in bezug auf Substitution, primitive Rekursion und Anwendung des Minimum–Operators im Normalform.

3.3 Der Maschinen–Ansatz

A.M Turing schlug 1936 eine auf der — nach ihm benannten — Turing–Maschine basierende formale Definition des Berechenbarkeitsbegriffs vor.

3.3.1 Die Turing–Maschine

Eine Turing–Maschine läßt sich wie folgt beschreiben:

• ein beidseitig unbegrenztes Band, das in Felder aufgeteilt ist

• jedes Feld kann ein Zeichen aus einem endlichen Alphabet oder ein Leerzeichen aufnehmen

• auf dem Band bewegt sich ein Schreib–Lesekopf, dabei kann genau das Feld unter dem Kopf gelesen oder beschrieben werden; danach bewegt sich der Kopf maximal um eine Position nach links oder rechts

• ein Programm (auch Maschinentafel genannt) gibt die Berechnungsschritte an

• bei der Berechnung kann eine endliche Menge von Zuständen angenommen werden

Veranschaulichung

Formal definieren wir

Turing–Maschine T = [X, Z, z_{0}, δ] ist Turing–Maschine, wenn:

1. X endliches Alphabet, ⋆ ∉ X (Leerzeichen)

2. Z endliche Menge von Zuständen, z_{0} ist der Anfangszustand

3. δ : Z × (X ∪ {⋆}) → (X ∪ {⋆}) × B × Z ist die Überführungsfunktion, wobei B = {R, L, N, S} die Menge der Kopfbewegungen ist.

Arbeitsweise

1. T arbeitet taktweise

2. In Takt 1 ist T im Zustand z_{0}

3. Ist z_{i−1} der Zustand von T im Takt i und x das Zeichen im betrachteten Feld und δ (z_{i−1}, x) = [y, b, z], so wird

• y in das betrachtete Feld geschrieben

• die Kopfbewegung b ausgeführt:

b = L Kopf nach links  b = R Kopf nach rechts
b = N keine Kopfbewegung  b = S Stop der Berechnung

• in den Zustand z_{i} = z übergegangen.

Davon ausgehend definieren wir (indem wir die Definition der Turing–Maschine weiter einschränken und präzisieren) den Begriff der

Turing–Berechenbarkeit Sei ϕ : ×_{n}N → N eine zahlentheoretische Funktion. ϕ heißt Turing–berechenbar, wenn es eine Turing–Maschine mit X = {|},also

T = [{|} , Z, z_{0}, δ]

so gibt, daß für alle x_{1}, x_{2}, …, x_{n} ∈ N gilt: Wenn [x_{1}, …, x_{n}] ∈ D_{ϕ} und T wird in der Situation

⋯ ⋆ ⋆ \underbrace{| ⋯ |}_{x_{1}+1} ⋆ \underbrace{| ⋯ |}_{x_{2}+1} ⋆ ⋯ ⋆ \underbrace{| ⋯ |}_{x_{n}+1} ⋆ ; △ ; z_{0} ⋆ ⋯

gestartet, so stoppt T nach endlich vielen Takten in der Situation

⋯ ⋆ ⋆ \underbrace{| ⋯ |}_{x_{1}+1} ⋆ \underbrace{| ⋯ |}_{x_{2}+1} ⋆ ⋯ ⋆ \underbrace{| ⋯ |}_{x_{n}+1} ⋆ \underbrace{| ⋯ |}_{ϕ(x_{1},...,x_{n})+1} ⋆ ; △ ; z ⋯

Wenn dagegen [x_{1}, …, x_{n}] ∉ D_{ϕ}, so kommt T nicht zum Stop. Wir verlangen noch zusätzlich, daß der Kopf bei der Berechnung nicht über das zweite leere Feld links von den Argumenten hinausläuft.

Wie man sieht, codieren wir die natürlichen Zahlen unär, d. h. jede Zahl n wird durch n + 1 Striche dargestellt. Dadurch können wir 0 als einen Strich schreiben.

Turing–berechenbare Funktionen TM = die Klasse der Turing–berechenbaren zahlentheoretischen Funktionen.

3.3.2 Bausteine für Turing–Maschinen

Wir geben nun einige (später benötigte) simple Bausteine, sogenannte Makros, für Turing–Maschinen–Programme an. Dazu sei X = {|}. Der Anfangszustand ist 1. Bei einem Stoppbefehl geben wir keinen Folgezustand an, obwohl das formal gefordert wäre, ebenso füllen wir Felder in den Tabellen nicht aus, die nicht zum Zuge kommen können.

• r : ”Gehe ein Feld nach rechts“

\begin{matrix}r & ⋆ & | \\ 1 & ⋆R2 & |R2 \\ 2 & ⋆S & |S \end{matrix}

• l : ”Gehe ein Feld nach links“

\begin{matrix}l & ⋆ & | \\ 1 & ⋆L2 & |L2 \\ 2 & ⋆S & |S \end{matrix}

• ”|“ : ”Schreibe | auf das betrachtete Feld“

\begin{matrix}”|“ & ⋆ & | \\ 1 & |N2 & |N2 \\ 2 & – & |S \end{matrix}

• ”⋆“ : ”Schreibe ⋆ auf das betrachtete Feld“

\begin{matrix}”⋆“ & ⋆ & | \\ 1 & ⋆N2 & ⋆N2 \\ 2 & ⋆S & – \end{matrix}

• −<: ”bedingter Sprung“

⋆  |
1  ⋆N2 |N3
2  ⋆S –
3 – |S

• P_{1}; P_{2} bzw. P_{1} → P_{2} : Programmverkettung als Operation mit Programmen

– P_{1} habe Zustände 1, …, l

– P_{2} habe Zustände 1, …, k

– In P_{2} alle Adressen um l erhöhen: l + 1, …, l + k

– In P_{1} alle Stoppanweisungen ⋆S bzw. |S ersetzen durch ⋆N(l + 1) bzw. |N(l + 1) (Übergang in den Anfangszustand von P_{2})

• R : ”Nach rechts auf den ersten ⋆ gehen“ (WHILE not ⋆ DO r END) Dies ist eine Verkettung von zwei Programmen:

R ⋆  |
1 ⋆N2  |N3
2 ⋆S  –
3 –  |S/N4
4 ⋆R5  |R5
5 ⋆S/N1 |S/N1

wobei / für ”ersetzen“ steht.

• R_{n} (für n ≥ 1) : ”Gehe nach rechts auf den n-ten ⋆, der ⋆ unter dem Kopf mitgezählt.“

– R_{1} := R

– R_{n} := (Rr)^{n−1}R

• L_{n} : ”Gehe nach links …“

– L_{1} = L

– L_{n} = (Ll)^{n−1} L.

• K_{n} : ”Kopiere die n-te Strichfolge links vom Kopf“

Dabei gilt:

⋆ \underbrace{| ⋯ |}_{k_{1}} ⋆ ⋯ ⋆ \underbrace{| ⋯ |}_{k_{n}} {⋆ \atop △} ⋆ ⋯ ⋆ wird zu ⋆ \underbrace{| ⋯ |}_{k_{1}} ⋆ ⋯ ⋆ \underbrace{| ⋯ |}_{k_{n}} ⋆ \underbrace{| ⋯ |}_{k_{1}} {⋆ \atop △} ⋆ ⋯ ⋆

und k_{1} = 0 ist erlaubt.

• Lö : Löschprogramm

Das Löschprogramm brauchen wir, um die normierte Endsituation ”Argument, Leerzeichen, Funktionswert“ auf dem Band herzustellen, d. h. Zwischenergenbnisse zu löschen.

Folgende Situation auf dem Band liege vor:

⋆ ⋆ ⋆ \underbrace{\underbrace{| ⋯ |}_{k_{1}} ⋆ ⋯ ⋆ \underbrace{| ⋯ |}_{k_{n}}}_{Argumente} \underbrace{⋆ ⋆ ⋆}_{3 Leerz.} \underbrace{| ⋯ | ⋆ | ⋯ | ⋆ ⋯ ⋆ | ⋯ |}_{Zwischenergebnisse} ⋆ \underbrace{| ⋯ |}_{Wert} {⋆ \atop △} ⋆ ⋯ ⋆

Das Löschprogramm soll daraus die folgende Situation herstellen:

⋆ ⋆ ⋆ \underbrace{| ⋯ |}_{k_{1}} ⋆ ⋯ ⋆ \underbrace{| ⋯ |}_{k_{n}} ⋆ \underbrace{| ⋯ |}_{Wert} {⋆ \atop △} ⋆ ⋯ ⋆

Dazu wird zunächst die Folge der Zwischenergebnisse in eine einzige Strichfolge verwandelt (die trennenden Leerzeichen ⋆ werden in | verwandelt) und danach sukzessive abgebaut.

3.4 Äquivalenz der Berechenbarkeitsbegriffe

Nachdem wir uns mit dem axiomatischen und dem Maschinen–Ansatz befaßt haben, wollen wir nun nachweisen, daß beide — so unterschiedlich ihre Konstruktion ist — äquivalent sind. Wir zeigen für eine beliebige Funktion ϕ, daß

ϕ Turing–berechenbar gdw. ϕ partiell-rekursiv

3.4.1 Partiell–rekursive Funktionen sind Turing–berechenbar

Da wir die Klasse der partiell–rekursiven Funktionen induktiv definiert haben, führen wir den Beweis über deren Aufbau. Dazu werden wir einige der ab Seite 107 aufgeführten Turing–Maschinen–Makros benutzen.

Anfangsfunktionen

Satz 3.4.1 Alle Anfangsfunktionen sind Turing–berechenbar

Beweis

1. N (x) = x + 1 Das Programm K_{1}|r berechnet N.

⋆ ⋆ \underbrace{| ⋯ |}_{x+1} {⋆ \atop △}⋆ wird zu ⋆ ⋆ \underbrace{| ⋯ |}_{x+1} ⋆ \underbrace{| ⋯ |}_{x+2} {⋆ \atop △}

2. C_{i}^{n} (x_{1}, …, , x_{n}) = i

Das Programm (r|)^{i+1} r berechnet C_{i}^{n}.

3. I_{k}^{n} (x_{1}, …, x_{n}) = x_{k} K_{n−k+1} leistet das Verlangte.

Also sind alle Anfangsfunktionen Turing–berechenbar. □

Substitution

Satz 3.4.2 Wenn ϕ durch Substitution aus ψ und χ_{1}, …, χ_{m} entsteht und ψ, χ_{1}, …, χ_{m} sind Turing–berechenbar, so ist ϕ Turing–berechenbar.

Beweis ϕ (x_{1}, …, x_{n}) = ψ (χ_{1} (x_{1}, …, x_{n}) , …, χ_{m} (x_{1}, …, x_{n})) Sei χ_{i} berechnet durch H_{i} und ψ berechnet durch P. Dann wird ϕ berechnet durch

□

Primitive Rekursion

Satz 3.4.3 Entsteht ϕ durch primitive Rekursion aus ψ und χ und sind ψ, χ Turing–berechenbar, so ist ϕ Turing–berechenbar.

Beweis Es ist

ϕ^{(n+1)} (x_{1}, …, x_{n}, 0) = ψ^{(n)} (x_{1}, …, x_{n})
ϕ^{(n+1)} (x_{1}, …, x_{n}, j + 1) = χ^{(n+2)} (x_{1}, …, x_{n}, ϕ^{(n+1)} (x_{1}, …, x_{n}, j) , j)

Man beachte das modifizierte Schema im Rekursionsschritt; durch geeignete Auswahlfunktionen kann man die Äquivalenz zum bekannten Rekursionsschema nachweisen.

Sei ψ berechnet durch P und χ berechnet durch das Programm H.

Dann wird ϕ berechnet durch F mit

□

Beispiel Sei n = 2; ϕ (a, b, 2) = ?

Anfangssituation:

⋯ ⋆ a ⋆ b ⋆ |||{⋆ \atop △}

r|rK_{2}(K_{5})^{2}L_{5}r ⋆ R_{5}P:

⋯ ⋆ a ⋆ b ⋆ ||| ⋆ ⋆ ⋆ ||| ⋆ a ⋆ b ⋆ ψ (a, b) {⋆ \atop △}

r|rL_{6}r ⋆ rR_{5}H:

⋯ | ⋆ ⋆ ⋆ ⋆|| ⋆ a ⋆ b ⋆ ψ (a, b) ⋆ | ⋆ χ (a, b, psi (a, b) , 0) {⋆ \atop △}

K_{6}L_{8}|R_{7}(K_{6})^{2}K_{4}K_{6}:

⋯ | ⋆ ⋆ ⋆ ||| ⋆ a ⋆ b ⋆ ϕ (a, b, 0) ⋆ | ⋆ ϕ (a, b, 1) ⋆ || ⋆ a ⋆ b ⋆ ϕ (a, b, 1) ⋆ |{⋆ \atop △}

|rL_{6}r ⋆ rR_{5}H:

⋯ ϕ (a, b, 1) ⋆ ⋆| ⋆ a ⋆ b ⋆ ϕ (a, b, 1) ⋆ || ⋆ \underbrace{χ (a, b, ϕ (a, b, 1) , 1)}_{ϕ(a,b,2)} {⋆ \atop △}

K_{6}L_{8}|R_{7}(K_{6})^{2}K_{4}K_{6}:

⋯ ϕ (a, b, 1) ⋆ || ⋆ a ⋆ b ⋆ ϕ (a, b, 2) ⋆ | ⋆ a ⋆ b ⋆ ϕ (a, b, 2) ⋆ ||{⋆ \atop △}

|rL_{6}r ⋆ r

⋯ ϕ (a, b, 2) ⋆ ⋆{⋆ \atop △}a ⋆ b ⋆ ϕ (a, b, 2) ⋆ |||⋆

l|R_{5}l

⋯ ϕ (a, b, 2) ⋆ | ⋆ a ⋆ b ⋆ ϕ (a, b, 2) ⋆ ||{| \atop △}⋆

⋆l ⋆ l ⋆ lLö:

⋯ ⋆ ⋆ ⋆ a ⋆ b ⋆ ||| ⋆ ϕ (a, b, 2) {⋆ \atop △} Stop

Minimum–Operator

Satz 3.4.4 Entsteht ϕ durch Anwendung des μ-Operators auf ψ und ψ ist Turing–berechenbar, so ist ϕ Turing–berechenbar.

Beweis Es ist

ϕ (x_{1}, …, x_{n}) = μj (χ (x_{1}, … x_{n}, j) = 0)

Sei ψ berechnet durch P.

Dann wird ϕ berechnet durch

□

Folgerung 3.4.1 Alle partiell–rekursiven Funktionen sind Turing–berechenbar.

3.4.2 Turing–berechenbare Funktionen sind partiell–rekursiv

Um die Umkehrung zu beweisen, verwenden wir ein Verfahren, das nach Kurt Gödel auch Gödelisierung genannt wird: Mit Hilfe eineindeutiger und intuitiv– anschaulich berechenbarer Abbildungen wird der Formalismus der Turing–Maschinen in die Arithmetik der natürlichen Zahlen abgebildet. Dadurch gehen Beziehungen zwischen Turing–Maschinen und ihren Konfigurationen in Beziehungen zwischen Zahlen über, die unter Umständen durch partiell–rekursive Funktionen beschrieben werden. Daß die von einer gegebenen Turing–Maschine berechnete zahlentheoretische Funktion partiell–rekursiv ist, bedeutet ja nichts anderes, als daß die Gödelzahl der Stop–Konfiguration partiell–rekursiv von der Gödelzahl der Start–Konfiguration abhängt.

Dazu gebrauchen wir einige der auf Seite 101 aufgeführten primitiv–rekursiven Funktionen. Insbesondere werden wir die Eindeutigkeit der Primzahlzerlegung ausnutzen, um Tupel von Zahlen in einer Zahl zu codieren.

Bevor wir den Turing–Maschinen T = [X, Z, z_{0}, δ] ihre Gödelzahl zuordnen, machen wir einige Einschränkungen, die ihre Berechnungsfähigkeit nicht beeinträchtigen (wir normieren die TM):

Wir setzen voraus, daß X = {|} ist und setzen

x_{0} := ⋆ , x_{1} := |.

Die Zustandsmenge sei numeriert als

Z = {z_{1}, …, z_{m}}

wobei z_{0} = z_{1} der Anfangszustand ist. Die Menge B = {N, R, L, S} sei als

b_{0} = N , b_{1} = R , b_{2} = L und b_{3} = S

numeriert und wir setzen voraus, daß die Maschine beim Stop nichts mehr ändert: Wenn δ (z, x) = [x′, S, z′], dann z = z′ und x = x′.

Es sei T M die Menge aller TM der angegebenen Art.

1. Die Gödelzahl der Turing–Maschine

Die Turing–Maschine T ist durch die Tabelle der Funktion δ vollständig beschrieben. Deshalb codieren wir

1. Tabelleneintrag: neue Beschriftung, Kopfbewegung, Zustandsänderung

gö ([x_{i}, b_{j}, z_{k}]) := 2^{i}3^{j}5^{k}.

2. Zeile in der Tabelle von δ: [δ (z_{η}, ⋆) , δ (z_{η}, |)]

gö (δ, z_{η}) := 2^{gö(δ(z_{η},x_{0}))} · 3^{gö(δ(z_{η},x_{1}))}.

3. Gödelzahl der Turingmaschine: alle Zeilen der Tabelle

gö (T) = ∏_{η=1}^{m} q_{η−1}^{gö(δ,z_{η})}

Lemma 1

1. Die Abbildung gö : T M → N ist eineindeutig.

2. Die charakteristische Funktion

χ_{T M} (i) = \{ \begin{matrix}0, & falls eine TM T ∈ T M mit gö (T) = i existiert \\ 1, & sonst \end{matrix} \} ist primitiv–rekursiv

d. h. die Menge der Gödelzahlen ist primitiv–rekursiv entscheidbar.

Beweis Wenn i die Gödelzahl einer Turing–Maschine T ist, dann (und nur dann) gilt:

1. i > 0

2. i ist Produkt von positiven Potenzen der Primzahlen q_{0}, …, q_{m−1}, wobei m die Zahl der Zustände der Turing–Maschine T ist und der Exponent von q_{η−1} ist Gödelzahl der η-ten Zeile in der Tabelle von T, d. h.

i = ∏_{i=0}^{μm(m≤i∧exp(i,m)=0)._{−}1} q_{j}^{exp(i,j)}

und für alle j mit 0 ≤ j < μm (m ≤ i ∧ exp(i, m) = 0) gibt es Zahlen l_{1}, l_{2} mit

• exp(i, j) = 2^{l_{1}} · 2^{l_{2}} (d. h. l_{1} = exp (exp(i, j), 0); l_{1} = exp (exp(i, j), 1))

• l_{1} = 2^{exp(l_{1},0)} · 3^{exp(l_{1},1)} · 5^{exp(l_{1},2)} l_{2} = 2^{exp(l_{2},0)} · 3^{exp(l_{2},1)} · 5^{exp(l_{2},2)} (d. h. l_{1}, l_{2} sind Gödelzahlen von Tripeln)

• exp(l_{1}, 0) ≤ 1 (die erste Komponente ist x_{0} oder x_{1}) exp(l_{1}, 1) ≤ 3 (die zweite Komponente ist b_{0}, b_{1}, b_{2} oder b_{3}) 1 ≤ exp(l_{1}, 2) < μm(m ≤ i ∧ exp(i, m) = 0) (die dritte Komponente ist eine Zustandsnummer)

• exp(l_{2}, 0) ≤ 1 exp(l_{2}, 1) ≤ 3 1 ≤ exp(l_{2}, 2) ≤ μm(m ≤ i ∧ exp(i.m) = 0)

Um zu zeigen, daß χ_{T M} primitiv–rekursiv ist, müssen wir diese logischen Zusammenhänge arithmetisch ausdrücken. Dazu benutzen wir

a = b  gdw. (a .− b) + (b .− a) = 0 gdw. |a − b| = 0
a ≤ b  gdw. a .− b = 0
a = 0 und b = 0 gdw. a + b = 0

Aus der Aussage

Für alle j mit 0 ≤ j < μm (m ≤ i ∧ exp(i, m) = 0) gibt es Zahlen
l_{1}, l_{2} so, daß …

wird durch Elimination von l_{1}, l_{2} logisch äquivalent:

∑_{j=0}^{μm(m≤i∧exp(i,m)=0)._{−}1} [ |exp(i, j) − 2^{exp(exp(i,j),0)} · 3^{exp(exp(i,j),1)}| +

+ |exp (exp(i, j), 0) − 2^{exp(exp exp((i,j),0),0)} · 3^{exp(exp exp(i,j),0),1)} · 5^{exp(exp exp(i,j),0),2)}| +

+ |exp (exp(i, j), 1) − 2^{exp(exp exp((i,j),1),0)} · 3^{exp(exp exp(i,j),1),1)} · 5^{exp(exp exp(i,j),1),2)}| +

+ (exp (exp (exp (i, j) , 0) , 0) .− 1) +
+ (exp (exp (exp (i, j) , 1) , 0) .− 1) +
+ (exp (exp (exp (i, j) , 0) , 1) .− 3) +
+ (1 .− exp (exp (exp (i, j) , 0) , 2)) +
+ (1 .− exp (exp (exp (i, j) , 1) , 2)) +
+ (exp (exp (exp (i, j) , 0) , 2) .− [μm (m ≤ i ∧ exp(i, m) = 0) .− 1]) +
+ (exp (exp (exp (i, j) , 1) , 2) .− [μm (m ≤ i ∧ exp(i, m) = 0) .− 1]) ] = 0

Wenn wir den Term auf der linken Seite dieser Gleichung mit ∑[…] abkürzen, so haben wir:

χ_{T M}(i) = 0 gdw. i > 0 und

i = ∏_{j=0}^{μm(m≤i∧exp(i,m)=0)._{−}1} ·q_{j}^{exp(i,j)}

und ∑[…] = 0

also ist

χ_{T M} (i) = sg (\overline{sg} (i) + |i − ∏_{j=0}^{μm(···)._{−}1}| + ∑ [⋯])

Offensichtlich ist χ_{T M} primitiv–rekursiv. □

2. Die Gödelzahl einer endlichen Bandbeschriftung

Wir numerieren die Felder unseres (”halben“) Bandes von links nach rechtes mit 0, 1, 2, …

Eine Bandbeschriftung σ ist dann eine Abbildung, die jeder Feldnummer die Nummer des in diesem Feld stehenden Buchstabens zuordnet, d. h.

σ : N → {0, 1}

σ ist endlich, wenn auf fast allen Feldern das Zeichen ⋆ steht, also wenn

j_{σ} := sup{i|σ(i) = 1}

existiert (das Supremum der leeren Menge ist 0), d. h. es gibt einen ”letzten“ Strich auf dem Band.

Wir setzen

gö(σ) = ∏_{j=0}^{j_{σ}} q_{j}^{σ(j)}

Lemma 2 Σ sei die Menge aller endlichen Bandbeschriftungen

1. Die Abbildung gö : Σ → N ist eineindeutig.

2. Die charakteristische Funktion

χ_{Σ} (i) = \{ \begin{matrix}0, & falls ein σ ∈ Σ mit gö (σ) = i existiert \\ 1, & sonst \end{matrix}

ist primitiv–rekursiv.

Beweis χ_{Σ} (i) = 0 gdw. i > 0 und für alle j (0 ≤ j ≤ i) gilt exp (i, j) ≤ 1. χ_{Σ} (i) = sg (\overline{sg} (i) + ∑_{j=0}^{i} (exp (i, j) .− 1)). □

3. Die Gödelzahl einer Konfiguration einer Turing–Maschine

Eine Konfiguration K der TM T ist ein Tripel

K = [j, σ, z_{i}]

wobei j die Nummer des Feldes auf dem der Kopf steht, σ die Beschriftung des Bandes und z_{i} der aktuelle Zustand ist.

gö (K) = 2^{j} · 3^{gö(σ)} · 5^{i}

Lemma 3

1. Die Abbildung gö : 𝔎 → N ist eineindeutig.

2. Die charakteristische Funktion

χ_{K} (k) := \{ \begin{matrix}0, & falls es ein K ∈ 𝔎 gibt mit k = gö (K) \\ 1, & sonst \end{matrix}

ist primitiv-rekursiv.

Beweis Die Zahl k ist genau dann die Gödelzahl einer Konfiguration, wenn

1. k > 0

2. k die Gödelzahl eines Tripels ist:

k = 2^{exp(k,0)} · 3^{exp(k,1)} · 5^{exp(k,2)}

und exp(k, 1) Gödelzahl einer Bandbeschriftung ist, d. h.

χ_{Σ} (exp(k, 1)) = 0

und 1 ≤ exp(k, 2), d. h. exp(k, 2) ist eine Zustandsnummer.

Also ist

χ_{K} (k) =

sg (\overline{sg} (k) + |k − 2^{exp(k,0)} · 3^{exp(k,1)} · 5^{exp(k,2)}| + χ_{Σ} (exp (k, 1)) + \overline{sg} (exp (k, 2))).
□

4. Die Gödelzahl der Folgekonfiguration einer Konfiguration

Sei N die Gödelzahl einer Konfiguration der TM mit der Gödelzahl t.

Um die Folgekonfiguration zu berechen, müssen wir diese Gödelzahl N zuerst decodieren, d. h. wir simulieren die Ausführung eines Programmschrittes der TM, indem wir die Gödelzahl der Konfiguration auswerten und daraus über die Gödelzahl t der Turing–Maschine die neue Gödelzahl der Folgekonfiguration bilden.

1. N = 2^{j} · 3^{s} · 5^{i}  N = gö ([j, σ, z_{i}]) (Konfiguration) s = gö(σ) (Bandbeschriftung)

2. κ = exp (s, j) Nummer des Zeichens im Feld j bei σ: σ (j) = κ

3. λ = exp (t, i − 1) Zeile des Zustands z_{i} in TM T

4. τ = exp (λ, κ) δ (z_{i}, x_{κ}) (Tabelleneintrag)

Dann ist die Folgekonfiguration bestimmt als Funktion

F (t, N) := 2^{u} · 3^{v} · 5^{w}

mit

u = \{ \begin{matrix}j, & falls exp (τ, 1) = 0 & (⋆N) \\ j + 1, & falls exp (τ, 1) = 1 & (⋆R) \\ j − 1, & falls exp (τ, 1) = 2 & (⋆L) \end{matrix}

= j + exp (τ, 1) .− (exp (τ, 1) .− 1) · 3
v = \frac{s}{q_{j}^{κ}} · q_{j}^{exp(τ,0)}
w = exp (τ, 2)

und u ist die neue Kopfposition, v die geänderte Bandbeschriftung und w der neue Zustand.

Bemerkung Stopsituation exp (τ, 1) = 3 nicht berücksichtigt, da wir vereinbart haben, daß dann δ (z_{i}, x) = [x, S, z_{i}] gilt.

Lemma 4

F̃ (t, N) := \{ \begin{matrix}F (t, N) , & falls χ_{T M} (t) = 0 und χ_{K} (N) = 0 und gö^{−1} (N) keine Stop–Konfiguration von gö^{−1} (t) ist \\ 0, & sonst \end{matrix}

ist primitiv-rekursiv.

5. Die Folge der Gödelzahlen der Konfigurationen bei der Berechnung

Nachdem wir aus einer beliebigen Konfiguration die Folgekonfiguration berechnen können, läßt sich jetzt auch die Folge der Gödelzahlen aller Konfigurationen, die von der TM T bei Start in einer Anfangs–Konfiguration durchlaufen werden, berechnen.

Eine Anfangs–Konfiguration bei der Berechnung einer n-stelligen Funktion sieht wie folgt aus:

⋆|^{a_{1}+1} ⋆ ⋯ ⋆ |^{a_{n}+1}{⋆ \atop △} ⋆ ⋯

d. h.

K_{a_{1}a_{2}···a_{n}} := [n + ∑_{v=1}^{n} (a_{v} + 1) , σ_{a_{1},...a_{n}}, z_{1}]

Wir bezeichen die Gödelzahl der i-ten Konfiguration in der Folge der Konfigurationen, die T bei Start in K_{a_{1},...,a_{n}} durchläuft mit

A_{T} (a_{1}, …, a_{n}, i)

Dann ist für die Anfangs–Konfiguration

A_{T} (a_{1}, …, a_{n}, 0) = gö (K_{a_{1},...,a_{n}})

und da bei der Stop–Konfiguration die letzte Konfiguration wiederholt wird, erhalten wir für die Konfigurationsfolge

A_{T} (a_{1}, …, a_{n}, i + 1) = \{ \begin{matrix}A_{T} (a_{1}, …, a_{n}, i) , falls dies Stop–Konfiguration \\ F (gö (T) , A_{T} (a_{1}, …, a_{n}, i)) , sonst \end{matrix}

und A_{T} ist primitiv-rekursiv.

Lemma 5 Die Funktion

A (t, a_{1}, …, a_{n}, j) := \{ \begin{matrix}A_{T} (a_{1}, …, a_{n}, j) , falls χ_{T M} (t) = 0, T = gö^{−1} (t) \\ 0, sonst \end{matrix}

ist primitiv-rekursiv.

6. Die Funktion β

Wir definieren nun eine Funktion β, die folgende Eigenschaften hat:

β (t, a_{1}, …, a_{n}, j) = 0 gdw.

• t ist Gödelnummer einer TM T,

• es gibt Zahlen k, l mit j = 2^{k} · 3^{l} und – k ≥ 0

– l ist Gödelzahl der Konfiguration, die T nach k Takten erreicht hat, wenn T in K_{a_{1},...,a_{n}} gestartet wurde.

– Im Takt k hat T schon gestoppt.

Im Takt k = exp(j, 0) ist die Konfiguration mit der Gödelzahl l = exp(j, 1) erreicht; dies ist eine Stop–Konfiguration genau dann, wenn (vgl. oben 4.)

τ = exp(λ, κ)
= exp (exp(t, i .− 1), exp(s, j))
= exp (exp(t, exp(l, 2) .− 1), exp(exp(l, 1), exp(l, 0))
= exp (exp(t, exp(exp(j, 1), 2) .− 1), exp(exp(exp(j, 1), 1), exp(exp(j, 1), 0))
= 3

⋆

Also ist

β (t, a_{1}, …, a_{n}, j) := \{ \begin{matrix}0, & falls j = 2^{exp(j,0)} · 3^{exp(j,1)} und exp (j, 0) > 0 und exp(j, 1) = A (t, a_{1}, …, a_{n}, exp(j, 0)) > 0 und ⋆ \\ 1, & sonst \end{matrix}

Man zeigt leicht:

Lemma 6 β ist primitiv-rekursiv.

7. Die Resultatfunktion α

Wir benötigen noch eine Funktion α, die uns das Resultat einer Berechnung auf einer Turing–Maschine anhand der Gödelzahlen liefert. Dabei soll die Endkonfiguration wie folgt ausgewertet werden:

Ist n = exp (j, 1) = gö ([k, σ, z_{l}]) die Gödelzahl der Konfiguration [k, σ, z_{l}], wobei die Bandbeschriftung die Form

σ = ⋆w⋆\underbrace{| ⋯ |}_{b+1} {⋆ \atop △}⋆⋆ ⋯  ∗

hat, wobei w ein beliebiges Wort über {⋆, |} ist, dann soll α (n) = b und sonst = 0 sein.

Offenbar ist α (n) = b gdw. j > 0 und für die Zahl n = exp(j, 1) gilt

1. χ_{K} = 0

2. Für k = exp(n, 0) und die Bandbeschriftung mit σ(i) = exp (exp(n, 1), i) gilt

b = [∑_{l=0}^{k ._{−}2} ( ∏_{i=l+1}^{k ._{−}1} σ (i) .− ∏_{i=l}^{k ._{−}1} σ (i)) ((k .− l) .− 1)] .− 1

Lemma 7 α ist primitiv-rekursiv.

Nun haben wir das nötige Handwerkszeug, um den Beweis zu führen, daß jede Turing–berechenbare Funktion partiell–rekursiv ist.

Beweis Es sei f eine n-stellige zahlentheoretische Funktion, berechnet von der Turing– Maschine T = [{|}, Z, z_{1}, δ], ferner sei t = gö (T).

Dann gilt für alle a_{1}, …, a_{n} ∈ N:

[a_{1}, …, a_{n}] ∈ D_{f}

gdw.

T bei Start in der Konfiguration K_{a_{1},...,a_{n}} mit einer Konfiguration der Form ∗ von oben stoppt

gdw. es ein j gibt mit β (t, a_{1}, …, a_{n}, j) = 0.

Wenn [a_{1}, …, a_{n}] ∈ D_{f}, so ist f (a_{1}, …, a_{n}) = α (μj (β (t, a_{1}, …, a_{n}, j) = 0)).

Ist dagegen [a_{1}, …, a_{n}] ∉ D_{f}, so

• stoppt T bei Start in K_{a_{1},...,a_{n}} nicht

• gibt es kein j mit β (⋯, j) = 0

• ist α (⋯) nicht definiert

• ist f (a_{1}, …, a_{n}) = α (μj (β (t, a_{1}, …, a_{n}, j) = 0)).

Die Funktion f entsteht durch einmalige Anwendung des Minimum–Operators mit den primitiv–rekursiven Funktionen α, β; f ist also partiell–rekursiv. □

3.5 Folgerungen

Im Sinne der Logik haben wir soeben einen Vollständigkeitssatz bewiesen, wir haben gezeigt, daß jede Turing–berechenbare Funktion partiell–rekursiv ist, die Menge der aus den Anfangsfunktionen mittels Substitution, primitiver Rekursion und Anwendung des Minimumoperators ableitbaren Funktionen, also die Menge der partiell–rekursiven Funktionen die Menge der Turing–berechenbaren Funktionen umfasst. Das haben wir getan, indem wir eine Normalform für Turing– berechenbare Funktionen hergeleitet haben:

Kleenescher Darstellungssatz Es gibt eine einstellige primitiv–rekursive Funktion α so, daß zu jeder Stellenzahl n eine (n+2)-stellige primitiv–rekursive Funktion β derart existiert, daß zu jeder nstelligen Turing–berechenbaren (bzw. partiell–rekursiven) Funktion f eine Zahl t existiert so, daß für alle [a_{1}, …, a_{n}] gilt:

f (a_{1}, …, a_{n}) = α (μj (β (t, a_{1}, …, a_{n}, j) = 0))

Das besondere dieser Darstellung, dieser Normalform, besteht offensichtlich darin, daß die primitiv–rekursiven (also totalen) Funktionen α, β von f (bis auf die Stellenzahl) garnicht abhängen und daß der Minimumoperator genau einmal vorkommt.

Wir haben damit gezeigt, daß eine zahlentheoretische Funktion genau dann Turing– berechenbar ist, wenn sie partiell–rekursiv ist. Analoge Sätze wurden für alle weiteren Präzisierungen des Berechenbarkeitsbegriffes bewiesen. Das stützt die

Churchsche These Eine zahlentheoretische Funktion ist genau dann intuitiv–anschaulich berechenbar, wenn sie partiell-rekursiv ist.

Wir ziehen noch einige Folgerungen aus dem Satz von Kleene. Insbesondere betrachten wir die primitiv–rekursive Funktionen α und β im Falle n = 1 und setzen

A (t, i) := α (μj (β (t, i, j) = 0))

Offenbar ist A eine zweistellige partiell–rekursive Funktion, mit der folgenden Eigenschaft:

Zu jeder einstelligen partiell–rekursiven Funktion f existiert eine Nummer t derart, daß für alle i ∈ N

f (i) = A (t, i)

Dafür sagt man auch, A ist eine Numerierung aller einstelligen partiell–rekursiven Funktionen.

A ist partiell–rekursiv, also auch Turing–berechenbar. Ist nun T eine Turing– Maschine, die A berechnet, so kann T offenbar alle einstelligen partiell–rekursiven Funktionen berechnen: Um die Funktion f mit der Nummer t für das Argument i zu berechnen, startet T in der Situation

… ⋆ \underbrace{| ⋯ |}_{t+1} ⋆ \underbrace{| ⋯ |}_{i+1} {⋆ \atop △} ⋯

Es gibt also eine ”universelle“ Turing–Maschine, die alle einstelligen berechenbaren Funktionen berechnen kann. Bedenkt man, daß durch Gödelnumerierung der n-Tupel [a_{1}, …, a_{n}] als 2^{a_{1}} ⋯ q_{n−1}^{a_{n}} jede n-stellige berechenbare Funktion auf eine einstellige berechenbare reduziert werden kann, so ist klar, daß die universelle Turing–Maschine jede Berechnung durchführen kann, deren Nummer ihr mitgeteilt wird.

A (t, i) ist eine partielle Funktion, sie ist z. B. nicht definiert, wenn t nicht Gödelzahl einer Turing–Maschine ist. Wir betrachten

h (t, i) := \{ \begin{matrix}A(t, i) & ,falls ein j existiert mit β(t, i, j) = 0 \\ 0 & ,sonst. \end{matrix}

Wenn es ein j gibt mit β(t, i, j) = 0 gibt, so gibt es auch ein kleinstes solches j, also ist A(t, i) definiert, folglich ist h total.

Wir zeigen: h ist nicht berechenbar, d. h. h ist nicht allgemein–rekursiv.

Beweis Wäre h ∈ REK, dann wäre die Funktion g mit

g(n) := h(n, n) + 1

ebenfalls allgemein–rekursiv, also partiell–rekursiv, folglich gäbe es eine Nummer t^{⋆} mit

g(i) = A (t^{⋆}, i) für alle i ∈ N.

Nun hätten wir für t = i = t^{⋆}

h (t^{⋆}, t^{⋆}) + 1 = g (t^{⋆}) = A (t^{⋆}, t^{⋆}) = h (t^{⋆}, t^{⋆}) ^{/}

Wir erhalten also einen Widerspruch, d. h. h ist nicht berechenbar. □

Woran liegt es, daß h nicht berechenbar ist?

Betrachten wir die Menge

M := {[t, i]| Es gibt ein j mit β(t, i, j) = 0}

der Argumentenpaare, wo h denselben Wert wie A hat, d. h. wo A definiert ist:

Die Menge M ist nicht entscheidbar, d. h. die charakteristische Funktion χ_{M} ist nicht allgemein–rekursiv.

Sonst wäre

h(t, i) = \overline{sg} (χ_{M}(t, i) · α (μj (β(t, i, j) = 0)))

allgemein–rekursiv (hierbei gilt die Konvention ”Null · Irgendwas = Null“, auch wenn ”Irgendwas“ nicht definiert ist).

Was bedeutet die Unentscheidbarkeit von M?

Ist t die Gödelzahl einer Turing–Maschine T, so ist [t, i] ∈ M genau dann, wenn die Turing–Maschine T bei Start in der Situation

⋆ \underbrace{| ⋯ |}_{i+1} {⋆ \atop △} ⋆ ⋆ ⋯

irgendwann stoppt.

Daß M nicht entscheidbar ist, bedeutet also:

Es gibt keinen Algorithmus, der für eine Turing–Maschine und eine Anfangssituation entscheidet, ob die Maschine nach dem Start in dieser Sitation jemals stoppt. Kurz: Das Halteproblem für Turing–Maschinen ist nicht entscheidbar (ist unlösbar).

Wenn also unsere Programmiersprache so ausdrucksfähig ist, daß alle partiell– rekursiven Funktionen programmiert werden können (oder alle Turing–Maschinen simuliert), dann kann es kein Programm geben, das Terminierung für alle Programme entscheidet.

Allgemein wird dieses Resultat durch den Satz von Rice widergegeben: Jedes nichttriviale Problem für Turing–Maschinen ist unentscheidbar.

Satz von Rice Es sei 𝔉 eine Menge von partiell–rekursiven Funktionen und N_{𝔉} = {t|A(t, i) ∈ 𝔉} die Menge der Gödelnummern der Funktionen aus 𝔉. Wenn 𝔉 ≠ ∅ und 𝔉 ≠ PREK (dann ist das Problem {t ∈ N_{𝔉}?|t ∈ N} nichttrivial) so ist χ_{N_{𝔉}} ∉ REK.

Prädikatenlogik

Die tägliche Praxis des logischen Schließens zeigt, daß der mit dem Aussagenkalkül objektivierte Teilbereich (nämlich das aussagenlogische Schließen) wichtig ist, aber im allgemeinen nicht ausreicht. Als Unzulänglichkeit des Aussagenkalküls stellt sich dabei heraus, daß zuwenig von der inneren Struktur von Aussagen (nämlich nur die aussagenlogische Struktur, d. h. der Aufbau mittels Negation, Konjunktion, Alternative,…) widergespiegelt werden kann. Ein Schluß der Form

\frac{Es gibt ein x, das nicht die Eigenschaft E hat}{Es gilt nicht: Alle x haben die Eigenschaft E}

kann im Aussagenkalkül nicht verifiziert werden.

Was wird im Aussagenkalkül nicht widergespiegelt:

1. Aussagen betreffen Gegenstände, sie entstehen aus ”Aussageformen“

• ”x ist gerade“

• ”k ist Primzahl“ (Aussageformen)

• ”x ist größer als z“

Dies sind keine Aussagen, ihnen kann ein Wahrheitswert erst zugeordet werden, wenn die Variablen x, k, z (z. B. an feste Werte) gebunden sind. ”3 ist Primzahl“ ist eine wahre, ”4 ist Primzahl“ eine falsche Aussage.

2. Aussagen betreffen Eigenschaften von und Beziehungen zwischen Gegenständen

• ”Die Menge N ist unendlich“

• ”Die Relation < ist transitiv“

3. Aussagen können die Form von All- oder Existenzaussagen haben

• ”Jede natürliche Zahl ist Summe von vier Quadraten“

• ”Es gibt eine gerade Primzahl“

Logische Schlüsse, bei denen solche Strukturen eine Rolle spielen, können im Aussagenkalkül nicht überprüft werden, weil sie nicht widergespiegelt werden.

4.1 Grundbegriffe

Wir brauchen in unserem Modell insbesondere die Möglichkeit der Quantifikation, d. h. eines Überganges von einer Aussagenform zu einer Aussage durch Bindung der Variablen, wie zum Beispiel

”x ist Primzahl“ ⟶ ”alle x sind Primzahl“
”x ist gerade“  ⟶ ”es gibt ein x mit x ist gerade“

Damit entsteht die Frage: Was darf quantifiziert werden?

In unseren Beispielen ist stets die Variable x, also eine Variable für Gegenstände quantifiziert worden, d. h. eine Variable erster Stufe.

Das 5. Peanosche Axiom lautet:

Für jede Menge M gilt:

Wenn 0 ∈ M und für alle k gilt: Wenn k ∈ M, so (k + 1) ∈ M, dann ist N ⊆ M

Offenbar wird hier auch eine Variable (nämlich M) quantifiziert, die über Mengen von Gegenständen, also sozusagen über Gegenständen zweiter Stufe, variiert. Man sagt daher, daß diese Aussage zur Prädikatenlogik der zweiten Stufe gehört.

Wir werden hier nur die Prädikatenlogik der ersten Stufe behandeln, die sogenannte elementare Prädikatenlogik, in der nur Variable für Gegenstände quantifiziert werden können. Dementsprechend nehmen wir in die Sprache des Prädikatenkalküls auch nur Variable für Gegenstände, nicht aber für Mengen von bzw. Relationen zwischen Gegenständen auf.

Also was wollen wir in unserem Modell widerspiegeln, d. h. in unserer Sprache ausdrücken?

a) Gegenstände (Individuen) ⟶ Individuenzeichen (Individuenkonstanten)

Beispiele

Null, Eins  ⟶  0, 1

b) Beziehungen, Eigenschaften zwischen (bzw. von) Individuen ⟶ Attributenzeichen

Beispiele

Kleiner–Beziehung, Primzahleigenschaft  ⟶  <, Pz

c) funktionale Abhängigkeiten zwischen Individuen ⟶ Funktionszeichen

Beispiele

Nachfolgerfunktion, Addition  ⟶  Nf, +
d) Quantifiziert werden  ⟶  Individuenvariable
e) aussagenlogische Struktur  ⟶  ¬, ∧, ∨, →, ↔
f) prädikatenlogische Struktur  ⟶  Quantoren
g) Gleichheitsattribut für Individuen  ⟶  =

In dieser Liste ist der Punkt f) unklar, was ist ”prädikatenlogische Struktur“; welche prädikatenlogischen Verknüpfungen gibt es überhaupt?

Definition 4.1.1 (Individuenbereich, Attribut, Funktion)

1. Jede nichtleere Menge I heißt Individuenbereich.

2. α^{i} ist ein i-stelliges Attribut über I, wenn:

α^{i} : ×_{i}I → {W, F}

Die Menge R_{α^{i}} := {[x_{1}, …, x_{i}] |α^{i} (x_{1}, …, x_{i}) = W} wird die i-stellige Relation von α^{i} genannt.

3. Das Gleichheitsattribut Id_{I} über I ist für x, y ∈ I definiert durch

Id_{I} (x, y) = \{ \begin{matrix}W, & falls x gleich y ist \\ F, & sonst \end{matrix}

4. ϕ^{i} ist eine i-stellige Funktion über I, wenn

ϕ^{i} : ×_{i}I → I

Bemerkung

1. Es ist sehr wichtig, daß die Grundmenge I von Gegenständen, über die wir Aussagen formulieren, als nichtleer vorausgesetzt ist, andernfalls würde der Schluß

\frac{Alle x haben die Eigenschaft E}{Es gibt ein x mit der Eigenschaft E}

nicht richtig sein.

2. Attribute ordnen also Tupeln von Gegenständen Wahrheitswerte zu. Einstellige Attribute werden auch Prädikate (Eigenschaften) genannt, die zugehörige einstellige Relation ist dabei einfach eine Menge von Gegenständen.

Was ist nun eine prädikatenlogische Verknüpfung?

Eine aussagenlogische Verknüpfung (wie z. B. die Konjunktion) ordnet Aussagen eine neue Aussage zu, im extensionalen Fall wird diese Zuordnung durch eine Wahrheitsfunktion charakterisiert.

Eine prädikatenlogische Verknüpfung (erster Stufe) ordnet Aussageformen (mit Variablen für Gegenstände) Aussagen zu und wird (im extensionalen Fall) beschrieben durch ein Attributenattribut, d. h. eine Abbildung, die Attributen einen Wahrheitswert zuordet:

Definition 4.1.2 (Prädikatenlogische Wahrheitsfunktionen) Prädikatenlogische Wahrheitsfunktionen ordnen Tupeln von Attributen einen Wahrheitswert zu:

Om (α^{1}) = \{ \begin{matrix}W, & falls für alle x ∈ I gilt: α^{1} (x) = W \\ F, & sonst \end{matrix}
Ex (α^{1}) = \{ \begin{matrix}W, & falls für wenigstens ein x ∈ I gilt: α^{1} (x) = W \\ F, & sonst \end{matrix}

gv (α^{1}, β^{1}) = \{ \begin{matrix}W, & falls card (\{x|x ∈ I ∧ α^{1} (x) = W\}) = card (\{x|x ∈ I ∧ β^{1} (x) = W\}) \\ F, & sonst \end{matrix}

Ex^{n}!! (α^{1}) = \{ \begin{matrix}W, & falls es genau n Elemente x aus I mit α^{1} (x) = W gibt \\ F, & sonst \end{matrix}

In unserem Kalkül werden wir nur die einstelligen Attributenattribute Om und Ex verwenden. gv läßt sich nicht durch Om und Ex ausdrücken.

4.2 Syntax und Semantik des Prädikatenkalküls

4.2.1 Die Sprache des Prädikatenkalküls der ersten Stufe

Als Alphabet des Prädikatenkalküls verwenden wir die Menge

A := {¬, ∧, ∨, →, ↔,), (,, , =, ∀, ∃, a, x, A, F, ⋆, |}

die offenbar aus 17 Grundzeichen besteht.

Die Wörter der Form

x \underbrace{⋆ ⋯ ⋆}_{i}

bezeichnen wir kurz durch x_{i} und nennen sie Individuenvariable. Die Menge der Individuenvariablen ist X = {x_{i}|i ∈ N}.

Die Wörter der Form

A \underbrace{⋆ ⋯ ⋆}_{i} \underbrace{| ⋯ |}_{j}

mit i ≥ 0, j ≥ 1 bezeichen wir als (j-stelliges) Attributenzeichen und schreiben dafür kürzer A_{i}^{j}.

Die Wörter der Form

F \underbrace{⋆ ⋯ ⋆}_{i} \underbrace{| ⋯ |}_{j}

mit i ≥ 0, j ≥ 1 werden kurz als F_{i}^{j} geschrieben und (j-stelliges) Funktionszeichen genannt.

Die Wörter der Form

a \underbrace{⋆ ⋯ ⋆}_{i}

geschrieben a_{i} werden Individuenzeichen bzw. Individuenkonstanten genannt.

Term wird induktiv definiert:

A) Jede Individuenkonstante und jede Individuenvariable ist ein Term.

I) Ist F_{i}^{j}ein j-stelliges Funktionszeichen und sind T_{1}, …, T_{j} Terme, so ist F_{i}^{j} (T_{1}, …, T_{j}) ein Term

Beispiel F_{1}^{2} (F_{5}^{1} (x_{j}) , a_{3}) ist ein Term.

Ausdruck wird ebenfalls induktiv definiert:

A) (Prädikative Ausdrücke)

1. Sind T_{1}, T_{2} Terme, so ist T_{1} = T_{2} ein Ausdruck (Gleichung)

2. Ist A_{i}^{j} ein j-stelliges Attributenzeichen und sind T_{1}, …, T_{j} Terme, so ist A_{i}^{j}T_{1} ⋯ T_{j} ein Ausdruck.

I) 1. (Aussagenlogische Zusammensetzung) Sind H_{1}, H_{2} Ausdrücke, so auch ¬H_{1}, (H_{1} ∧ H_{2}), (H_{1} ∨ H_{2}), (H_{1} → H_{2}), (H_{1} ↔ H_{2}).

2. (prädikatenlogische Zusammensetzung)

Ist H ein Ausdruck, x_{j} eine Variable und in H kommt x_{j} vor, aber keines der Wörter ∀x_{j}, ∃x_{j}, so sind ∀x_{j}H, ∃x_{j}H Ausdrücke.

E) Sonst nichts

AUSD = Menge aller so gebildeten Ausdrücke
= Sprache des Prädikatenkalküls der ersten Stufe

Bemerkung: Elementare Sprache mit der Signatur [K, P, F]

In der Sprache des Prädikatenkalküls kommen unendlich viele Individuenkonstanten, Attributen– und Funktionszeichen vor. Für viele Anwendungen ist das nicht notwendig, wenn man z. B. die Arithmetik der natürlichen Zahlen formalisieren will, kommt man mit Zeichen für die Zahlen Null und Eins, die Kleiner–Beziehung und die Funktionen Addition und Multiplikation aus; eine solche Vorgabe nennt man eine Signatur. Eine Signatur [K, P, F] besteht also aus einer Menge K von Individuenzeichen, einer Menge P von Attributenzeichen und einer Menge F von Funktionszeichen. In unserem Beispiel ist K = {a_{0}, a_{1}}(= {0, 1}), P = {A_{0}^{2}}(= {<}) und F = {F_{0}^{2}, F_{1}^{2}}(= {+, ·}).

Die elementare Sprache mit der Signatur [K, P, F] ist dann die Menge aller Ausdrücke H ∈ AUSD des Prädikatenkalküls der ersten Stufe, in denen höchstens Individuenkonstanten aus K, Attributenzeichen aus P und Funktionszeichen aus F vorkommen.

Beispiel Der Ausdruck

∀x_{0}∃x_{1} (x_{1} = N(x_{0}))

ist nicht Element unserer elementaren Sprache der Arithmetik, weil N kein Element von F ist.

4.2.2 Einige syntaktische Eigenschaften

Definition 4.2.1 (vollfreie und quantifizierte Individuenvariablen) Es sei H ein Ausdruck, x_{j} eine Individuenvariable.

1. x_{j} kommt in H vollfrei vor

(a) x_{j} kommt in H vor.

(b) Die Zeichenreihen ∀x_{j}, ∃x_{j} kommen nicht in H vor.

2. x_{j} kommt in H an der n-ten Stelle quantifiziert vor, wenn

(a) x_{j} steht in H an der n-ten Stelle, und n ≥ 2.

(b) An der (n − 1)-ten Stelle in H kommt ∃ oder ∀ vor.

Satz 4.2.1 H ist ein Ausdruck, in dem x_{j} an der n-ten Stelle quantifiziert vorkommt. Dann gibt es einen Ausdruck H_{1} mit

1. in H_{1} kommt x_{j} vollfrei vor.

2. Wörtern Z_{1}, Z_{2} mit H = Z_{1}Qx_{j}H_{1}Z_{2}, wobei Q ∈ {∀, ∃}.

Bevor wir den Satz beweisen, führen wir noch eine Bezeichnung ein:

Definition 4.2.2 (Wirkungsbereich eines Quantors) Der im Satz 4.2.1 mit H_{1} bezeichnete Ausdruck heißt Wirkungsbereich des Quantors, der in H an der (n − 1)-ten Stelle steht.

Beweis des Satzes durch Induktion über den Aufbau des Ausdrucks H

A) Wenn H prädikativer Ausdruck ist, d. h. T_{1} = T_{2} oder A_{j}T_{1} … T_{j}, so kommt x_{j} nicht quantifiziert in H vor, also ist nichts zu zeigen.

I) 1. (H durch aussagenlogische Zusammensetzung entstanden) Wenn H ≡ ¬H_{0}, so ist x_{j} in H_{0} an der (n − 1)-ten Stelle quantifiziert; nach Induktionsvoraussetzung hat H_{0} die Form

H_{0} ≡ Z_{1}Qx_{j}H_{1}Z_{2}

also

H ≡ ¬Z_{1}Qx_{j}H_{1}Z_{2}.

Wenn H ≡ (H_{0} ⊗ H_{00}) ist, wobei ⊗ eines der Zeichen ∧, ∨, →, ↔ ist, so befindet sich die n-te Stelle (an der x_{j} quantifiziert steht) entweder im Ausdruck H_{0} oder in H_{00}, dieser kann nach Induktionsvoraussetzung als Z_{1}Qx_{j}H_{1}Z_{2} geschrieben werden, womit sich eine entsprechende Zerlegung für H ergibt, etwa bei H_{0} ≡ Z_{1}Qx_{j}H_{1}Z_{2} als

H = \underbrace{(Z_{1}}_{Z′_{1}} Qx_{j}H_{1} \underbrace{Z_{2} ⊗ H_{2})}_{Z′_{2}}

2. (H ≡ Q′x_{i}H_{00} durch prädikatenlogische Zusammensetzung entstanden) Entweder ist x_{i} = x_{j}, also H ≡ Qx_{j}H_{00}, dann ist n = 2 und Q′ = Q, H_{1} = H_{00} und Z_{1} = Z_{2} = leeres Wort, oder es gilt x_{i} ≠ x_{j}, dann kommt x_{j} in H_{00} an der (n − 2)-ten Stelle quantifiziert vor. Nach Induktionsvoraussetzung ist H_{00} ≡ Z_{1}Qx_{j}H_{1}Z_{2}, also H ≡ Q′x_{i}Z_{1}Qx_{j}H_{1}Z_{2}.

□

Definition 4.2.3 (gebundenes und freies Vorkommen, Ausdruck)

1. x_{j} kommt in H an der n-ten Stelle gebunden vor, wenn (a) l (H) ≥ n ≥ 2

(b) x_{j} steht in H an der n-ten Stelle.

(c) x_{j} kommt an der n-ten Stelle quantifiziert vor oder steht im Wirkungsbereich eines mit x_{j} versehenen Quantors.

2. x_{j} kommt in H an der n-ten Stelle frei vor, wenn

(a) x_{j} steht in H an der n-ten Stelle,

(b) x_{j} ist an der n-ten Stelle nicht gebunden.

3. H heißt Aussage (abgeschlossen), wenn H keine freien Variablen enthält.

Beispiel Wir betrachten den Ausdruck H ≡ ∃x_{0} (∀x_{0}∃x_{1} (x_{0} = x_{1}) ∧ A_{1}^{2}x_{0}x_{1}):

Zuerst kennzeichen wir die Wirkungsbereiche der Quantoren:

∃x_{0}\underline{(∀x_{0}\underline{∃x_{1}\underline{(x_{0} = x_{1})}} ∧ A_{1}^{2}x_{0}x_{1})}

Wir numerieren nun die einzelnen Bestandteile des Ausdrucks H:

∃_{1} x_{0}_{2} (_{3} ∀_{4} x_{0}_{5} ∃_{6} x_{1}_{7} (_{8} x_{0}_{9} =_{10} x_{1}_{11} )_{12} ∧_{13} A_{1}^{2}_{14} x_{0}_{15} x_{1}_{16} )_{17}

Die Variable x_{0} kommt an der 2., 5., 9. und 15. Stelle gebunden, an der Stelle 2 und 5 sogar quantifizert vor. x_{1} ist an 7. und 11. Stelle gebunden und an 7. Stelle quantifiziert. An Stelle 16 ist x_{1} frei. Keine der Variablen ist vollfrei.

Am Beispiel des allquantifizierten x_{0} an 5. Stelle zerlegen wir den Ausdruck H in Z_{1}, Z_{2}, Q und H_{1}:

\underbrace{∃x_{0}(}_{Z_{1}} \underbrace{∀}_{Q} x_{0} \underbrace{∃x_{1}(x_{0} = x_{1})}_{H_{1}} \underbrace{∧A_{1}^{2}x_{0}x_{1})}_{Z_{2}}

und x_{0} kommt in H_{1} vollfrei vor.

4.2.3 Semantik elementarer Sprachen

Interpretation [I, g] ist eine Interpretation der elementaren Sprache mit der Signatur [K, P, F], wenn

1. I ≠ ∅ ein nichtleerer Individuenbereich ist

2. g eine Abbildung ist, die

(a) jedem Individuenzeichen a_{i} ein Element g (a_{i}) ∈ I

(b) jedem Funktionszeichen F_{i}^{k} eine k-stellige Funktion g (F_{i}^{k}) : ×_{k}I → I

(c) jedem Attributzeichen A_{i}^{k} ein k-stelliges Attribut

g (A_{i}^{k}) : ×_{k}I → {W, F}

zuordnet.

Man bezeichnet g auch als die Interpretation von AUSD über I. Zu jedem I, g gehört die interpretierende Algebra [I, {g (F_{i}^{k}) |i ∈ N} , R_{g(A^{k})}, …] Belegung Die Abbildung f heißt Belegung über I, wenn f jeder Inividuenvariablen x_{i} ein Individuum f (x_{i}) ∈ I zuordnet.

Um Terme auszuwerten, d. h. das Element aus I zu erhalten, das ein Term T bei der Interpretation I, g und der Belegung f beschreibt, führen wir folgende Funktion ein:

element element_{I,g} (T, f) wird wie folgt induktiv definiert:

A)

Für Variable x_{i}:  element_{I,g} (x_{i}, f) = f (x_{i})
Für Konstanten a_{i}: element_{I,g} (a_{i}, f) = g (a_{i})

I) element_{I,g} (F_{i}^{j} (T_{1}, …, T_{j}) , f) =

g (F_{i}^{j}) (element_{I,g} (T_{1}, f) , …, element_{I,g} (T_{j}, f)) .

Analog wie im Aussagenkalkül bestimmen wir nun den Wert eines Ausdrucks:

wert wert_{I,f} (H, f) wird induktiv über den Aufbau von Ausdrücken definiert:

A) wert_{I,g} (T_{1} = T_{2}, f) = Id_{I} (element_{I,g} (T_{1}, f) , element_{I,g} (T_{2}, f)) wert_{I,g} (A_{i}^{k}T_{1} … T_{k}, f) = g (A_{i}^{k}) (element_{I,g} (T_{1}, f) , …, element_{I,g} (T_{k}, f))

I) wert_{I,g} (¬H, f) = non wert_{I,g} (H, f) wert_{I,g} ((H_{1} ∧ H_{2}) , f) = et (wert_{I,g} (H_{1}, f) , wert_{I,g} (H_{2}, f)) wert_{I,g} ((H_{1} ∨ H_{2}) , f) = vel (wert_{I,g} (H_{1}, f) , wert_{I,g} (H_{2}, f)) wert_{I,g} ((H_{1} → H_{2}) , f) = seq (wert_{I,g} (H_{1}, f) , wert_{I,g} (H_{2}, f)) wert_{I,g} ((H_{1} ↔ H_{2}) , f) = aeq (wert_{I,g} (H_{1}, f) , wert_{I,g} (H_{2}, f))

wert_{I,g} (∀x_{j}H, f) = Om (α_{H,I,g,f,x_{j}}^{1})

wert_{I,g} (∃x_{j}H, f) = Ex (α_{H,I,g,f,x_{j}}^{1})

wobei:

α_{H,I,g,f,x_{j}}^{1} (y) = wert_{I,g} (H, [f]_{y}^{j})

mit [f]_{y}^{j} (x_{i}) = \{ \begin{matrix}y, & falls i = j \\ f (x_{i}) , & sonst \end{matrix}

Beispiel Wir bestimmen den Wert des Ausdrucks H ≡ ∃x_{0}A_{0}^{2}x_{0}x_{1}, I = N, g (A_{0}^{2}) = ” < “, f (x_{1}) = 5.

Dann ist

wert_{I,g} (∃x_{0}A_{0}^{2}x_{0}x_{1}, f) = Ex (α_{A_{0}^{2}x_{0}x_{1},N,g,f,x_{0}}^{1})

wobei für k ∈ N

α_{A_{0}^{2}x_{0}x_{1},N,g,f,x_{0}}^{1} (k) = wert (A_{0}^{2}x_{0}x_{1}, [f]_{k}^{0})
= g (A_{0}^{2}) ([f]_{k}^{0} (x_{0}) , [f]_{k}^{0} (x_{1}))
= ” < “ (k, 5) = \{ \begin{matrix}W, & falls k < 5 \\ F, & sonst \end{matrix}

Es gibt also ein k ∈ I = N mit

α_{A_{0}^{2}x_{0}x_{1},N,g,f,x_{0}}^{1}(k) = W

d. h.

wert_{I,g} (∃x_{0}A_{0}^{2}x_{0}x_{1}, f) = Ex (α_{A_{0}^{2}x_{0}x_{1},N,g,f,x_{0}}^{1}) = W.

Bei einer Belegung f mit f (x_{1}) = 0 ist jedoch

wert_{I,g} (∃x_{0}A_{0}^{2}x_{0}x_{1}, f) = F.

4.2.4 Weitere semantische Begriffe

Erfüllbarkeit Sei Sei H ∈ AUSD

1. f erfüllt H in der Interpretation g über Individuenbereich I; (ferf_{I,g}H), wenn wert_{I,g} (H, f) = W.

2. H ist erfüllbar in g über I, wenn es eine Belegung f : X → I gibt, mit wert_{I,g} (H, f) = W.

3. H heißt erfüllbar über I (H ∈ ef_{I}, ef_{I}H), wenn es g, f gibt, mit: wert_{I,g} (H, f) = W.

4. H heißt erfüllbar (H ∈ ef, efH), wenn es I, g, f gibt, mit wert_{I,g} (H, f) = W.

Beispiel Wir betrachten den Ausdruck H ≡ ∃x_{0}∃x_{1} ¬x_{0} = x_{1}. Wenn I Einermenge, so ist H nicht erfüllbar über I. Der Ausdruck H ≡ ∀x_{0}∀x_{1} x_{0} = x_{1} ist dagegen erfüllbar über I gdw. I Einermenge.

Gültigkeit Sei H ∈ AUSD

1. H ist allgemeingültig in der Interpretation g über Individuenbereich I (H ∈ ag_{I,g}), wenn für alle Belegungen f : wert_{I,g} (H, f) = W.

2. H ist allgemeingültig über I (H ∈ ag_{I}, ag_{I}H), wenn für alle g, f gilt: wert_{I,g} (H, f) = W.

3. H ist allgemeingültig (H ∈ ag, agH), wenn für alle I, f, g gilt: wert_{I,g} (H, f) = W.

Für das folgende erinnern wir daran, daß ein Ausdruck H als Aussage bezeichnet wird, wenn in H keine freien Variablen vorkommen.

Satz 4.2.2 Wenn H Aussage ist, dann hängt wert_{I,g} (H, f) nicht von der Belegung f ab.

Definition 4.2.4 (wahre und falsche Aussagen) Sei H Aussage.

1. H heißt wahr in der Interpretation g über I, wenn H erfüllbar in g über I ist.

2. H heißt falsch in g über I, wenn ¬H erfüllbar in g über I ist.

Zentrales Lemma Der Wahrheitswert wert_{I,g} (H, f) hängt nur ab von der Interpretation der Zeichen, die in H vorkommen, und von der Belegung der Variablen, die in H frei vorkommen

Mit anderen Worten: Kommt die Variable x_{j} in H nicht frei vor (also quantifiziert oder gebunden), so gilt für alle a ∈ I:

wert_{I,g} (H, f) = wert_{I,g} (H, [f]_{a}^{j})

Für Aussagen gilt weiterhin:

Satz 4.2.3 Ist H Aussage, so gilt: H ist erfüllbar in g über I gdw. H allgemeingültig in g über I ist. Enthält H zudem keine Zeichen, so ist H allgemeingültig über I gdw. H erfüllbar über I ist.

Es gilt

Folgerung 4.2.1

1. H ∈ ef_{I} gdw. ¬H ∉ ag_{I}

2. H ∈ ef gdw. ¬H ∉ ag

3. ag_{I} ⊂ ef_{I}, ag ⊂ ef

Für die dritte Aussage ist die Festsetzung wichtig, daß I ≠ ∅ ist, denn ¬x_{j} = x_{j} würde über I = ∅ gültig sein.

Die Frage nach der Gültigkeit eines Ausdrucks ist durch

H ∈ ag gdw. ¬H ∉ ef

auf die Frage nach der Erfüllbarkeit seiner Negation reduziert.

Um prädikatenlogische Schlußregeln zu verifizieren, brauchen wir also ein Verfahren, um die Erfüllbarkeit von Ausdrücken zu entscheiden. Die Frage ”H ∈ ef?“ ist das Entscheidungsproblem des Prädikatenkalküls.

Wir wissen, daß im Aussagenkalkül die Mengen ef, ag entscheidbar sind. Wie sieht es nun im Prädikatenkalkül aus? Gibt es ein solches Verfahren?

Wir werden zeigen:

Wenn I unendliche Menge ist, so ist ef_{I} nicht entscheidbar.

Es gibt also keinen Algorithmus, der für jedes H ∈ AUSD nach endlicher Zeit abbricht mit dem Resultat ”H ∈ ef“ bzw. ”H ∉ ef“.

4.3 Die Unentscheidbarkeit des Prädikatenkalküls

Wir wollen beweisen, daß die Menge ef_{I} der über einem unendlichen Individuenbereich erfüllbaren Ausdrücke des Prädikatenkalküls nicht entscheidbar ist, mit anderen Worten, daß die charakteristische Funktion χ_{ef_{I}} nicht allgemein–rekursiv ist. Dazu bilden wir die partiell–rekursiven Funktionen im Prädikatenkalkül nach (repräsentieren sie durch Ausdrücke) und numerieren die Ausdrücke.

1. Darstellung zahlentheoretischer Funktionen im Prädiaktenkalkül Dazu brauchen wir zunächst eine Möglichkeit, natürliche Zahlen im Prädiaktenkalkül darzustellen. Wir erinnern uns daran, daß die Zahl Drei die Menge aller Mengen mit genau drei Elementen ist, also jede Dreiermenge als Repräsentant der Zahl Drei herhalten kann. Eine Menge M kann beschrieben werden als ein einstelliges Attribut α_{M}, das genau auf die Elemente der Menge M zutrifft:

x ∈ M gdw. α_{M}(x)

Für Attribute haben wir Zeichen in unserem Kalkül, wir können also festlegen, daß das einstellige Attributenzeichen A_{j}^{1} in einer Interpretation g die Zahl n repräsentiert, wenn das Attribut g (A_{j}^{1}) auf genau n Elemente von I zutrifft. Dies können wir durch Anzahlaussagen ausdrücken:

Es sei H ∈ AUSD, x eine Individuenvariable, die in H frei vorkommt. Dann sei ∃i!!xH(x) Abkürzung für den Ausdruck

¬∃xH (x)  falls i = 0
∃x_{1} (H (x_{1}) ∧ ∀x_{2} (H (x_{2}) → x_{2} = x_{1}))  falls i = 1
⋮
∃x_{1} ⋯ ∃x_{i}(H (x_{1}) ∧ ⋯ ∧ H (x_{i}) ∧ ¬x_{1} = x_{2} ∧ ⋯  für beliebiges i
⋯ ¬x_{1} = x_{3} ∧ ⋯ ∧ ¬x_{i−1} = x_{i} ∧ ∀x_{i+1} (H (x_{i+1}) →
x_{i+1} = x_{1} ∨ ⋯ ∨ x_{i+1} = x_{i}))

Offenbar gilt:

wert_{I,g} (∃i!!xH, f) = W genau dann, wenn es genau i Elemente a_{1}, …, a_{i} ∈ I gibt mit wert_{I,g} (H, [f]_{a_{i}}^{x}) = W. Deshalb liest man den Ausdruck ∃i!!xH(x) als ”es gibt genau i Elemente x mit H(x)“.

Ist A_{j}^{1} ein einstelliges Attributenzeichen, dann beschreibt also ∃n!!xA_{j}^{1}x die Zahl n in dem Sinne, daß der Ausdruck genau in den Interpretationen g wahr ist, bei denen das Attribut g (A_{j}^{1}) auf genau n Elemente zutrifft.

Definition 4.3.1 Die Funktion ϕ : N^{m} → N heißt durch H ∈ AUSD bzgl. {A_{1}^{1}, …, A_{m+1}^{1}} in I dargestellt, wenn für alle j_{1}, …, j_{m+1} ∈ N gilt:

\begin{matrix}ϕ (j_{1}, …, j_{m}) = j_{m+1} gdw. \\ (H ∧ ∃j_{1}!!xA_{1}^{1}x ∧ ⋯ ∧ ∃j_{m}!!xA_{m}^{1}x ∧ ∃j_{m+1}!!xA_{m+1}^{1}x) ∈ ef_{I} \end{matrix}

Es ist klar, daß eine solche Darstellung nur in einem unendlichen Individuenbereich I existieren kann, weil bei card(I) = n ∈ N der Ausdruck ∃(n+1)!!xA_{j}^{1}x nicht über I erfüllbar ist.

Beispiele

1. Nachfolgerfunktion N (x) = x + 1 Die Nachfolgerfunktion N wird durch

H ≡ ∃x_{1} (¬A_{1}^{1}x_{1} ∧ ∀x_{2} (A_{2}^{1}x_{2} ↔ (A_{1}^{1}x_{1} ∨ x_{1} = x_{2})))

bzgl. {A_{1}^{1}, A_{2}^{1}} dargestellt.

2. Konstanten C_{i}^{n} (j_{1}, …, j_{m}) = i Die Konstante C_{i}^{n} wird durch

H ≡ ∃i!!xA_{n+1}^{1}x

bzgl. {A_{1}^{1}, …, A_{n+1}^{1}} dargestellt.

3. Argumentauswahlfunktionen I_{i}^{n} (j_{1}, …, j_{n}) = j_{i} Die Argumentauswahlfunktion I_{i}^{n} wird durch

H ≡ ∀x (A_{i}^{1}x ↔ A_{n+1}^{1}x)

bzgl. {A_{1}^{1}, …, A_{n+1}^{1}} dargestellt.

Folgerung 4.3.1 Die ANF–Funktionen sind im Prädikatenkalkül darstellbar.

Man zeigt durch Induktion

Satz 4.3.1 Alle partiell–rekursiven Funktionen können im Prädikatenkalkül dargestellt werden.

2. Numerierung (Gödelisierung) von AUSD Wir numerieren unser Alphabet wie folgt:

\begin{matrix}ξ ∈ X : & ¬ & ∧ & ∨ & → & ↔ & ( & ) & , & = & ∀ & ∃ & a & x & A & F & ⋆ & | \\ N(ξ) : & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 \end{matrix}

Definition 4.3.2 (Gödelzahl eines Wortes über dem Alphabet X) Für ξ_{1}ξ_{2} ⋯ ξ_{n} ∈ W (X) sei

gö (ξ_{1} … ξ_{n}) = ∏_{j=0}^{n−1} q_{j}^{N(ξ_{i})}

die Gödelzahl eines Wortes über Alphabet X.

Beispiel gö (x = x⋆) = 2^{13} · 3^{9} · 5^{13} · 7^{16}

Satz 4.3.2

1. Die Funktion gö ist eineindeutig.

2. Die charakteristische Funktion χ_{AUSD} mit

χ_{AUSD} (n) = \{ \begin{matrix}0, & falls es H ∈ AUSD gibt, mit n = gö (H) \\ 1, & sonst \end{matrix}

ist primitiv-rekursiv.

Es ist also ”H ∈ ef_{I}“ logisch gleichwertig mit ”gö(H) ∈ gö (ef_{I})“, d. h. genau dann existiert ein Algorithmus, der das Entscheidungsproblem {H ∈ ef_{I}?|H ∈ AUSD} löst, wenn die charakteristische Funktion χ der Menge der Gödelzahlen der Ausdrücke aus ef_{I}

χ (n) = \{ \begin{matrix}0, & falls n = gö (H) für H ∈ ef_{I} \\ 1, & sonst \end{matrix}

berechenbar ist.

Wir zeigen, daß χ nicht allgemein–rekursiv ist, nach der Churchschen These also nicht berechenbar, sobald I unendlich ist.

Satz 4.3.3 Ist I ein unendlicher Individuenbereich, dann ist χ nicht rekursiv.

Beweis Wir nehmen an, daß χ allgemein–rekursiv ist.

Zu H ∈ AUSD sei

S(H) ≡ H ∧ ∃gö(H)!!x_{1}A_{1}^{1}x_{1} ∧ ∃0!!x_{1}A_{2}^{1}x_{1}

Dieser Ausdruck kann als Darstellung einer einstelligen Funktion verwendet werden, die der Gödelzahl von H die Zahl 0 zuordnet. Wäre die dargestellte Funktion gerade χ, so könnte S(H) gerade als ”H ist erfüllbar über I“ gelesen werden.

Wir definieren die zahlentheoretische Funktion σ durch

σ (n) := \{ \begin{matrix}gö (S (H)) , & falls n = gö (H) \\ 0, & sonst (d. h. χ_{AUSD} (n) = 1) \end{matrix}

Man zeigt leicht:

Lemma σ (n) ist allgemein-rekursiv.

Für H ∈ AUSD gilt:

H ∈ ef_{I} gdw. χ (gö(H)) = 0

also speziell für Ausdrücke der Form S(H)

S(H) ∈ ef_{I} gdw. χ (gö (S(H))) = 0
gdw. χ (σ (gö(H))) = 0

d. h.

S(H) ∉ ef_{I} gdw. \overline{sg} (χ (σ (gö(H)))) = 0

Wir setzen

ψ (n) := \overline{sg} (χ (σ (n)))

und offenbar ist ψ allgemein–rekursiv.

Weil I unendlich ist, kann ψ im Prädikatenkalkül (bzgl. I) dargestellt werden, es gibt also ein H^{⋆} ∈ AUSD derart, daß für alle m, n ∈ N gilt:

ψ(m) = n gdw. (H^{⋆} ∧ ∃m!!xA_{1}^{1}x ∧ ∃n!!xA_{2}^{1}x) ∈ ef_{I}

Folglich ist

ψ(m) = 0 gdw. (H^{⋆} ∧ ∃m!!xA_{1}^{1}x ∧ ∃0!!xA_{2}^{1}x) ∈ ef_{I}

und insbesondere für m = gö(H) ist

ψ (gö(H)) = 0 gdw. (H^{⋆} ∧ ∃gö(H)!!xA_{1}^{1}x ∧ ∃0!!xA_{2}^{1}x) ∈ ef_{I}

also ist

S(H) ∉ ef_{I} gdw. (H^{⋆} ∧ ∃gö(H)!!xA_{1}^{1}x ∧ ∃0!!xA_{2}^{1}x) ∈ ef_{I}

Nun setzen wir für H speziell H^{⋆} ein und erhalten einen Widerspruch:

S(H^{⋆}) ∉ ef_{I} gdw. \underbrace{(H^{⋆} ∧ ∃gö(H^{⋆})!!xA_{1}^{1}x ∧ ∃0!!xA_{2}^{1}x)}_{= S(H^{⋆}) ^{/}} ∈ ef_{I}

Also ist χ nicht rekursiv, d. h. ef_{I} ist nicht entscheidbar. □

Wie steht es mit der Entscheidbarkeit der Menge aller erfüllbaren Ausdrücke

ef = ⋃_{I≠∅} ef_{I} ?

Auch diese Menge ist nicht entscheidbar.

Um das einzusehen, betrachten wir den Ausdruck H_{∞}:

H_{∞} ≡ (∀x_{1}¬A_{0}^{2}x_{1}x_{1} ∧
∧∀x_{1}∀x_{2}∀x_{3}(A_{0}^{2}x_{1}x_{2} ∧ A_{0}^{2}x_{2}x_{3} → A_{0}^{2}x_{1}x_{3})
∀x_{1}∃x_{2}A_{0}^{2}x_{1}x_{2})

Es gilt:

Lemma 1 Für alle I ≠ ∅ gilt ef_{I}H_{∞} gdw. I unendlich ist.

weil nämlich nur in einem unendlichen Bereich eine binäre Relation existiert, die irreflexiv und transitiv (also irreflexive Halbordnung) ist und kein maximales Element hat.

Lemma 2 Wenn ef entscheidbar ist, so ist auch ef_{N} entscheidbar.

Beweis Wir nehmen also an, daß ein Algorithmus zur Lösung von {H ∈ ef?|H ∈ AUSD} gegeben ist.

Um für einen Ausdruck H ∈ AUSD herauszufinden, ob H ∈ ef_{N} (also im Bereich der natürlichen Zahlen erfüllbar) ist, wenden wir diesen Algorithmus auf den Ausdruck H ∧ H_{∞} an (wobei wir o. B. d. A. voraussetzen, daß das Zeichen A_{0}^{2} in H nicht vorkommt).

Fall 1: (H ∧ H_{∞}) ∉ ef d. h. es gibt kein I ≠ ∅ mit (H ∧ H_{∞}) ∈ ef_{I}, wegen H_{∞} ∈ ef_{N} gilt also

H ∉ ef_{N}.

Fall 2: (H ∧ H_{∞}) ∈ ef Dann gibt es ein I^{⋆} ≠ ∅ mit (H ∧ H_{∞}) ∈ ef_{I^{⋆}}, wegen H_{∞} ∈ ef_{I^{⋆}} ist I^{⋆} unendlich. Nach dem

Satz 4.3.4 (von Löwenheim–Skolem) Wenn ef_{I}H und I unendlich, so ef_{N}H.

ist H ∈ ef_{N}.

Also gilt H ∈ ef_{N} gdw. (H ∧ H_{∞}) ∈ ef_{I}.

Mit ef wäre also auch ef_{N} entscheidbar, was wir bereits als falsch nachgewiesen haben. Folglich ist auch ef nicht entscheidbar. □

4.4 Lösbare Fälle des Entscheidungsproblems

Die Unlösbarkeit des Entscheidungsproblems wirft natürlich die Frage auf, in welchen Fällen, d. h. zum Beispiel für welche spezielle Klassen von Ausdrücken, man dennoch die Erfüllbarkeit bzw. Gültigkeit entscheiden kann.

Trivial ist der Fall, daß der Individuenbereich I endlich ist. Dann gibt es zu gegebener Stellenzahl n nur endlich viele n-stellige Attribute und nur endlich viele n-stellige Funktionen über I. Da in einem Ausdruck H nur endlich viele (freie) Individuenvariable vorkommen, sind also auch nur endlich viele Interpretationen g und Belegungen f über I daraufhin zu prüfen, ob wert_{I,g}(H, f) = W ist.

Im folgenden betrachten wir zwei unterschiedliche Spezialfälle, zum einen schränken wir die Menge der betrachteten Ausdrücke ein (Klassenkalkül), zum anderen übertragen wir den Gültigkeitsbegriff des Aussagenkalküls in den Prädikatenkalkül.

4.4.1 Klassenkalkül

Als Klassenkalkül bezeichen wir die Menge der Ausdrücke H ∈ AUSD

• ohne Funktionszeichen

• ohne Konstanten

• ohne Gleichheitszeichen

in denen nur einstellige Attributenzeichen vorkommen.

Beispiel ∀x ((Ax ∧ (Ax ∨ Bx)) ↔ Ax)

In der Sprache des Klassenkalküls kommen als Terme nur Individuenvariable in Frage und alle prädikativen Ausdrücke haben die Form A_{j}x_{k}.

Satz 4.4.1 Es sei H ∈ AUSD ohne Funktionszeichen, ohne Konstanten, ohne = und mit k verschiedenen einstelligen Attributenzeichen, o. B. d. A. A_{1}, …, A_{k}. Dann ist efH gdw. ein I mit 0 < card (I) ≤ 2^{k} existiert, mit ef_{I}H.

Beweis Wenn H ∈ ef_{I} ist, dann gilt nach Definition H ∈ ef. Umgekehrt sei H erfüllbar; es gibt also ein I ≠ ∅, eine Interpretation g und eine Belegung f über I mit wert_{I,g}(H, f) = W.

Es sei für i = 1, …, k

α_{i} := g(A_{i}),

wobei A_{1}, …, A_{k} die in H vorkommenden einstelligen Attributenzeichen sind.

Wir konstruieren einen Individuenbereich \overline{I}, eine Interpretation \overline{g} und eine Belegung \overline{f} mit

card ( \overline{I} ) ≤ 2^{k}
wert_{\overline{I},\overline{g}} (H, \overline{f} ) = W

durch Faktorisierung der Algebra [I, α_{1}, …, α_{k}]:

Für a, b ∈ I definieren wir

a ∼ b :↔ α_{1} (a) = α_{1} (b) ∧ ⋯ ∧ α_{k} (a) = α_{k} (b)

Lemma 1 ∼ ist Äquivalenzrelation in I.

Für a ∈ I bezeichne [a] := {b|b ∈ I ∧ b ∼ a} die Äquivalenzklasse von a und

\overline{I} := \{[a]|a ∈ I\}

die Zerlegung I/ ∼.

Lemma 2 1 ≤ card (\overline{I}) ≤ 2^{k}.

Jetzt überlegen wir uns, daß ∼ sogar Kongruenz bezüglich α_{1}, …, α_{k} ist:

wenn a ∼ b, so α_{i}(a) = α_{i}(b)

folglich können wir auf \overline{I} definieren:

\overline{α}_{i} ([a]) = α_{i}(a)  (i = 1, …, k)

Wir betrachten \overline{g}, \overline{f} mit

\overline{g} (A_{i}) = \overline{a}_{i}  \overline{f} (x_{j}) = [f (x_{j})]

und behaupten

Lemma 3 wert_{\overline{I},\overline{g}} (H′, \overline{f} ) = wert_{I,g} (H′, f) für alle Ausdrücke H′ des Klassenkalküls, die höchstens die Attributenzeichen A_{1}, …, A_{k} enthalten.

Beweis durch Induktion über H′ Anfangsschritt: H′ ist prädikativ: H′ ≡ A_{i}x_{j} (1 ≤ i ≤ k)

Dann ist

wert_{\overline{I},\overline{g}} (H′, \overline{f} ) = \overline{g} (A_{i}) ( \overline{f} [x_{j}]) = \overline{α}_{i} ([f (x_{j})])
= α_{i} (f (x_{j})) = wert_{I,g} (H′, f) .

Induktionsschritt:

(a) aussagenlogische Zusammensetzung:

wert_{\overline{I},\overline{g}} (¬H, \overline{f} ) =

non (wert_{\overline{I},\overline{g}} (H, \overline{f} )) = non (wert_{I,g} (H, f)) = wert_{I,g} (¬H, f)

wert_{\overline{I},\overline{g}} ((H_{1} \begin{matrix}∧ \\ ∨ \\ → \\ ↔ \end{matrix} H_{2}) , \overline{f}) =

et ⋮ aeq (wert_{\overline{I},\overline{g}} (H_{1}, \overline{f} ) , wert_{\overline{I},\overline{g}} (H_{1}, \overline{f} )) = wert_{I,g} ((H_{1} ∧ ; ⋮ ; ↔ H_{2}, f))

(b) prädikatenlogische Zusammensetzung:

wert_{\overline{I},\overline{g}} (∀x_{j}H, \overline{f} ) = Om (α_{H,\overline{I},\overline{g},\overline{f},x_{j}}^{1})
= \{ \begin{matrix}W, & falls α_{H,\overline{I},\overline{g},\overline{f},x_{j}} ([a]) = W für alle [a] ∈ \overline{I} \\ F, & sonst \end{matrix}

Nun ist

α_{H,\overline{I},\overline{g},\overline{f},x_{j}} ([a]) = wert_{\overline{I},\overline{g}} (H, [ \overline{f} ]_{[a]}^{j})
= wert_{I,g} (H, [ \overline{f} ]_{a}^{j})  (nach Ind.–Vor.)
= α_{H,I,g,f,x_{j}}(a)

Also ist

wert_{\overline{I},\overline{g}} (∀x_{j}H, \overline{f} ) = \{ \begin{matrix}W, & falls α_{H,I,g,f,x_{j}} (a) = W für alle [a] ∈ I \\ F, & sonst \end{matrix}
= wert_{I,g} (∀x_{j}H, f) .

Analog behandelt man den Fall H′ ≡ ∃x_{j}H.

□

Folgerung 4.4.1 (aus Satz 4.4.1) Um zu entscheiden, ob ein Ausdruck des Klassenkalküls erfüllbar (in irgendeinem nichtleeren Bereich) ist, genügt es, die Erfüllbarkeit in dem Individuenbereich mit 2^{k} Elementen zu überprüfen (wobei k die Zahl der Attributenzeichen ist).

Das gilt deshalb, weil für Ausdrücke ohne Gleichheitszeichen gilt: Wenn H ∈ ef_{I} und card(I) ≤ card(I′), so ist H ∈ ef_{I′}.

4.4.2 Aussagenlogische Erfüllbarkeit und Gültigkeit

Die aussagenlogisch gültigen Ausdrücke des Prädikatenkalküls bilden eine wichtige Teilmenge von ag, die entscheidbar ist.

Definition 4.4.1 (aussagenlogisch einfache Ausdrücke) Ein Ausdruck H ∈ AUSD heißt aussagenlogisch einfach, wenn er entweder prädikativer Ausdruck ist oder mit einem Quantor beginnt. AE ist die Menge der aussagenlogisch einfachen Ausdrücke.

Es ist klar, daß jeder Ausdruck H ∈ AUSD des Prädikatenkalküls in eindeutiger Weise aus aussagenlogisch einfachen Ausdrücken mit Hilfe der aussagenlogischen Zusammensetzungen aufgebaut ist.

Definition 4.4.2 (aussagenlogische Belegung) Jede Abbildung β : AE → {W, F} wird aussagenlogische Belegung genannt.

Definition 4.4.3 (aussagenlogischer Wert) Die Abbildung werta(H, β) wird für H ∈ AUSD, β : AE → {W, F} wie folgt induktiv definiert:

Anfangsschritt:

Wenn H ∈ AE, so werta(H, β) = β(H)

Induktionsschritte:

Wenn H ≡ ¬H_{1}, so werta(H, β) = non(wert(H_{1}, β))

Wenn H ≡ (H_{1} ∧ H_{2}) , so werta(H, β) = et(werta(H_{1}, β), werta(H_{2}, β))

und analog für ∨, →, ↔.

Definition 4.4.4 (aussagenlogische Erfüllbarkeit, Gültigkeit) Ein Ausdruck H ∈ AUSD heißt aussagenlogisch erfüllbar (bzw. gültig), wenn werta(H, β) = W für ein (bzw. alle) aussagenlogischen Belegungen β gilt. Es sei efa bzw. aga die Menge aller aussagenlogisch erfüllbaren bzw. gültigen Ausdrücke.

Satz 4.4.2 Es sei I ≠ ∅, g eine Interpretation in I und f eine Belegung über I und für H ∈ AE sei β(H) = wert_{I,g}(H, f). Dann gilt für H^{⋆} ∈ AUSD

wert_{I,g}(H^{⋆}, f) = werta(H^{⋆}, β)

Diese Aussage beweist man leicht durch Induktion über den Aufbau von H^{⋆} aus aussagenlogisch einfachen Ausdrücken.

Folgerung 4.4.2

• ef ⊂ efa Beispiel ∃x(Ax ∧ ¬Ax) ∈ efa \ ef

• aga ⊂ ag Beispiel ∀x(Ax ∨ ¬Ax) ∈ ag \ aga

Wichtig ist die

Folgerung 4.4.3 Die Mengen aga und efa sind entscheidbar.

4.5 Folgern und Ableiten

4.5.1 Folgern

Modell, Folgern und Folgerungsoperator Sei X ⊆ AUSD

• [g, f] ist ein Modell von X in I, wenn für alle H ∈ X gilt: wert_{I,g} (H, f) = W.

• Aus X folgt H in I, (Xfol_{I}H), wenn jedes Modell von X in I den Ausdruck H erfüllt. Aus X folgt H (XfolH), wenn für jedes I ≠ ∅ gilt: Xfol_{I}H.

• Der Folgerungsoperator fl_{I} ist wie folgt definiert: fl_{I} (X) := {H|Xfol_{I}H}. Analog ist fl (X) definiert.

Satz 4.5.1 (Eigenschaften der Folgerungsoperatoren) fl_{I} und fl haben folgende Eigenschaften:

0. H ∈ fl_{I}(X) gdw. die Menge X ∪ {¬H} kein Modell in I hat.

1. fl_{I} (∅) = ag_{I}

2. fl_{I} hat die Hülleneigenschaften

3. fl_{I} erfüllt den Endlichkeitssatz Beweis über den Endlichkeitssatz für Modelle, analog wie im Aussagenkalkül.

4. Ableitbarkeitstheorem: Wenn (H_{1} → H_{2}) ∈ fl_{I} (X), so H_{2} ∈ fl_{I} (X ∪ {H_{1}}).

5. Deduktionstheorem: Wenn H_{2} ∈ fl_{I} (X ∪ {H_{1}}), so (H_{1} → H_{2}) ∈ fl_{I}(X).

6. fl_{I} (ag_{I}) ⊆ ag_{I}, fl (ag) ⊆ ag

Beweis des Deduktionstheorems

Voraussetzung: Es sei H_{2} ∈ fl(X ∪ {H_{1}}) und [g, f] ein Modell von X in I.

Behauptung: wert_{I,g} (H_{1} → H_{2}, f) = W

Fall 1: [g, f]erf_{I}H_{1} (wert_{I,g} (H_{1}, f) = W)

Dann ist [g, f] Modell von X ∪{H_{1}} in I. Es ist also wert_{I,g} (H_{2}, f) = W nach Voraussetzung.

Daraus folgt die Behauptung.

Fall 2: [g, f]erf_{I}¬H_{1} (wert_{I,g} (H_{1}, f) = F)

Dann ist wert_{I,g} ((H_{1} → H_{2}) , f) = W.

Also gilt die Behauptung. □

Bemerkung Die Relation Xfol_{I}H ist unentscheidbar, auch wenn X endlich ist (∅fol_{I}H gdw. ag_{I}H).

4.5.2 Ableiten

Wie im Aussagenkalkül wollen wir für X ⊆ AUSD und H ∈ AUSD das Folgern syntaktisch charakterisieren und definieren deshalb XablH.

abl wird induktiv definiert:

A) Wenn H ∈ X, so XablH

I) 1. Wenn XablH_{1} und XablH_{1} → H_{2}, so XablH_{2} (modus ponens)

\begin{matrix}H_{1} \\ H_{1} → H_{2} \\ H_{2} \end{matrix}

2. Regel der vorderen Generalisierung

\frac{XablH_{1} (x) → H_{2}}{Xabl∀xH_{1} → H_{2}}

3. Regel der hinteren Generalisierung

\frac{XablH_{1} → H_{2} (x), und x nicht in H_{1}.}{XablH_{1} → ∀xH_{2}}

4. Regel der vorderen Partikularisierung

\frac{XablH_{1} (x) → H_{2}, x nicht in H_{2}}{Xabl∃xH_{1} → H_{2}}

5. Regel der hinteren Partikularisierung

\frac{XablH_{1} → H_{2} (x)}{XablH_{1} → ∃xH_{2}}

6. Regel der gebundenen Umbenennung Aus H entsteht H′ durch gebundene Umbenennung, wenn gilt: Es gibt Individuenvariablen x_{k}, x_{l} mit

(a) x_{k} kommt in H gebunden vor

(b) x_{l} kommt im Wirkungsbereich H^{⋆} von x_{k} in H nicht quantifiziert und nicht frei vor,

(c) H^{⋆} liegt in keinen Wirkungsbereich von x_{l}.

(d) H′ entsteht aus H, indem in Qx_{k}H^{⋆} überall x_{k} durch x_{l} ersetzt wird (mit Quantor Q ∈ {∀, ∃})

XablH

H geht durch gebundene Umbenennung in H′ über XablH′

7. Termeinsetzung

\frac{XablH (x) T Term, wobei alle Stellen in H, an denen x steht, ste- hen in keinem Wirkungsbereich eines Quantors einer Variable, die in T vor- kommt}{XablH (x/T )} Die gebundene Umbenennung eines Ausdrucks H veranschaulichen wir an folgendem Beispiel:

H ≡ ∃y∀x \overbrace{A^{2}xy}^{H^{⋆}}  H′ ≡ ∃y∀zA^{2}zy

Ein Beispiel für die Termeinsetzung ist

H ≡ ∀zA^{2}zy mit T ≡ F (x, a)

Der Term T erfüllt alle Bedingungen für die Termeinsetzung und wir erhalten

H (y/T ) ≡ zA^{2}zF (x, a)

Wir definieren wieder die Operation

{ab \atop ab (X) := \{H|XablH\}}

und die Relation und Operation

abla und aba Die Relation XablaH gilt gdw. H ist nur mit der Abtrennungsregel (modus ponens) aus X ableitbar.

aba (X) := {H|XablaH}

Satz 4.5.2 (Eigenschaften von ab und aba)

1. ab (∅) = aba (∅) = ∅;

2. ab und aba haben die Hülleneigenschaften.

3. ab und aba erfüllen den Endlichkeitssatz.

4. Ableitbarkeitstheorem: Xabl (H_{1} → H_{2}), so X ∪ {H} ablH_{2}.

5. Deduktionstheorem gilt nicht.

6. Wenn X ⊆ ag_{I}, so ab (X) ⊆ ag_{I} und wenn X ⊆ ag_{I}, so aba (X) ⊆ ag_{I}.

Schwaches Deduktionstheorem

Wie im Aussagenkalkül wollen wir zeigen, unter welchen Voraussetzungen abl das Deduktionstheorem erfüllt.

Satz 4.5.3 Wenn für alle H_{1}, H_{2} ∈ AUSD gilt: XablH_{1} → (H_{2} → H_{1}) und XablH (x_{j}), so Xabl∀x_{j}H.

Beweis Es sei H_{0} ∈ AUSD mit x_{j} kommt in H_{0} nicht vor und XablH_{0}.

XablH → (H_{0} → H)
XablH
XablH_{0} → H (x_{j}) (nach modus ponens)
XablH_{0} → ∀x_{j}H (hintere Generalisierung)
XablH_{0}
Xabl∀x_{j}H  (nach modus ponens)
□

Definition 4.5.1 (”Die“ Generalisierte eines Ausdrucks) Für H ∈ AUSD ist Gen (H) einer der Ausdrücke (vielleicht der mit der kleinsten Gödelzahl), die aus H entstehen, wenn zuerst alle gebundenen Variablen nacheinander in nicht vorkommende Variablen umbenannt werden, dann alle vollfrei vorkommenden Variablen x mit ∀x quantifiziert werden.

Beispiel Wir bestimmen die Generalisierte des Ausdrucks H ≡ ∀x (A_{1}^{2}yz → A_{2}^{2}xy) ∧ A_{3}^{1}x.

Zuerst nennen wir die gebundenen Variablen in nicht vorkommende um:

∀u (A_{1}^{2}yz → A_{2}^{2}uy) ∧ A_{3}^{1}x

Alle freien Variablen sind jetzt vollfrei. Nun quantifizieren wir alle vollfreien Variablen und erhalten

Gen(H) ≡ ∀x∀y∀z∀u ((A_{1}^{2}yz → A_{2}^{2}uy) ∧ A_{3}^{1}x)

Dual zu Gen (H) definieren wir ”die“ Partikularisierte Part (H) eines Ausdrucks H, indem wir x mit ∃ quantifizieren.

Satz 4.5.4 (Schwaches Deduktionstheorem)

Voraussetzung: Wenn der Ausdruck H eine der Formen

• Xabl (H′ → (H′′ → H′)) (1)

• Xabl (H′ → H′) (2)

• Xabl (H′ → (H′′ → H′′′)) ↔ ((H′ → H′′) → (H′ → H′′′)) (3)

• Xabl (H′ → (H′′ → H′′′)) → (H′′ → (H′ → H′′′)) (4)

• Xabl (H′ → (H′′ → H′′′)) ↔ ((H′ ∧ H′′) → H′′′) (5)

Behauptung: Wenn (X ∪ {H_{1}}) ablH_{2}, so Xabl (Gen (H_{1}) → H_{2}).

Bemerkung Wenn H_{1} Aussage ist, dann ist Gen (H_{1}) = H_{1}, da dann alle vorkommenden Aussagenvariablen quantifiziert sind. Unter den Vorausetzungen (1)–(5) erfüllt abl das Deduktionstheorem.

Beweis des Satzes durch Induktion über H_{2}.

Syntaktische Chararakterisierung des Folgerns

Die syntaktische Charakterisierung des Folgerns, die wir im Aussagenkalkül durch die Gleichung

fl(X) = aba(abe(axa) ∪ X)

vorgenommen haben, erfolgt ähnlich auch im Prädikatenkalkül. Man zeigt

Satz 4.5.5

fl(X) = aba(ag ∪ X)

Der Beweis verläuft ähnlich wie im Aussagenkalkül mit Hilfe des Endlichkeitssatzes für das Folgern.

Syntaktische Charakterisierung von ag

Es bleibt, die Menge ag syntaktisch zu charakterisieren:

Die Menge AXA

AXA = {H| H entsteht aus einem Axiom aus axa durch Ersetzen der Aussagenvariablen durch Ausdrücke aus AUSD}.

Folgerung 4.5.1 Durch Einsetzen von Aussagen des Prädikatenkalküls in die Menge axa des Aussagenkalküls erhalten wir Axiome des Prädikatenkalküls und es gilt:

AXA ⊆ aga ⊆ ag

Weiterhin definieren wir:

Die Menge AXI

AXI = {x_{0} = x_{0}, x_{0} = x_{1} → x_{1} = x_{0}, x_{0} = x_{1} ∧ x_{1} = x_{2} → x_{0} = x_{2}}∪
{x_{0} = x_{1} → A_{i}^{j}x_{2}x_{3} ⋯ x_{k−1}x_{0}x_{k+1} ⋯ x_{j} ↔
A_{i}^{j}x_{2} ⋯ x_{k−1}x_{1}x_{k+1} ⋯ x_{j}|i ≥ 0, k = 1, …, j}∪
{x_{0} = x_{1} → F_{i}^{j}(x_{2}, …, x_{k}, x_{0}, x_{k+1}, …, x_{j}) =
F_{i}^{j}(x_{2}, …, x_{k−1}, x_{1}, x_{k+1}, …, x_{j})|i ≥ 0, k = 1, …, j}

Dann ist

Die Menge AX

AX := AXA ∪ AXI

Man zeigt

Satz 4.5.6 (Axiomatisierbarkeit des Prädikatenkalküls)

ag = ab(AX)

Bemerkung Die Widerspruchsfreiheit ab(AX) ⊆ ag ist dabei leicht zu sehen, während die Vollständigkeit ag ⊆ ab(AX) schwieriger zu beweisen ist.

4.6 Prädikatenlogisches Schließen

Wir geben nun noch einige abgeleitete Schlußregeln für den Umgang mit Quantoren an. Dabei erinnern wir daran, daß Schlußregeln mit fetten ”Schlußstrichen“ in beiden Richtungen gelten.

146 KAPITEL 4. PRÄDIKATENLOGIK 1. Quantoren–Einführung und –Beseitigung

Voraussetzung: Die Individuenvariable x kommt vollfrei in H ∈ AUSD vor

\frac{(X ∪ AX)abl H(x)}{(X ∪ AX)abl ∀x H}

\frac{(X ∪ AX)abl H(x)}{(X ∪ AX)abl ∃x H} , \frac{(X ∪ AX)abl ∀x H}{(X ∪ AX)abl ∃x H}

2. Quantoren–Vertauschung

\frac{(X ∪ AX)abl ∀x∀y H}{(X ∪ AX)abl ∀y∀x H} , \frac{(X ∪ AX)abl ∃x∃y H}{(X ∪ AX)abl ∃y∃x H}

\frac{(X ∪ AX)abl ∃x∀y H}{(X ∪ AX)abl ∀y∃x H}

3. Quantoren–Verteilung

\frac{(X ∪ AX)abl ∀x (H_{1}(x) ∧ H_{2}(x))}{(X ∪ AX)abl ∀x H_{1} ∧ ∀x H_{2}} , \frac{(X ∪ AX)abl ∃x (H_{1}(x) ∧ H_{2}(x))}{(X ∪ AX)abl ∃x H_{1} ∧ ∃x H_{2}}

\frac{(X ∪ AX)abl ∃x (H_{1}(x) ∨ H_{2}(x))}{(X ∪ AX)abl ∃x H_{1} ∨ ∃x H_{2}} , \frac{(X ∪ AX)abl ∀x H_{1} ∨ ∀x H_{2}}{(X ∪ AX)abl ∀x (H_{1}(x) ∨ H_{2}(x))}

4. Quantoren–Verschiebung

Die Individuenvariable x komme in H_{1} nicht vor:

\frac{(X ∪ AX)abl ∀x (H_{1} → H_{2}(x))}{(X ∪ AX)abl (H_{1} → ∀x H_{2})} , \frac{(X ∪ AX)abl ∃x (H_{1} → H_{2}(x))}{(X ∪ AX)abl (H_{1} → ∃x H_{2})}

\frac{(X ∪ AX)abl ∀x (H_{2}(x) → H_{1})}{(X ∪ AX)abl ∃x H_{2} → H_{1}} , \frac{(X ∪ AX)abl ∃x (H_{2}(x) → H_{1})}{(X ∪ AX)abl (∀x H_{2} → H_{1})}

\frac{(X ∪ AX)abl ∀x (H_{1} ∧ H_{2}(x))}{(X ∪ AX)abl (H_{1} ∧ ∀x H_{2})} , \frac{(X ∪ AX)abl ∃x (H_{1} ∧ H_{2}(x))}{(X ∪ AX)abl H_{1} ∧ ∃x H_{2}}

\frac{(X ∪ AX)abl ∀x (H_{1} ∨ H_{2}(x))}{(X ∪ AX)abl (H_{1} ∨ ∀x H_{2})} , \frac{(X ∪ AX)abl ∃x (H_{1} ∨ H_{2}(x))}{(X ∪ AX)abl H_{1} ∨ ∃x H_{2}}

\frac{(X ∪ AX)abl ∀x ¬H}{(X ∪ AX)abl ¬ ∃x H} , \frac{(X ∪ AX)abl ∃x ¬H}{(X ∪ AX)abl ¬ ∀x H}

4.7 Widerlegen

Da es kein Entscheidungsverfahren für die Menge ag gibt, ag kann nur axiomatisiert werden als

ag = ab(AX),

können wir auch nicht durch ein algorithmisches Verfahren garantieren, daß eine Widerlegung für einen Ausdruck H gefunden wird, wenn er nicht allgemeingültig ist.

Wir gehen hier auf das Widerlegen ein, weil es eine große Rolle in der Wissensverarbeitung (in der künstlichen Intelligenz) spielt.

Im folgenden sei X ⊆ AUSD eine Menge von Aussagen ohne Identität, d. h. in denen das Gleichheitszeichen nicht vorkommt. Die Menge X möge das Wissen über ein Teilgebiet darstellen, also eine Art von Axiomensystem. Eine Vermutung sei durch eine Aussage H ohne Identität gegeben.

Die Aussage H folgt aus X (H ∈ fl(X)), wenn jedes Modell von X H erfüllt, bzw. wenn X ∪ {¬H} kein Modell hat. (Dabei spielen die Belegungen der Individuenvariablen keine Rolle, weil wir nur Aussagen betrachten.)

Zum Widerlegen brauchen wir einen syntaktischen Ableitungsbegriff, notiert durch ⊢, mit

X ⊢ ⊥ gdw. X kein Modell hat.

4.7.1 Klauselbildung

Wir gehen vor wie im Aussagenkalkül und definieren

Literal und Klausel

• Ausdrücke der Form [¬]A_{j}^{i}T_{1} ⋯ T_{i} (wobei A_{j}^{i} ein i-stelliges Attributensymbol ist und T_{1}, …, T_{i} Terme sind) werden Literal genannt.

• Als Klausel wird ein Literal oder eine Alternative von Literalen, bei der alle Individuenvariablen durch ∀ gebunden (generalisiert) sind, bezeichnet.

Die allgemeine Form einer Klausel ist also

∀x_{1} ⋯ ∀x_{k} (¬L_{1} ∨ ¬L_{2} ∨ ⋯ ∨ ¬L_{n} ∨ L′_{1} ∨ ⋯ ∨ L′_{m})

wobei die L_{i}, L′_{j} Literale und x_{1}, …, x_{k} alle vorkommenden Individuenvariablen sind. Als logisch äquivalente Schreibweise notiert man die Klausel wie folgt

L_{1} ∧ L_{2} ∧ ⋯ ∧ L_{n} → L′_{1} ∨ ⋯ ∨ L′_{m}

Es sei X eine Menge von Aussagen ohne Identität. Nach dem Endlichkeitssatz für Modelle hat X genau dann kein Modell, wenn eine endliche Teilmenge X^{⋆} = {H_{1}, …, H_{k}} ⊆ X existiert, die kein Modell hat, d. h. genau dann, wenn die Einermenge {H^{⋆}} mit

H^{⋆} = H_{1} ∧ ⋯ ∧ H_{k}

kein Modell hat.

Wir konstruieren zu H^{⋆} eine Menge K von Klauseln mit

efH^{⋆} gdw. K hat ein Modell.

Satz 4.7.1 Zu jeder Aussage H ohne Identität existiert eine Menge K von Klauseln mit

efH gdw. K hat ein Modell.

Beweis Wir formen die Aussage H wie folgt semantisch äquivalent um:

Schritt 1: Die Zeichen →, ↔ eleminieren

\begin{aligned}H_{1} ↔ H_{2} & ∼ & (H_{1} → H_{2}) ∧ (H_{2} → H_{1}) \\ H_{1} → H_{2} & ∼ & ¬H_{1} ∨ H_{2} \end{aligned}

Betrachten wir als Beispiel

H ≡ ∀x∀y (∃z (Axz ∨ Ayz) → ∃z Bxyz);

wir erhalten nach dem ersten Schritt

H ∼ ∀x∀y (¬∃z (Axz ∨ Ayz) ∨ ∃z Bxyz)

Schritt 2: Das Zeichen ¬ wird vor die Attributenzeichen getrieben

\begin{aligned}¬(H_{1} ∨ H_{2}) & ∼ & ¬H_{1} ∧ ¬H_{2} \\ ¬(H_{1} ∧ H_{2}) & ∼ & ¬H_{1} ∨ ¬H_{2} \\ ¬¬H_{1} & ∼ & H_{1} \\ ¬∀x H_{1} & ∼ & ∃x ¬H_{1} \\ ¬∃x H_{1} & ∼ & ∀x ¬H_{1} \end{aligned}

Im Beispiel erhalten wir

H ∼ ∀x∀y (∀z (¬Axz ∧ ¬Ayz) ∨ ∃z Bxyz)

Schritt 3: Die Quantoren nach vorne ziehen

\begin{matrix}Qx H_{1}(x) ∧ H_{2} & ∼ & Qx (H_{1}(x) ∧ H_{2}) \\ Qx H_{1}(x) ∨ H_{2} & ∼ & Qx (H_{1}(x) ∨ H_{2}) \end{matrix} \} wobei x nicht in H_{2} vorkommt

\begin{aligned}∀x H_{1}(x) ∧ ∀x H_{2}(x) & ∼ & ∀x (H_{1}(x) ∧ H_{2}(x)) \\ ∃x H_{1}(x) ∨ ∃x H_{2}(x) & ∼ & ∃x (H_{1}(x) ∨ H_{2}(x)) \end{aligned}

Die Variable z komme weder in H_{1} noch in H_{2} vor

Q_{1}x H_{1}(x){∧ \atop ∨}Q_{2}x H_{2}(x) ∼ Q_{1}xQ_{2}z (H_{1}(x){∧ \atop ∨}H_{2} (^{x}/_{z} ))

Im Beispiel erhalten wir

\begin{aligned}H & ∼ & ∀x∀y (∀z (¬Axz ∧ ¬Ayz) ∨ ∃u Bxyu) \\ & ∼ & ∀x∀y∀z∃u ((¬Axz ∧ ¬Ayz) ∨ Bxyu) \end{aligned}

Schritt 4: Den quantorenfreien Ausdruck in Form einer Konjunktion von Alternativen bringen

\begin{aligned}(H_{1} ∧ H_{2}) ∨ H_{3} & ∼ & (H_{1} ∨ H_{3}) ∧ (H_{2} ∨ H_{3}) \\ H_{1} ∨ (H_{2} ∧ H_{3}) & ∼ & (H_{1} ∨ H_{2}) ∧ (H_{1} ∨ H_{3}) \end{aligned}

Im Beispiel:

H ∼ ∀x∀y∀z∃u ((¬Axz ∨ Bxyu) ∧ (¬Ayz ∨ Bxyu))

Bemerkung Der jetzt erhaltene Ausdruck wird als pränexe Normalform (PNf(H)) bezeichnet; bisher sind alle Umformungen semantisch äquivalent erfolgt, d. h. ag(H ↔ PNf(H)).

Schritt 5: Elimination der ∃-Quantoren (Skolemisierung)

Dieser Schritt führt von H′ = PNf(H) nicht zu einem semantisch äquivalenten Ausdruck H′′, sondern zu einem H′′ mit

efH′ gdw. efH′′,

d. h. einem erfüllbarkeitsäquivalenten Ausdruck, was für unsere Zwecke ausreicht.

Sei H = Q_{1}x_{1} ⋯ Q_{n}x_{n} \underbrace{H_{0}(x_{1}, …, x_{n})}_{quantorenfrei}, Q_{i} sei das von links erste ∃

Fall 1: i = 1, H ≡ ∃x_{1} … Wir nehmen eine (neue) Individuenkonstante a_{j} (nullstelliges Funktionszeichen) und setzen

H′ ≡ Q_{2}x_{2} ⋯ Q_{n}x_{n} H_{0} [^{x_{1}}/_{a_{j}} ]

Offenbar gilt efH gdw. efH′

Fall 2: i > 1, H ≡ ∀x_{1} ⋯ ∀x_{i−1}∃x_{i}Q_{i+1}x_{i+1} ⋯ Wir nehmen ein (neues) (i − 1)-stelliges Funktionssymbol F_{j}^{i−1} her und setzen

H′ ≡ ∀x_{1} ⋯ ∀x_{i−1}Q_{i+1}x_{i+1} ⋯ Q_{n}x_{n} H_{0} [^{x_{i}}/_{F_{j}^{i−1}(x_{1},...,x_{i−1})}]

Diese Operation wird wiederholt bis alle ∃ eliminiert sind

Im Beispiel erhalten wir

H ≈ ∀x∀y∀z ((¬Axz ∨ BxyF (x, y, z)) ∧ (¬Ayz ∨ BxyF (x, y, z)))

Schritt 6: Zerlegung in Klauseln

Es erfolgt eine Umbenennung der Variablen, so daß in jedem Konjunktionsglied verschiedene Variable sind.

∀x (H_{1}(x) ∧ H_{2}(x)) ∼ ∀x H_{1} ∧ ∀y H_{2} [^{x}/_{y} ]

Im Beispiel:

H ≈ ∀x∀y∀z (¬Axz ∨ BxyF (x, y, z)) ∧ ∀x′∀y′∀z′ (¬Ay′z′ ∨ Bx′y′F (x′, y′, z′))

Die Konjunktionsglieder liefern jetzt die Klauseln; in unserem Beispiel erhalten wir

\begin{aligned}K = & \{Axz & → & BxyF (x, y, z), \\ & Ay′z′ & → & Bx′y′F (x′, y′, z′)\} \end{aligned}

Damit haben wir die Erfüllbarkeitsäquivalenz gezeigt. □

Die Klauseln in unserem Beispiel haben eine besondere Form:

Horn–Klauseln Klauseln, die nur ein positives Literal auf der rechten Seite haben, heißen Horn– Klauseln.

Horn–Klauseln spielen (wie wir später sehen werden) eine wichtige Rolle in der logischen Programmierung (PROLOG).

4.7.2 Herbrand–Modell

Wir betrachten nun spezielle (syntaktische) Modelle und zeigen, daß diese zum Nachweis, daß eine Klauselmenge kein Modell hat, ausreichen.

Herbrand–Modell H sei eine Konjunktion von Klauseln. Wir setzen

I_{0} = {a_{0}} ∪ Menge aller Konstantenzeichen, die in H vorkommen
I_{j+1} = I_{j} ∪ {F_{k}^{n}(t_{1}, …, t_{n})| F_{k}^{n} ist ein in H vorkommendes Funkti- onszeichen, t_{1}, …, t_{n} ∈ I_{j} }

I_{H} = ⋃_{j≥0} I_{j} ist eine Menge von Wörtern (Grundtermen), die wir als Individuenbereich verwenden. Das Tripel [I_{H}, g_{H}, f_{H}] heißt Herbrand–Modell, wenn

1. g_{H}(a_{i}) = a_{i} für alle a_{i}, die in H vorkommen)

2. g_{H}(F_{k}^{n})(t_{1}, …, t_{n}) = F_{k}^{n}(t_{1}, …, t_{n}) (für alle F_{k}^{n}, die in H vorkommen)

3. [g_{H}, f] ist Modell in I_{H}, d. h. wert_{I_{H},g_{H}} (H, f_{H}) = W

In unserem Beispiel ist

I_{0} = {a_{0}}  (in K kommen keine Konstanten vor)
I_{1} = {a_{0}, F (a_{0}, a_{0}, a_{0})}
I_{2} = {a_{0}, F (a_{0}, a_{0}, a_{0}), F (F (a_{0}, a_{0}, a_{0}), a_{0}, a_{0}), …}

Satz 4.7.2 H sei eine Konjunktion von Klauseln. Dann gilt

efH gdw. H ein Herbrand–Modell hat.

Beweis Es genügt zu zeigen, daß jeder erfüllbare Ausdruck ein Herbrand–Modell hat.

Es sei [I, g, f] gegeben mit wert_{I,g}(H, f) = W, d. h. für jede Klausel

∀x_{1} ⋯ ∀x_{n} H_{0}(x_{1}, …, x_{n})

gilt bei beliebiger Belegung f′ : {x_{1}, …, x_{n}} → I

wert_{I,g}(H_{0}, f′) = W.

Entsprechend der Definition bestimmen wir I_{H} und g_{H} und vervollständigen g_{H} für Attributenzeichen wie folgt:

g_{H}(A_{j}^{i})(t_{1}, …, t_{i}) := wert_{I,g}(A_{j}^{i}t_{1} ⋯ t_{i}, f)

Dabei hängt die rechte Seite (der zugeordnete Wahrheitswert) nicht von f ab, weil A_{j}^{i}t_{1} ⋯ t_{i} keine Individuenvariablen enthält.

Es sei nun f_{H} : X → I_{H} eine Belegung und A_{j}^{i}T_{1} ⋯ T_{i} ein Literal aus H_{0}. Dann gilt

wert_{I_{H},g_{H}} (A_{j}^{i}T_{1} ⋯ T_{i}, f_{H}) =
= g_{H}(A_{j}^{i}) (element_{I_{H},g_{H}} (T_{1}, f_{H}), …, element_{I_{H},g_{H}} (T_{1}, f_{H}))
= wert_{I_{H},g_{H}} (A_{j}^{i}T_{1} [x_{γ}/f_{H}(x_{γ})] ⋯ T_{i} [x_{γ}/f_{H}(x_{γ})] , f)

wobei f eine beliebige I-Belegung ist.

Wir betrachten zu f_{H} die I-Belegung f^{⋆} mit

f^{⋆}(x_{γ}) := element_{I,g} (f_{H}(x_{γ}), f)

Die rechte Seite hängt von f nicht ab, weil f_{H}(x_{γ}) ein Term ohne Individuenvariable ist. Ist z. B. f_{H}(x_{γ}) = a_{0}, so ist element_{I,g} (f_{H}(x_{γ}), f) = g(a_{0}). Nun ist

wert_{I,g}(A_{j}^{i}T_{1} ⋯ T_{i}, f^{s}tar) = wert_{I,g} (A_{j}^{i}T_{1} [x_{γ}/f_{H}(x_{γ})] ⋯ T_{i} [x_{γ}/f_{H}(x_{γ})] , f)
= wert_{I_{H},g_{H}} (A_{j}^{i}T_{1} ⋯ T_{i}, f_{H})

folglich gilt für alle I_{H}-Belegungen f_{H}

wert_{I_{H},g_{H}} (H_{0}, f_{H}) = wert_{I,g}(H_{0}, f^{⋆}) = W,

denn alle Literale in H_{0} haben bei [I_{H}, g_{H}, f_{H}] denselben Wert wie bei [I, g, f^{⋆}]; d. h.

wert_{I_{H},g_{H}} (∀x_{1} ⋯ ∀x_{n} H_{0}, f_{H}) = W

also hat H das Herbrand–Modell [I_{H}, g_{H}, f_{H}]. □

Der Test, ob eine Konjunktion von Klauseln ein Herbrand–Modell besitzt, ist i. a. sehr aufwendig. Es gibt aber Fälle, wo man sofort sieht, daß kein Modell existiert:

Beispiel

H ≡ Aa_{0} ∧ ¬Aa_{0}

d. h. als Klauselmenge geschrieben

\begin{aligned}& & Aa_{0} \\ Aa_{0} & → & ⊥ \end{aligned}

Die Schnittregel liefert hier sofort ⊥.

Im Beispiel

H ≡ ∀y Aaf(y) ∧ ∀x ¬Axf(b)

bzw. als Klauselmenge

\begin{aligned}& & Aaf(y) \\ Axf(b) & → & ⊥ \end{aligned}

ist die Schnittregel nicht unmittelbar anwendbar, erst wenn man die Substitution x/_{a}, ^{y}/_{b} ausgeführt hat, kommt man mit der Schnittregel zum Widerspruch ⊥.

4.8 Unifikation und Resolution

Im vorhergenden Beispiel haben wir gesehen, daß die Schnittregel nicht immer unmittelbar anwendbar ist. Wir definieren deshalb den Begriff der Substitution und der Unifikation und bilden mittels der Resolution davon ausgehend einen syntaktischen Ableitungsoperator.

4.8.1 Substitution und Unifikation

Substitution Eine Substitution σ ist eine Abbildung, die jeder Individuenvariablen einen Term zuordnet. Ist T ein Term, so bezeichne T [σ] den Term, der entsteht, wenn simultan für jede Variable x_{i} der Term σ(x_{i}) eingesetzt wird und H[σ] bezeichnet den Ausdruck, der aus H in diesem Fall entsteht.

Unifikator Eine Substitution σ heißt Unifikator für Ausdrücke H_{1}, H_{2}, wenn H_{1}[σ] ≡ H_{2}[σ] ist.

Beispiel Wir betrachten die Ausdrücke H_{1} ≡ Aaxf(g(y)) und H_{2} ≡ Azf(z)f(v) und wollen beide unifizieren.

\begin{aligned}& x & y & z & v \\ σ_{1} & f(a) & a & a & g(a) \end{aligned}

H_{1}[σ_{1}] ≡ Aaf(a)f(g(a)) ≡ H_{2}[σ_{1}]

also σ_{1} ist ein Unifikator für H_{1}, H_{2}.

\begin{aligned}& x & y & z & v \\ σ_{2} & f(a) & y & a & g(y) \end{aligned}

H_{1}[σ_{2}] ≡ Aaf(a)f(g(y)) ≡ H_{2}[σ_{2}]

Auch σ_{2} ist ein Unifikator für H_{1}, H_{2}, aber σ_{2} ist allgemeiner als σ_{1}, weil eine Substitution σ_{3} so existiert, daß

σ_{3}(σ_{2}(.)) = σ_{1}(.)

ist.

allgemeinster Unifikator σ heißt allgemeinster Unifikator für H_{1}, H_{2}, wenn

1. σ ein Unifikator für H_{1}, H_{2} ist

2. Zu jedem Unifikator σ′ für H_{1}, H_{2} eine Substitution σ^{⋆} mit

σ′(.) = σ^{⋆}(σ(.))

existiert.

4.8.2 Berechnung eines allgemeinsten Unifikators

Wir formulieren einen Algorithmus, der folgendes leistet:

Eingabe: H_{1} = A_{j}^{i}T_{1} ⋯ T_{i}, H_{2} = A_{j}^{i}T′_{1} ⋯ T′_{i} zwei prädikative Ausdrücke mit dem gleichen Attributensymbol und disjunkten Variablenmengen Ausgabe: allgemeinster Unifikator falls existent, ”¬ ◯“ sonst.

PROCEDURE Unify (H_{1}, H_{2}: Literal): Substitution; k := 0; M_{0} := {H_{1}, H_{2}}; σ_{0} = id LOOP

IF card(M_{k}) = 1 THEN RETURN σ_{k} END; T_{k} := {t_{1}, t_{2}|t_{1}, t_{2} bestimmen den von links ersten Unterschied in Ausdrücken von M_{k}};

IF Es gibt eine Variable y in T_{k} und einen Term t in T_{k}, in dem diese Variable nicht vorkommt

THEN

σ_{k+1}(x) = \{ \begin{matrix}t, & falls x = y \\ x, & sonst \end{matrix}

M_{k+1} := σ_{k+1}(M_{k}); INC(k);

ELSE RETURN ”¬ ◯“

END END;

Beispiel Wir betrachten

k = 0, M_{0} = \{Aaxf(g(y)), Azf(z)f(v)\}; σ_{0} = \begin{matrix}v → v \\ x → x \\ y → y \\ z → z \end{matrix}

und zeigen, wie die Prozedur Unify den allgemeinsten Unifikator bestimmt:

T_{0} = {a, z}

⇓

σ_{1} =  \begin{matrix}v → v \\ x → x \\ y → y \\ z → a \end{matrix}  M_{1} = \{Aaxf(g(y)), Aaf(a)f(v)\}

⇓

T_{1} = {x, f(a)}

σ_{2} =  \begin{matrix}v → v \\ x → f(a) \\ y → y \\ z → a \end{matrix} M_{2} = \{Aaf(a)f(g(y)), Aaf(a)f(v)\}

⇓

T_{2} = {g(y), v}

σ_{3} =  \begin{matrix}v → g(y) \\ x → f(a) \\ y → y \\ z → a \end{matrix} M_{3} = \{Aaf(a)f(g(y))\}

⇓ Stop Ein Beispiel für das Scheitern der Unifikation zeigen wir mit

k = 0, M_{0} = {Af(a)g(x), Ayy}

Die Prozedur Unify führt folgende Berechnung aus:

T_{0} = {f(a), y}
⇓
σ_{1} = \begin{matrix}x → x \\ y → f(a) \end{matrix} M_{1} = \{Af(a)g(x), Af(a)f(a)\}

⇓
T_{1} = {g(x), f(a)} ⟹ enthält keine Variable
⟹ ¬ ◯

4.8.3 Resolution

Die soeben definierte Unifikation ermöglicht die Anwendung der Schnittregel, aber auch die Vereinfachung von Klauseln.

Beispiel

\begin{aligned}Ax ∧ Af(y) & → & ⊥ \\ & & Af(g(a)) \end{aligned}

Unifizieren Ax Af(y) durch σ : x → f(y) und erhalten

\begin{aligned}Af(y) & → & ⊥ \\ & & Af(g(a)) \end{aligned}

Unifizieren durch σ : y → g(a)

\begin{aligned}Af(g(a)) & → & ⊥ \\ & & Af(g(a)) \end{aligned}

und Cut liefert ⊥, also ist die ursprüngliche Klauselmenge nicht erfüllbar und hat kein Modell.

Resolutionsregel

Seien K_{1} : L_{1} ∧ ⋯ ∧ L_{n} → L′_{1} ∨ ⋯ ∨ L′_{m} und K_{2} : L_{1}^{⋆} ∧ ⋯ ∧ L_{n^{⋆}}^{⋆} → L′′_{1} ∨ ⋯ ∨ L′′_{m′} Klauseln mit disjunkten Variablenmengen.

Wir führen folgende Begriffe ein:

Resolvente σ sei allgemeinster Unifikator von L′_{μ} und L_{γ}^{⋆}. Die Klausel

\begin{matrix}σ(L_{1} ∧ ⋯ ∧ L_{n} ∧ L_{1}^{⋆} ∧ ⋯ ∧ L_{γ−1}^{⋆} ∧ L_{γ+1}^{⋆} ∧ ⋯ ∧ L_{n^{⋆}}^{⋆} → \\ L′_{1} ∨ ⋯ ∨ L′_{μ−1} ∨ L′_{μ+1} ∨ ⋯ ∨ L′_{m} ∨ L′′_{1} ∨ ⋯ ∨ L′′_{m′}) \end{matrix}

heißt Resolvente von K_{1}, K_{2} bzgl. μ, γ und σ. rechter Faktor Ist σ ein allgemeinster Unifikator von L′_{i}, L′_{j} (1 ≤ i < j ≤ m), so heißt

σ(L_{1} ∧ ⋯ ∧ L_{n} → L′_{1} ∨ ⋯ ∨ L′_{i−1} ∨ L′_{i+1} ∨ ⋯ ∨ L′_{m})

ein rechter Faktor von K_{1}. linker Faktor Ist σ ein allgemeinster Unifikator von L_{i}, L_{j} (1 ≤ i < j ≤ n), so ist

σ(L_{1} ∧ ⋯ ∧ L_{i−1} ∧ L_{i+1} ∧ ⋯ ∧ L_{n} → L′_{1} ∨ ⋯ ∨ L′_{m})

ein linker Faktor von K_{1}.

Ableiten mit der Resolutionsregel

Mit der Resolution definieren wir jetzt wieder induktiv einen syntaktischen Ableitbarkeitsbegriff (wie die Cut–Ableitbarkeit im Aussagenkalkül):

Ableiten mit der Resolutionsregel Y ⊢ H Es sei Y eine Menge von Klauseln, H eine Klausel.

A) Wenn H ∈ Y, so Y ⊢ H

I) 1. Wenn Y ⊢ K_{1} und Y ⊢ K_{2} und H ist Resolvente von K_{1}, K_{2}, so Y ⊢ H.

2. Wenn Y ⊢ K und H ist rechter oder linker Faktor von K, so Y ⊢ H.

Es gilt der

Satz 4.8.1 Es sei Y eine Menge von Klauseln, die kein Modell hat. Dann ist Y ⊢ ⊥.

Beweis (Idee) Wenn Y kein Modell hat, so besitzt Y kein Herbrand–Modell. Also gibt es Klauseln K_{1}, …, K_{n} ∈ Y und Substitutionen σ_{1}, …, σ_{n} derart, daß aus {K_{1}[σ_{1}], …, K_{n}[σ_{n}]} aussagenlogisch (mit der Schnittregel) der Widerspruch ⊥ abgeleitet werden kann. Aus einer solchen Ableitung konstruiert man eine Ableitung gemäß ⊢. □ Das Ableiten mit der Resolutionsregel veranschaulichen wir uns an folgendem Beispiel

K_{1} : Ax ∧ Ab → ⊥
K_{2} :  Aa → Ab
K_{3} :  Ab → Aa
K_{4} :  Aa ∨ Ay
Resolution K_{1}, K_{2}, x → a
Aa ∧ Ab → ⊥
Aa → Ab
K_{5} :  Aa → ⊥
Cut(K_{5}, K_{3}) :  Ab → Aa
K_{6} :  Ab → ⊥
Resolution K_{4}, K_{6}, y → b
Aa ∨ Ab
K_{7} :  Aa
Cut(K_{7}, K_{5}) :  Aa → ⊥
⊥

4.9 Logische Programmierung

Jeder Programmierer einer Programmiersprache, wie z. B. MODULA, muß, nachdem er sich die Frage gestellt hat: ”Was ist das Problem?“, überlegen: ”Wie ist das Problem zu lösen?“. Algorithmen werden erstellt, indem eine Abfolge von Befehlen entwickelt wird.

Grundgedanke des logischen Programmierens ist, daß die Ausführung eines Programms auch als das automatische Herleiten eines Widerspruchs aus einer gegebenen Klauselmenge aufgefaßt werden kann. Dabei wird das schon skizzierte Widerlegen mittels Resolution unter Anwendung der Unifikation benutzt. Eine aus dem Resolutionsbeweis extrahierte Antwort wird als das Rechenergebnis des Logik– Programms aufgefaßt.

Oft findet man folgende schematische Darstellung des Grundgedankens der logischen Programmierung:

algorithm = logic + control

wobei logic dem rein logischen Aspekt, also dem Wissen über die Zielsetzung des Algorithmus (auch Spezifikation genannt) und control dem prozeduralen Aspekt, also der Strategie der Anwendung von Ableitungsregeln, entspricht.

4.9.1 Prolog

Die logik–orientierte Sprache PROLOG (PROgramming in LOGic) wurde in den 70er Jahren an verschiedenen Universitäten entwickelt und erfreut sich großer Beliebtheit im Bereich der Künstlichen Intelligenz (z. B. zur Entwicklung von Expertensystemen).

PROLOG basiert auf dem Prädikatenkalkül der ersten Stufe und arbeitet nur mit Horn–Klauseln (zur Erinnerung: Horn–Klauseln haben höchstens ein positives Literal; alle Variablen sind gebunden).

Die Beschränkung auf Horn–Klauseln bedeutet nur eine geringe Einschränkung der Ausdrucksfähigkeit, da die meisten mathematischen Theorien (wenn überhaupt) mit Horn–Klauseln axiomatisierbar sind. Außerdem würden sich sonst große Effizienzprobleme bei der Auswertung ergeben.

Ein PROLOG–System besteht aus einer Wissensbasis, d. h. einer Menge von Horn–Klauseln (sogenannte Regeln und Fakten) und einem Interpreter, der problemunabhängig Abfragen der Wissensbasis auswerten und so Schlußfolgerungen ziehen kann. Der Interpreter ist ein (auf Resolution beruhendes) Beweisprogramm, das die Unerfüllbarkeit einer Klauselmenge nachweist.

Wie werden nun Horn–Klauseln in PROLOG notiert?

Variablen werden mit einem Großbuchstaben am Bezeichneranfang gekennzeichnet. Ihr Gültigkeitsbereich bezieht sich nur auf eine Klausel. Mit Kleinbuchstaben werden dagegegen Prädikate, Funktionssymbole und Konstanten benannt. Wie man sieht, wird die semantische Unterscheidung zwischen Funktionen und Prädikaten (im Gegensatz zum Prädikatenkalkül) syntaktisch nicht unterstützt. Das ist Aufgabe des Programmierers. Klauseln werden mit einem Punkt am Ende versehen und in Fakten und Regeln unterteilt. Objekte, über die wir Aussagen machen, werden als Atome bezeichnet.

Fakten sind Aussagen über Objekte der Form

funktor(objekt).

und entsprechen allgemeinen Tatsachen, d. h. Horn–Klauseln, die nur aus einem positiven Literal bestehen, die Vorbedingung ist also leer.

Beispiel Einfache Aussage (als Fakten) in unserer Wissensbasis sind:

     vater(peter,harald).
     mutter(anna,harald).
     eltern(adam,eva,kain).

Ebenso können wir Allaussagen wie mag(X,blumen). machen (eine mögliche Interpretation dieser Allausage ist ”Jeder mag Blumen“).

Regeln sind logische Ausdrücke, mit denen aus bekannten Fakten neue Fakten gefolgert werden können. Die Schreibweise lautet

kopf:-rumpf.

wobei der Rumpf–Teil der Regel eine Konjunktion (mit Komma unterteilt) von Vorbedingungen ist, die erfüllt sein müssen, bevor der Kopf–Teil erfüllt ist.

Beispiel Wir geben in unsere Wissensbasis folgende Regeln ein:

     kind(K,V):-vater(V,K).
     kind(K,M):-mutter(M,K).
     eltern(V,M,K):-vater(V,K),mutter(M,K).

Das Zeichen :- hat den Charakter einer Implikation (es soll ein symbolisierter Pfeil nach links sein), denn eine Horn–Klausel

R_{1} ∧ ⋯ ∧ R_{n} → K

wird in PROLOG als

K : −R_{1}, …, R_{n}

notiert.

Als PROLOG–Prädikat wird eine Menge von Klauseln (also eine Menge von Fakten und Regeln) mit demselben Funktor und der gleichen Stelligkeit bezeichnet.

Beispiel Wir haben den Fakt

     eltern(adam,eva,kain).

und die Regel

     eltern(V,M,K):-vater(V,K),mutter(M,K)..

Beide zusammen bilden das Prolog–Prädikat eltern\3.

Induktiv definieren wir nun den Term–Begriff (nicht zu verwechseln mit der Term– Definition im Prädikatenkalkül):

A) Alle Atome und Variablen sind Terme.

S) Ist α ein n-stelliges Prädikat und t_{1}, …, t_{n} sind Terme, so ist auch α(t_{1}, …, t_{n}) ein Term.

Mit Prädikaten beschreiben wir einen Sachverhalt, ein Problem. Wichtig dabei ist, daß PROLOG die Bedeutung der Klauseln nicht versteht.

Beispiel Die Klausel eltern(adam,eva,kain). wird von \underline{uns} als ”Adam und Eva sind die Eltern von Kain“ interpretiert. Wir müssen also sehr genau die Reihenfolge der Argumente beachten.

Ausgehend von der geschaffenen Wissensbasis können wir nun Anfragen an das PROLOG–System stellen. Dabei wird die Gültigkeit von Ausdrücken anhand der vorher im Einfügemodus eingegebenen Klauseln geprüft.

Diese Prinzip wird als ”closed world assumption“ bezeichnet, d. h. selbst wenn wir wissen, daß ein bestimmter Sachverhalt in der wirklichen Welt vorliegt, muß noch nicht garantiert sein, daß er aus unseren Klauseln auch abgeleitet werden kann.

Abfragen werden wie folgt eingegeben:

?-ziel.

Das zu beweisende Ziel wird als ”goal“ bezeichnet.

Beispiel Eine einfache Frage ist z. B.

     ?-vater(peter,harald).

PROLOG antwortet erwartungsgemäß mit YES. Die Abfrage

     ?-vater(peter,paul).

dagegen erzeugt NO.

Fragen, die eine oder mehrere Variablen enthalten, entsprechen Existenzfragen:

     ?-vater(X,harald).

wird beantwortet, indem die Bindung der Variable X ausgegeben wird, die zum Erfolg geführt hat: X= peter. Konjunktiv verknüpfte Fragen werden mit einem Komma unterteilt:

     ?-vater(X,harald),mag(X,blumen).

Die Antwort ist X= peter.

Bei der Abarbeitung einer Frage, die eine Variable enthält, überprüft PROLOG, ob die Variable geeignet mit einem Wert instantiiert werden kann. Dies wird über die bereits oben erwähnte Unifikation gelöst, die hier auf Termen arbeitet.

4.9.2 Ein abstrakter Interpreter

Ein abstrakter Interpreter für Logik–Programme sieht wie folgt aus:

Eingabe: P Menge von Klauseln, Z Ziel

Ausgabe: eine Instanz von Z, die aus P abgeleitet wurde, falls diese existiert, ”¬ ◯“ sonst.

PROCEDURE Logische Berechnung (P: Programm, Z: Ziel): Antwort; k := 0; RS_{0} := {Z}; Z_{0} = Z LOOP

IF card(RS_{k}) = 0 THEN RETURN Z_{k} END; A := {Ziel in RS_{k}}; A′ := {Klausel in P, die mit A unifizierbar ist; die Klausel hat die Form A : −B_{1}, …, B_{n}};

σ_{k+1} := UNIFIY(A, A′);

IF σ_{k+1} = ¬ ◯

THEN RETURN¬ ◯

ELSE RS_{k+1} := σ_{k+1} ({B_{1}, …, B_{n}} ∪ RS_{k} \ {A}); Z_{k+1} := σ_{k+1}(Z_{k}); INC(k);

END END;

Die Berechnung beginnt mit der Anfrage Z; falls das Programm terminiert, wird entweder die bewiesene Instanz von Z oder das Scheitern ausgegeben. Die Berechnung schreitet mittels Ziel–Reduktion fort. In jedem Schritt gibt es eine Resolvente, die bewiesen werden soll. Wird mit einer Regel resolviert, so wird der Kopf der Regel nach der Unifikation durch den Rumpf ersetzt. Die Berechnung endet, wenn die Resolvente leer ist.

Variablen müssen bei der Berechnung vorsichtig behandelt werden, um Namenskonflikte zu vermeiden. Da Variablen nur lokal in Klauseln gelten, sind gleichnamige Variablen in verschiedenen Klauseln voneinander verschieden. Eine Lösung ist, bei jeder Reduktion die Variablen einer Klausel in noch nicht verwendete Variablen umzubenennen.

Unser Interpreter ist nicht–deterministisch, d. h. nach jedem Ableitungschritt gibt es eventuell mehr als eine Möglichkeit, die Berechnung fortzufahren. Unbestimmt ist:

• die Wahl des zu reduzierenden Ziels aus RS_{K}

• die Wahl der Klausel in P, mit der reduziert wird

Durch alternative Auswahlen wird implizit ein Suchbaum definiert. Da Computer nur deterministisch vorgehen, müssen die Auswahlmöglichkeiten gezielt eingeschränkt werden.

Eine Lösung ist, den Suchbaum erst in der Breite zu durchsuchen (breadth–first), das heißt, alle endlichen erfolgreichen Pfade im Suchbaum (mögliche Beweise des Ziels) werden auch gefunden. Die Breitensuche ist vollständig, aber ineffizient (exponentieller Aufwand).

Eine andere Möglichkeit ist, den Suchbaum zuerst in der Tiefe zu durchsuchen (depth–first), wobei früher durchgeführte Beweisschritte eventuell zurückgenommen werden müssen (Backtracking). Im Gegensatz zur Breitensuche garantiert die Tiefensuche nicht, daß ein eventuell vorhandener Beweis auch gefunden wird, da der Suchbaum unendliche Pfade enthalten kann, die unendlichen Berechnungen der Prozedur entsprechen.

Die Tiefensuche kann auf einen unendlichen Pfad geraten, bevor ein endlicher Pfad gefunden wurde, selbst wenn er existiert.

4.9.3 Die Auswertungsstrategie von Prolog

Prolog realisiert die Tiefensuche, indem der Nichtdeterminismus (Freiheit in der Wahl der Berechnungsschritte) wie folgt aufgelöst wird:

• RS_{k} wird als Stack verwaltet, d. h. es wird immer das oberste Ziel zur Reduktion entfernt und die abgeleiteten Ziele werden wieder oben auf den Stack abgelegt.

• Die Klauseln in P sind linear sortiert, d. h. sie werden von oben nach unten durchsucht.

Durch diese Einschränkung werden Klauseln nicht als Mengen, sondern als Folgen aufgefaßt, da die Resolution von Literalen in der Zielklausel von links nach rechts fortschreitet.

Die Auswertungsstrategie von Prolog läuft der Idealvorstellung der logischen Programmierung entgegen, denn wir müssen uns bei der Programmformulierung Gedanken machen, wie wir unsere Klauseln im Programm und die Teilziele der Regeln anordnen. Trotz logischer Äquivalenz ergeben sich verschiedene Suchbäume; eventuell kann durch Umstellung von Klauseln und Umformulierung von Regeln ein vorher gefundener Beweis nicht mehr gefunden werden, da die Berechnung in einen unendlichen Pfad des Suchbaumes geraten ist. Natürlich kann eine geschickte Formulierung unseres Logikprogramms auch das Umgekehrte erreichen (dies ist unsere Absicht); dazu müssen wir die Auswertungsstrategie von Prolog genau kennen und dementsprechend umsichtig bei der Aufstellung unseres Programms sein.

Literaturverzeichnis

[1] Asser, G.: Einführung in die Mathematische Logik (Teil 1: Aussagenkalkül; Teil 2: Prädikatenkalkül 1.Stufe); B. G. Teubner, Leipzig, 1972 und 1982. Grundlage der Kapitel ”Aussagenlogik“ und ”Prädikatenlogik“

[2] Bachmann, P.: Mathematische Grundlagen der Informatik; Akademie– Verlag, Berlin, 1992. allgemeine Einführung (mit einer Darstellung des Klassenkalküls)

[3] Cordes/Kruse/Langendörfer/Rust: Prolog; Vieweg Verlag, Braunschweig, 1992. Ergänzung des Abschnittes ”Logische Programmierung“

[4] Hermes, H.: Aufzählbarkeit, Entscheidbarkeit, Berechenbarkeit; Teubner Verlag, Stuttgart, 1976. Ergänzung des Kapitels ”Berechnungstheorie“

[5] Klaua D.: Einführung in die allgemeine Mengenlehre (Band 1: Elementare Axiome der Mengenlehre; Band 2: Grundbegriffe der axiomatischen Mengenlehre); Akademie–Verlag, Berlin, 1971 und 1972. Grundlage des Kapitels ”Mengenlehre“ (mit Stufenkalkül, Mengenalgebra etc.)

[6] Peter, R.: Rekursive Funktionen; Budapest, 1951.

Grundlage des Kapitels ”Berechnungstheorie“ (mit Beweis der Existenz einer Majorante für primitiv–rekursive Funktionen)

[7] Rusza J.: Die Begriffswelt der Mathematik; Volk und Wissen Verlag, Berlin, 1975.

[8] Schöning, U.: Logik für Informatiker; Theoretische Informatik kurz gefaßt; BI Wissenschaft, Mannheim, beide 1992. Aussagenlogik, Prädikatenlogik, Logische Programmierung bzw. Berechnungstheorie

[9] Siefkes, D.: Formalisieren und Beweisen; Vieweg Verlag, Braunschweig, 1992. weniger formalistischer Zugang zur Logik mit vielen Beispielen

[10] Tuschik/Wolter: Mathematische Logik — kurzgefaßt: Grundlagen, Modelltheorie, Entscheidbarkeit , Mengenlehre; BI Wissenschaft, Mannheim, 1994. allgemeine Einführung

[11] Sterling/Shapiro: Prolog — Fortgeschrittenen Programmiertechniken; Addison–Wesley Verlag, Bonn, 1988. Ergänzung des Abschnittes ”Logische Programmierung“