- Das König'sche Unendlichkeitslemma
- Aussagenlogische Normalformen
- Normalformen für die Prädikatenlogik erster Stufe
© 1999
Fran�ois Bry
Dieses Lehrmaterial wird ausschlie�lich zur privaten Verwendung
angeboten. Eine nichtprivate Nutzung (z.B. im Unterricht oder eine
Ver�ffentlichung von Kopien oder �bersetzungen) dieses Lehrmaterials
bedarf der Erlaubnis des Autors.
Viele Beweismethoden sind der Einfachheit halber nur für Formeln von eingeschränkter syntaktischer Gestalt definiert. Formeln einer anderen Gestalt müssen zunächst ,,normalisiert`` werden, das heißt, in die entsprechende syntaktische Gestalt umgewandelt. Wir haben zum Beispiel in Kapitel 3 gesehen, dass jede Formel der Prädikatenlogik erster Stufe äquivalent zu einer Formel in Pränexform ist. Die Pränexform ist eine typische ,,Normalform``, die von einer Beweismethode vorausgesetzt werden kann.
Dieser Abschnitt behandelt einige dieser Normalformen, die für die zu besprechenden Beweismethoden von Bedeutung sind.
Die Modellbeziehung wird für jede Interpretation M darauf
erweitert:
M∧*(F1,...,Fn) gdw.
für alle i mit 1≤i≤n gilt
M
Fi.
Die Modellbeziehung wird für jede Interpretation M darauf erweitert:
M∨*(F1,...,Fn)
gdw. es gibt ein i mit 1≤i≤n und
M
Fi.
Dieser Einschub behandelt ein bekanntes Ergebnis über Bäume, das auch außerhalb der Logik nützlich ist, insbesondere für Terminierungsnachweise.
Wenn es eine Obergrenze n gibt, so dass jeder Knoten im Baum höchstens n direkte Nachfolger hat, dann hat der Baum endlichen Verzweigungsgrad. Aber er kann auch endlichen Verzweigungsgrad haben, ohne dass so eine Obergrenze existiert. Zum Beispiel kann die Wurzel zwei direkte Nachfolger haben, der erste davon drei direkte Nachfolger, der erste davon vier usw.
Sei T ein Baum mit unendlich vielen Knoten und endlichem Verzweigungsgrad. Wir müssen zeigen, dass T einen unendlichen Ast hat.
Durch Kontraposition, und weil K beliebig ist, erhalten wir: wenn ein Knoten in T Wurzel eines Teilbaums mit unendlich vielen Knoten ist, dann hat er mindestens einen direkten Nachfolger, der ebenfalls Wurzel eines Teilbaums mit unendlich vielen Knoten ist.
Sei K0 die Wurzel von T, also die Wurzel eines Teilbaums mit unendlich vielen Knoten. K hat mindestens einen direkten Nachfolger, der die Wurzel eines Teilbaums mit unendlich vielen Knoten ist, also sei K1 ein solcher Nachfolger. K1 hat wieder mindestens einen solchen Nachfolger, also sei K2 einer davon, und so weiter. Auf diese Weise kann ein unendlicher Ast K0,K1,K2,... konstruiert werden.
Es gibt ein gedankliches Spiel, das eine hübsche Illustration für die Anwendung des König'schen Unendlichkeitslemmas liefert. Gegeben sei ein Vorrat von Münzen, die mit natürlichen Zahlen beschriftet sind. Für jede Zahl seien unbegrenzt viele Münzen mit dieser Zahl verfügbar. Gegeben sei außerdem ein Sparschwein, das am Anfang genau eine Münze enthält.
Ein Spielzug besteht darin, eine Münze aus dem Sparschwein herauszunehmen (und der eigenen Geldbörse einzuverleiben) und dafür beliebig viele, aber endlich viele, Münzen aus dem Vorrat in das Sparschwein hineinzulegen. Diese Münzen können mit gleichen oder verschiedenen Zahlen beschriftet sein, aber jede dieser Zahlen muss echt kleiner sein als die Zahl auf der herausgenommenen Münze.
Das Spiel kann immer mit dem ersten Spielzug beendet werden, indem man die ursprüngliche Münze herausnimmt und null Münzen dafür hineinlegt. Offensichtlich kann man auf diese Weise von jedem Zustand aus das Spiel mit endlich vielen Spielzügen beenden. Weniger offensichtlich ist die Frage, ob man die Spielzüge so wählen kann, dass das Spiel nicht endet, dass man sich also unendlich oft aus dem Sparschwein bedienen kann, ohne dass es je leer wird. Man könnte ja zum Beispiel die erste Münze herausnehmen und dafür 10 neue hineinlegen; dann nimmt man eine davon wieder heraus und legt dafür 100 neue hinein; bei jedem Schritt verzehnfacht man die Anzahl der Münzen, die man hineinlegt.
Jeder mögliche Spielverlauf kann durch einen Baum dargestellt werden: die Wurzel ist die Münze, die am Anfang im Sparschwein ist, die direkten Nachfolger einer Münze sind die Münzen, durch die sie bei einem Spielzug ersetzt wird. Die Knoten des Baums repräsentieren also sämtliche Münzen, die bei diesem Spielverlauf jemals in das Sparschwein kommen.
Jeder dieser Bäume hat endlichen Verzweigungsgrad, da bei jedem Spielzug nur endlich viele neue Münzen in das Sparschwein kommen. Außerdem ist jeder Knoten außer der Wurzel mit einer kleineren Zahl beschriftet als sein Vorgänger. Also kann kein Ast eines solchen Baums länger sein als die Zahl, mit der die Wurzel beschriftet ist, das heißt, jeder Ast in einem solchen Baum ist endlich.
Nach dem König'schen Unendlichkeitslemma hat jeder dieser Bäume nur endlich viele Knoten. Also terminiert jeder mögliche Spielverlauf.
Das Spiel entspricht einem nichtdeterministischen Algorithmus mit sehr vielen Wahlmöglichkeiten, nicht einmal eine Obergrenze für den Verzweigungsgrad ist vorgegeben. Das König'sche Unendlichkeitslemma ermöglicht in solchen Fällen Ergebnisse der Art: ,,wie auch immer diese Wahlmöglichkeiten ausgenutzt werden, der Algorithmus terminiert in jedem Fall.``
In diesem Abschnitt ist mit der Bezeichnung ,,Konjunktion`` immer eine Formel der Gestalt ∧*(...) gemeint, mit ,,Disjunktion`` eine Formel der Gestalt ∨*(...), einschließlich der Fälle mit null Argumenten.
Eine aussagenlogische Formel heißt in konjunktiver Normalform, wenn sie eine Konjunktion von Klauseln ist.
Eine aussagenlogische Formel heißt in Implikationsnormalform, wenn sie eine Konjunktion von Klauseln in Implikationsnormalform ist.
Ein Beispiel für eine Klausel ist ∨*(p,¬q,r,¬s). Die
Implikationsnormalform dieser Klausel ist
(∧*(q,s)⇒∨(p,r)). Eine
andere Klausel ist ∨*(). Für diese
,,leere Klausel`` ist auch die Notation
verbreitet. Sie ist, wie bereits erwähnt, logisch äquivalent mit
.
Eine Klausel kann auch als Menge von Literalen definiert werden. Dann sind zum Beispiel die logisch äquivalenten Klauseln ∨*(p,¬q,p), ∨*(p,p,¬q) und ∨*(p,¬q) alle durch dieselbe Menge {p,¬q} repräsentiert. Für Implementierungen ist es aber oft günstiger, solche Klauseln zu unterscheiden.
Man kann natürlich ganz analog die disjunktive Normalform definieren als eine Disjunktion von Konjunktionen von Literalen. Diese Normalform spielt aber für die hier behandelten Beweismethoden keine Rolle.
Sowohl n=0 als auch m=0 sind dabei möglich. Dass diese Transformation die logische Äquivalenz erhält, folgt unmittelbar aus den Definitionen.
∨*(... ¬¬G ...) ___________ ∨*(... G ...) |
∨*(... ¬(G1∧G2) ...) _________________ ∨*(... ¬G1,¬G2 ...) |
∨*(... ¬(G1∨G2) ...) _________________ ∨*(... G1,G2 ...) |
∨*(... ¬(G1⇒G2) ...) _________________ ∨*(... ¬G1,G2 ...) |
∨*(... ¬(G1⇔G2) ...) ____________________________ ∨*(... ¬G1,G2 ...),∨*(... G1,¬G2 ...) |
∨*(... ![]() ___________ ∨*(... ...) |
∨*(... ![]() ___________ |
∨*(... (G1∧G2) ...) ____________________________ ∨*(... G1 ...),∨*(... G2 ...) |
∨*(... ¬(G1∨G2) ...) ____________________________ ∨*(... ¬G1 ...),∨*(... ¬G2 ...) |
∨*(... ¬(G1⇒G2) ...) ____________________________ ∨*(... G1 ...),∨*(... ¬G2 ...) |
∨*(... ¬(G1⇔G2) ...) ____________________________ ∨*(... G1,G2 ...),∨*(... ¬G1,¬G2 ...) |
∨*(... ¬![]() ___________ |
∨*(... ![]() ___________ ∨*(... ...) |
Diese Umschreibungsregeln dienen als Hilfsmittel zur Berechnung einer konjunktiven Normalform einer aussagenlogischen Formel F. Sie sind dafür vorgesehen, auf eine Disjunktion angewandt zu werden, die in einer Sequenz von Argumenten von ∧* vorkommt. Bei der Anwendung einer Umschreibungsregel wird eine Disjunktion durch eine Teilsequenz ersetzt, die aus einer einzigen Disjunktion bestehen kann (z.B. im obersten linken Fall) oder aus zwei Disjunktionen (z.B. im obersten rechten Fall) oder aus null Disjunktionen (z.B. im untersten linken Fall).
Zum Beispiel ergeben sich für F=(p∨(q∧(r∨
)))
der Reihe nach folgende Werte für K:
∧*(∨*[(p∨(q∧(r∨
)))])
∧*(∨*[p, (q∧(r∨
))])
∧*(∨*[p,q], ∨*[p,(r∨
)])
∧*(∨*[p,q], ∨*[p,r,
])
∧*(∨*[p,q], ∨*[p,r])
In diesem Beispiel ist keine andere Folge von Werten für K möglich. In der letzten Zeile sind beide Disjunktionen Klauseln. Jede andere Zeile enthält genau eine Disjunktion, die keine Klausel ist, und jede davon enthält genau eine Formel, die kein Literal ist. Im allgemeinen kann es aber in beiden Fällen mehrere Möglichkeiten geben. Die Schritte 2(a) und 2(b) sind nichtdeterministisch. Dagegen ist die Umschreibungsregel in Schritt 2(c) eindeutig bestimmt, sobald Fi gewählt ist. Dies ergibt sich unmittelbar aus dem Eindeutigkeitssatz 2.1.7 (erweitert auf ∧* und ∨*).
rg(A) | := 0 | A atomare Formel |
rg(![]() ![]() |
:= 1 | |
rg(¬G) | := 1+rg(G) | |
rg((G1θG2)) | := 2+rg(G1)+rg(G2) | θ zweistelliger Junktor |
Intuitiv ist der Rang die Anzahl der Junktoren in einer Formel, wobei zweistellige Junktoren doppelt zählen. Wir erweitern die Funktion auf Disjunktionen: rg(∨*(F1,...,Fn)):= rg(F1)+...+rg(Fn).
Man prüft leicht nach, dass für jede Umschreibungsregel in Definition 4.4.6 gilt, dass jede Disjunktion unterhalb des Strichs einen echt kleineren Rang hat als die Disjunktion oberhalb des Strichs.
Die Konjunktion K=∧*(...) enthält initial genau eine Disjunktion. Bei jedem Schleifendurchgang wird eine der Disjunktionen in K durch maximal zwei Disjunktionen mit echt kleinerem Rang ersetzt. Der so konstruierbare Baum aller Disjunktionen, die jemals in Schritt 2 umgeschrieben werden, hat endlichen Verzweigungsgrad und nur endliche Äste, also nach dem König'schen Unendlichkeitslemma endlich viele Knoten.
Nach Beendigung der Schleife (Schritt 2) ist jede Disjunktion in K eine Klausel (sonst wäre die Schleife noch nicht beendet), das heißt, K ist in konjunktiver Normalform.
Das Terminierungsargument ist analog zu dem Spiel mit den Münzen: K=∧*(...) entspricht dem Sparschwein, die Disjunktionen den Münzen.
Der Nichtdeterminismus im Ablauf des Algorithmus hat auch einen Nichtdeterminismus bezüglich seines Ergebnisses zur Folge. Zum Beispiel kann konjunktive_normalform(((p∧q)∨(r∧s))) je nach der getroffenen Wahl in Schritt 2(a) entweder ∧*(∨*(p,r), ∨*(p,s), ∨*(q,r), ∨*(q,s)) ergeben oder ∧*(∨*(p,r), ∨*(q,r), ∨*(p,s), ∨*(q,s)). Dieser Unterschied in der Reihenfolge der Klauseln ist aber uninteressant.
Der obige Satz garantiert, dass jeder deterministische Algorithmus, der durch geeignete Festlegung der Auswahl in den Schritten 2(a) und 2(b) definiert werden kann, die relevanten Eigenschaften besitzt.
Man kann als Datenstruktur für das K im Algorithmus statt einer Konjunktion eine Menge wählen (also Mehrfachvorkommen von Disjunktionen vermeiden). Dann liefert der Algorithmus als Ergebnis eine endliche Menge von Klauseln.
Die Begriffe Literal und Klausel werden völlig analog zur Aussagenlogik definiert, nur dass die Grundlage jetzt atomare Formeln im Sinne der Prädikatenlogik statt der Aussagenlogik sind. Die konjunktive Normalform wird als spezielle Pränexform definiert. Zusätzlich gibt es Normalformen, die gar keine expliziten Quantoren enthalten.
Eine Formel der Prädikatenlogik erster Stufe heißt in konjunktiver Normalform, wenn sie in Pränexform ist und ihr quantorfreier Teil eine Konjunktion von Klauseln ist.
Eine Formel der Prädikatenlogik erster Stufe heißt in Implikationsnormalform, wenn sie eine Konjunktion von Klauseln in Implikationsnormalform ist.
Die Formeln ,
,
¬
,
¬
kommen auch in
prädikatenlogischen Klauseln nicht vor.
Ein Beispiel für eine Klausel ist ∨*(¬p(x,y),¬q(x,y),r(x),s(x,z)), ihre Implikationsnormalform ist (∧*(p(x,y),q(x,y)) ⇒∨*(r(x),s(x,z))). Die Formel ∀x∃y∀z ∧*(∨*(p(a,x),p(x,a)),∨*(¬p(x,y),¬q(x,y),r(x),s(x,z))) ist in konjunktiver Normalform und obendrein geschlossen.
Eine Formel in Klauselnormalform oder in Implikationsnormalform ist nach Definition eine quantorfreie Darstellung einer Formel. Sie dient als abkürzende Schreibweise für die konjunktive Normalform einer universellen geschlossenen Formel.
Nach Satz 3.8.4 ist jede geschlossenen Formel F logisch äquivalent zu einer geschlossenen Formel Q1x1...Qnxn G in Pränexform. Satz 3.8.3 gibt ein Verfahren zur Berechnung dieser Formel an. Zu der quantorfreien Formel G kann eine konjunktive Normalform G' effektiv berechnet werden, damit ist F'=Q1x1...Qnxn G'.
Für eine universelle geschlossene Formel in Pränexform enthält der Quantorpräfix nur Allquantoren, und zwar einen Allquantor für jede Variable in der Formel. Der Quantorpräfix kann aus dem quantorfreien Teil der Formel immer durch Bildung des Allabschlusses rekonstruiert werden. Die Klauselnormalform bzw. Implikationsnormalform nutzt das aus, indem sie die Quantoren implizit lässt.
Die Skolemisierung ermöglicht eine Umwandlung von nichtuniversellen Formeln in universelle, für die die semantischen Begriffe auf Herbrand-Interpretationen zurückgeführt werden können (Satz 3.8.23). Damit ergibt sich: