Uwe Schöning
Logik für Informatiker
5. Auflage
Spektrum Akademischer Verlag Heidelberg . Berlin
Autor:
h
f
.
Dr. Uwe Schöning
Abteilung Theoretische Informatik
Universitit UIm
e-majl: schoenin @informatik.uni-ulm.de
WoIfram Schwabkausep.
( 1931 - 1985)
in dankbarer Erinnenrng
Die Deutsche Bibliothek
- Cm-Einheitsaufnahme
SchBning, Uwe:
Logik für Informatiker I von Uwe Schlining. - 5 . Aufl.
- Hcidclbeg ; Berlin :Spektrum, Akad Verl., 2000
(Spektrum-HochschuItaschenbuch)
ISBN 3-8274- 1005-3
Die erste Auflage dieses Buches erschfcii 1987 irn B.1-Wisscnschaftsverlag
(Bibliographisches Inslilul& F. A. Brockhaus AG, Mannhcim).
O 2000 Spektrum Akademischer Verlag GmbH Heidelberg BerIin
Der Vcrlag und der Autor haben alle Sorgfall walten lassen, um vollstindige und akkuratc Informationcn in diesem Buch zu publizieren. Der Verlag obernimmt weder Garantic noch dicjuri~tischl: Verantwortung oder igendeinc Haftung für die Nutzung dieser Informationen, flir deren
Wirtschaftlichkeit uder fehlerfreie Funktion für einen besrimrnien Zweck. Der Verlag Ubernimint kcinc Gewahr dafür, d a s die bcschricbcncn Verlahren, Programme usw frei von Schuizrechten Dntter sind.
Allc Rechte, insbesondere die der Uhcrsctzung in fremde Sprachen, sind vorbehalten. Kein Teil
des Buches darf ohnc schriftliche Genehmigung des Verlages photokopiert odcr in irgendcincr
anderen Form reproduziert oder in eine von Maschinen i~erwentlbarcForm uhcrtragcn ndcr
ubcrsetn werden.
Lektorat: Dr. Andreas Riidinger I Bianca Alton
Umschlaggcstaltung: Eta Friedrich, Berlin
Druck und Verarbeitung: Franz Spiegel Bucli GmbH, Ulm
Vorwort
Durch die Entwicklung neuerer Anwendungen wie Automatisches Beweisen
und Logik-Programmierung hai die Logik einen neuen und wichtigen Stellenwert in der Informatik erhalten. Das vorliegende Buch ist aus Vorlesungen hervorgegangen, die im Somersemester 1986 und 1987 im Rahmen des
Informatik-Diplornstudiengangsan der E W Koblenz gehalten wurden. Ziel
dieser Vorlesung für Studenten irn Grundstudium war es, diejenigen Teilgebiete der Logik, die für die Informatik eine besondere Relevanz haben, zu
betonen, um so den Studenten einen fruhzeitigen und theoretisch fundierten
Zugang zu modernen Anwendungen der Logik in der Informatik zu ermöglichen.
Vorausgesetzt wird ein gewisses MaR an mathematischem Grundverständnis,
wie Umgang mit der mengentheoretischen Notation, Fuhren von (Induktions)Beweisen etc. Dariiberhjnausgehende mathematische Spezialkenntnisse sind
jedoch nicht erforderlich. Gleichfalls wird Vertrautheit mit einer konventionellen Programmiersprache, wie PASCAL, angenommen.
Für die Erstellung des Manuskripts bedanke ich mich herzlich bei Eveline
Schneiders und Rainer Schuler und für das KomekturIesen bei Johannes
Köbler.
Koblenz, September 1987
U. Schöning
Einleitung
In der f o m d e n Logik wird untersucht, wie man Aussagen miteinander verknüpfen kann und auf welche Wetse man formal Schlüsse zieht und Beweise
durchführt. Hierbei ist die Logik bestimmt durch eine konsequente Trennung
von syntaktischen Begriffen (Formeln, Beweise) - dies sind im Wesentlichen
Zerchenreihen, die nach gewissen Regeln aufgebaut sind - und semantischen
Begriffen (Wahrheitswerte, ModeIle) - dies sind "Bewertungen" oder "Interpretationen" der syntaktischen Objekte.
Nachdem sich die Logik aus der Philosophie cntwickelc hat, sind die ursprünglich untersuchten Fragestellungen mehr grundsätzlicher, philosophischer Natur: "Was ist Wahrheit?", "Welche (mathematischen) Theorien sind
axiornatisierbar?", "Welches sind Modelle für gewisse Axiomensysteme?",
usw. Allgemein lässt sich sagen, dass die Logik auf das Grurids6tzkiche,die
Infom~atikmehr auf das (per Computer) Machbare ausgerichtet ist.
Die Informatik hat sich mancher Teilgebiete der Logik bedient, z.B. bei der
Prograrnmverifikation, der Semantik von Programmiersprachen, dem Automatischen Beweisen und in der Logik-Programrniemng. Dieses Buch konzentriert sich auf diejenigen Aspekte der Logik, d ~ e[ur die Informatik relevant
sind. Die Informatik-Ausbildung umfasst von Anfang an den Umgang mit
rekursiven Definitionen, Datenstnikturen und Algorithmen, ebenso wie die
Trennung von Syntax und Semantik bei Programmiersprachen. Dieses Buch
orientiert sich an diesem den Informatikern vertrauten Stil. Tnsbcsondere werden viele mehr auf das Prinzipielle ausgerichtete Resultate der formalen Logik unter einem algorithmischen Gesichtspunkt behandelt.
Im ersten Teil wird die Aussagenlogik eingeführt, wobei bereits ein Schwerpunkt auf den Resolutionskalkül gelegt wird. Dieses Vorgehen wird dann
im zweiten Teil, in der die Wddikatenlogik behandelt wird, fortgesetzt. Der
Schwerpunkt liegt hier auf der Herbrandschen Theorie und darauf aufbauend, dem Resolutionskalkül in der Prädikatenlogrk, der Grundlage der meisten automatischen Beweisverfahren ist. In diesem Zusammenhang werden
insbesondere Entscheidbarkeitsfragen diskutiert.
12
EINLEITUNG
Der dritte Teil Ieitet in die spezielle Art der Resolution über, wie d c im Zusamenhang mit Hornfonneln und Logik-Programmiersysternen, 2.B. reaIisiert
in der Programmiersprache PROLOG (Programming in Logic), angewendet
wird. Dieses Buch will jedoch kein Prograrnmierhandbuch fiir PROLOG ersetzen; Ziel ist es vielmehr, die logischen Grundlagen für das Verständnis der
Logik-Programmierung zu legen.
Übung 1: "Worin besteht das Geheimnis Ihres Iangen Lebens?" wurde ein
100-jähriger gefragt. "Ich halte mich streng an die Diätregeln: Wenn ich kein
Bier zu einer Mahlzeit trinke, dann habe ich immer Fisch. Immer wenn ich
Fisch und Bier zur selben Mahlzeit habe, verzichte ich auf Eiscreme. Wenn
ich Eiscreme habe oder Bier meide, dann rühre ich Fisch nicht an." Der Fragesteller fand diesen Ratschlag ziemlich verwirrend. Können Sie ihn vereinfachen?
Überlegen Sie sich, welche formalen Schritte des Vorgehens (Diagramme, Tabellen, Graphen, etc.) Sie für sich selbst eingesetzt haben, um diese Aufgabe
zu lösen. Hiermit haben Sie bereits ihre ersten eigenen Versuche unternommen, eine formale Logik zu entwickeln!
Kapitel 1
Aussagenlogik
1.1 Grundbegriffe
In der AussagenIogik werden einfache Verknüpfungen - wie "und", "oder",
"nicht" - zwischen atomaren sprachlichen Gebilden untersucht. Solche atomaren Gebilde sind etwa:
14= "Paris ist die Hauptstadt von Frankreich"
D = "Mäuse jagen Elefanten"
Diese atomaren Bestandteile können wahr oder falsch sein (von der inhaltlichen Interpretation wissen wir, dass A wahr und B falsch ist). Der Gegenstand
der Aussagenlogik ist es nun festzulegen, wie sich solche "Wahrhei tswerte"
der atomaren Bestandteile zu Wahrheitswerten von komplizierteren sprachlichen Gebilden fortsetzen lassen, wie 2.B.
A und B
(Wir wissen, dass im obigen Beispiel A lind B eine fdsche Aussage ist, da
bereits B falsch ist.)
Wir interessieren uns hier also nur dafür, wie sich Wahrheitswerte in komplizierten Gebilden aus den Wahrheitswerten der einfacheren Gebilde ergeben.
In diesen Untersuchungen wird letztlich ignoriert, was die zugrundeliegenden
inhaltlichen Bedeutungen der atomaren Gebilde sind; unser ganzes Interesse
wird auf ihre Wahrheitswerte reduzierz.
Falls 2.B.
A = "Otto wird krank"
B = "Der Arzt verschreibt Otto eine Medizin",
14
KAPITEL 1. A USSAGENLOGTK
so ist es in der Umgangssprache durchaus ein Unterschied, ob wir " A und
B" oder "B und A" sagen. Von solchen "Feinheiten" befreien wir uns in des
folgenden Definition, in der Ale denkbaren atomaren Gebilde (jetzt atomare
Formeln genannt) ohne eine inhaitliche Interpretation durchnummeriert sind,
und mit Ar, A2,A3, usw. bezeichnet werden.
Definition (Syntax der AussagenIogik)
Eine atomare Formel hat die Form Ai (wobei 1: = 1,2,3,. . . ).
Formeln werden durch folgenden induktiven Prozess definiert:
1. Alle atomaren Formeln sind Formeln.
2. Für alle Formeln F und G sind (F A G) und (F V G) Formeln.
3. Für jede Formel F ist 1 F eine Formel.
Man beachte, dass zu diesem Zeitpunkt Formeln lediglich Zeichenreihen
(syntaktische Objekte) sind. Sie haben keinen "Inhalt", keine Interpretation.
Im Moment ist es nicht zulässig bzw. verfrüht, "A" als " u n d bzw. "V" als
"oder" zu lesen. Besser wäre etwa "Dach" bzw. "umgekehrtes Dach".
Eine zugeordnete "Bedeutung" erhalten die Bestandteile von Formeln erst
durch die folgende Definition.
Definition (Semantik der Aussagenlogik)
Eine Relegung ist eine
Die Elemente der Menge {O,l } heißen Wahrheitswe~e.
Funktion A : D -+ (0, I}, wobei D eine Teilmenge der atomaren Formeln
ist. Wir erweitern A zu einer Funktion d : E + {0,1), wobei E 2 D die
Menge aller Fomeln ist, die nur aus den atomaren Formeln in D aufgebaut
sind.
1. Für jede atomare Formel il E D ist 4-41
= A(,4).
Eine Formel der Bauart F heißt Negation von F, (FA G) heißt Konjunktion
von F und G, (F V G) heißt Disjunktion von F und G. Eine Formel F, die
als Teil einer Forrnel G auftritt, heißt Teilfomel von G.
1
Beispiel: F = 1 ( ( A 5A AG}Y +I3) ist eine Formel und sämtliche TeilformeIn
von F sind:
F, ( ( - 4 5 h A s )V y A 3 ) r
(-45AAs),
A51
A6,
7A31
Aa
Wir vereinbaren folgende abkiirzende Schreibweisen:
( V F%) statt
(. . . ((FlV F2} V F3}V
+
-
V
4 . d ( 1 ~=)
{
1, falls d ( ~= )1 oder A(G)= 1
0, sonst
1, falls A ( F ) = o
0, sonst
F,)
1, falls A(((AA B ) V C ) )= 0
A(-((AAB)VC)) =
ll
i=
V G ) )=
F
statt
(. . . ( ( F ,A -F2)A
F31
A - ..A
Fti)
0, falls A ( ( ( A/\ B) V C)) = 1
1, sonst
1
Hierbei können Fl,F2,. . . beliebige Formeln sein. Das heißt also, falls wir
irn Folgenden 2.B. ( A tt E) schreiben, so ist dies eine Abkürzung fiir die
Formel :
((AI A As) V ('AI
4 5 ) )
1
Beispiel: Es sei A(A) = 1, A(B) = 1 und A(C) = 0. Dann ergibt sich:
+
i=
1
(
3.
-
Da d eine Erweiterung von d ist (auf D stimmen A und A überein), lassen
wir nun nachtrfiglich die Unterscheidung zwischen A und A wieder fallen
und schreiben A statt d. (Diese temporäre Unterscheidung hatte lediglich
den Zweck. die Definition von A formal korrekt durchführen zu können.)
A, B,C, . . . stact A t ;A„ A43,.
..
( F , -+ G ) statt (7F1V F2)
(F1 +, F,) statt ( ( F , r\ Fz)V ( l F l A + ) )
n
1, falls A ( F ) = 1 und A(G)
0, sonst
2. A((F A G ) )=
=
{
0, falls A ( ( AA B)) = 1 oder A(C) = 1
1, sonst
0, falls A ( ( AA B)) = 1 (da A(C) = 0)
1, sonst
=
U, falls J(A) = 1 und A ( B ) = 1
I, sonst
= 0
Wir können die Wirkung der Operationen A, V,
darstellen.
7
durch Verknüpfungstafeln
Den Wahrheitswert von F erhalten wir, indem wir zunächst dre Blätter mit
den durch die Belegung gegebenen Wahrheitswerten markieren und dann alle Knoten anhand obiger Verknüpfungstafeln markieren. Die Markierung der
Wurzel ergibt dann den Wahrheitswert der Formel unter der gegebenen Belegung.
Übung 2: Man finde eine F o m l F, die die drei atomaren Formeln A, B und
G enthält mit folgender Eigenschaft: Für jede Belegung A : { A ,B , C) 4
( 0 , l ) gilt, dass das Ändern irgendeiner der Werte A(A),A ( B ) ,A(C) auch
A(F) ändert.
Unter Zuhilfenahme dieser Verknüpfungstafeln lässt sich der Wahrheitswert
jeder Formel F leicht bestimmen, wenn eine Belegung derjenigen atomaren Formeln gegeben ist, die in F enthalten sind. Wir betrachten wieder
F = - ( ( A /\ B) V C},und stellen die Art und Weise, wie F aus ernfacheren
Teilfonneln aufgebaut ist, durch eine Baumstruktur dar:
Aus der Definition von A(F) lässt sich nun erkennen, dass das Symbol
"A" das umgangssprachliche Wort "und, "V" das "oder" und
das Wort
"nicht" modelliert. Wenn wir noch die Symbole "+" und "H" hinzunehmen, die wir als syntaktische Abkurzungen eingeführt haben, so steht "-+"
für "impliziert", "daraus folgt" bzw. "wenn dann", während "H" für "genau
dann wenn" steht.
Um das Ausrechnen von Wahrheitswerten einfacher zu gestalten, wenn die
Formel die (Abkürzungs-) Symbole "+"oder "++" enthalt, können wir hier
ebenfalls Verknüpfungstafeln verwenden.
"7"
KAPITEL I . AUSSAGENLOGTK
20
I . I . GRUNDBEGRIFFE
1. G ist eine Folgerung von F l , . . . , Fk.
2.
((AF~
Fi)+ G) ist eine Tautologie.
3. ((/$=, Fi)
/\ -G) ist unerfüllbar.
Übung4: Was ist falsch an folgendem Schluss :
"'Wenn ich lOOm unter 10,O Sekunden laufe, werde ich zur Olympiade zugelassen. Da ich die lOOm nicht unter 10,0 Sekunden laufe, werde ich folgIich
nicht zur Olympiade zugeIassen."
Der Wahrheitswert einer Formel F unter irgendeiner zu F passenden Belegung A hängt offensichtlich nur von den in F vorkommenden atomaren Formeln ab. Das heißt formaler ausgedrückt, dass A ( F ) = A1(F)für alle zu F
passenden Belegungen A und At gilt, sofern A und A' auf den in F vorkornmenden atomaren Formeln übereinstimmen. (Ein formaler Beweis müsste Per
Induktion iiber den Formelaufbau von F geführt werden!).
Das Fazit, das wir ziehen können, ist, dass es zum Feststellen der Erfüllbarkeit
bzw. der Gültigkeit einer Formel F genügt, lediglich die endlich vielen Belegungen, die genau auf den in F vorkommenden atomaren Formeln definiert
sind, zu testen. Falls F TL verschiedene atomare Fomeln enthält, so sind dies
genau 2" viele zu testende Belegungen. Systematisch können wir dies mittels
Wahrheitstafeln tun:
Die zu F gehörende Spalte enthäIt nur Einsen, also ist F eine Tautologie.
Bemerkung: Die Wahrheitstafelmethode gibt uns also ein algorithmisches
Verfahren in die Hand, die Erfüllbarkeit einer Formel festzustellen. Jedoch
beachte man, dass der Aufwand hierzu gewaltig ist: Für eine Formel mit n
atomaren Fomeln müssen 2" Zeilen der Wahrheitstafel berechnet werden.
Für eine Formel mit 2.B. 100 atomaren Formeln wäre auch des schnellste existierende Rechner Tausende von Jahren beschäftigt. (Man rechne sich einmal
aus, wie viel 210%Miosekunden sind - angenommen eine Zeile der Wahrheitstafel kann in einer Mikrosekunde berechnet werden). Dieses sogenannte Exponentialverhalten der Rechenzeit scheint auch durch raffiniertere Algorithmen nicht einzudämmen zu sein (höchstens in EinzeIfallen), denn das
Erfüllbarkeitsproblem für FormeIn der Aussagenlogik ist "NP-vollständig".
(Dieser Begriff kann hier nicht erläutert werden, dies ist Thema der Komplexi tätstheorie).
Übung 5: Man zeige: Eine Formel F der Bauart
-
ist erfüllbar, genau dann wenn die Menge M = {G1,. . , G k ] erfüIlbar ist.
Gilt dies auch für Formeln der Bauart
k
F=(~G,)?
1=1
Hierbei ist F offensichtlich etfüllbar, falls der Wahrheitwerteverlauf von F
(die Spalte unter F}mindestens eine 1enthält, und F ist eine Tautologie, fails
der Wahrheitswerteverlauf von F nur aus Einsen besteht.
BeispieI: Es sei F = (-A -+ { A + B)).
Es ist praktikabler, für jede in F vorkommende Teilforme1 den jeweiligen
Wahrheitswerteverlauf in einer Extra-Spalte zu ermitteln.
Ubung 6: Wie viele verschiedene Formeln mit den atomaren Formeln Al: A2,
. . . , An und verschiedenen Wahrheitswerteverlänfen gibt es ?
Übung 7: Man gebe eine dreielementige Formelmenge M an, so dass jede
zweielementige Teilmenge von M erfüllbar ist, M selbst jedoch nicht.
Übung 8: Ist folgende unendliche Formelrnenge M erfüllbar?
KAPITEL 1 . AUSSAGENLOGIK
22
Übung 9: Man konstruiere Wahrheitstafeln für jede der folgenden Formeln:
( ( AA B) A (-7BV C ) )
l ( 7 A Y l(7B V TA))
IA
* (B
C))
Übung 10: Man beweise oder gebe ein Gegenbeispiel:
1.2 Äquivalenz und Normalformen
Aus der Art und Weise, wie wir Formeln interpretieren, wissen wir, dass
(FA G) und (G A F) "dasselbe bedeuten" -obwohl sie syntaktisch gesehen
verschiedene Objekte sind. Diese semantische Gleichheit oder Äquivalenz erfassen wir mit folgender Definition.
(a} Falls (F-+ G) gültig ist und F gültig ist, so ist G gültig.
(b) Falls (F -+ G) erfüllbar ist und F erfüllbar ist, so ist G erfüllbar.
(C)
Falls (F + G) gültig ist und F erfüllbar ist, so ist G erfüllbar.
Definition
Zwei Formeln F und G heißen (semantisch) äquivalent, faIIs für alle Belegungen A, die sowohl für F als auch für G passend sind, gilt A(FJ= ACG).
Hierfür schreiben wir F Y G.
Übung 11:
(a) Jeder, der ein gutes Gehör hat, kann richtig singen.
Bemerkung: Auch Formeln mit verschiedenen Atomformeln können äquivalent sein (2.B. Tautologien).
(b) Niemand ist ein wahrhafter Musiker, wenn er nicht seine
Zuhörerschaft begeistern kann.
(C)
Niemand, der kein gutes G e h ~ hat,
r kann seine Zuhörerschaft begeistern.
(d) Niemand, außer einem wahrhaften Musiker, kann eine Sinfonie
schreiben.
Frage: Welche Eigenschaften muss jemand notwendigerweise besitzen, wenn
er eine Sinfonie geschrieben hat?
Formalisieren Sie diese Sachverhalte und verwenden Sie Wahrheitstafeln!
Übung 12: Sei (F t G) eine Tautologie, wobei F und G keine gemeinsamen
atomaren Formeln haben. Man zeige: dann ist entweder F unerfüllbar oder G
eine Tautologie oder beides.
Übung 13: (Craigscher Interpolationssatz)
Es gelte (F+ G) und es gibt mindestens eine atomare Formel, die sowohl
in F als auch in G vorkommt. Man beweise, dass es eine Formet H gibt,
die nur aus atomaren Formeln aufgebaut ist, die sowohl in F als auch in G
vorkommen, mit (F + H) und t= (H -+ G ) .
Hinweis: Induktion über die Anzahl der atomaren Formeln, die in F, aber
nicht in G vorkommen. Andere Möglichkeit: Konstruieren einer Wahrheitstafel für H anhand der Wahrheitstafeln von F und G.
+
Satz (Ersetzbarkeitstheorem)
Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens)
einem Vorkommen der Teilfomel F. Dann ist H äquivalent zu H', wobei H'
aus H hervorgeht, indem (irgend) ein Vorkommen von F in H durch G ersetzt
wird.
Beweis (durch Induktion über den Formelaufbau von H):
Induktionsanfung: Falls H eine atomare Formel ist, dann kann nur H = F
sein. Und damit ist Mar, dass H äquivaIent zu H' ist, denn H' = G.
Induiciionsschrirt: Falls F gerade H selbst ist, so tnfft dieselbe Argumentation
wie im Induktionsanfang zu. Sei also angenommen, F ist eine Teilformel von
H mit F # H. Dann müssen wir 3 Fälle unterscheiden.
Fall I : H hat die Bauart H = -Hl.
Nach Induktionsvoraussetzung ist H j äquivalent zu H:, wobei H ; aus Hl
durch Ersetzung von F durch G hervorgeht. Nun ist aber H' = TH:. Aus der
(semantischen) Definition von
folgt dann, dass H und H' qrtquivrtlent sind.
Fall 2: H hat die Bauart H = (Hl
V Hz).
Dann kommt F entweder in ]II oder H? vor. Nehmen wir den ersteren Fall an
(der zweite ist völlig analog). Dann ist nach Induktionsannahme Hl wieder
äquivalent zu H:, wobei H: aus HI durch Ersetzung von F durch G hervorgeht. Mit der Definition von "V" ist dann klar, dass H ( H ; V H 2 ) = H'.
Fall 3: H hat die Bauart H = ( H 1A Hz).
Diesen Fall beweist man völlig analog zu Fall 2.
"7"
=
1.2. Ä Q U I V R L E ~ UNDNORMALFORMEN
25
Übung 14: Es gelte F
G. Man zeige:
Wenn F' bzw. G' aus F bzw. G hervorgehen, indem alle Vorkommen von A
durch V und umgekehrt ersetzt werden, so gilt: F' G'.
Beispiel: Mittels obiger Äquivalenzen und des Ersetzbarkeitstheorems (ET)
können wir nachweisen, dass
Satz
Es gelten die folgenden Äquivalenzen
(FAF)
F
(F V F) = F
denn es gilt: ( ( AV (B V C)) A (C V TA))
(Assoziativität und ET)
G (((,4 V B ) V C)A (C V T A ) )
(Kommutativität und ET)
( ( CV ( A V B ) ) A (CV 4))
(Distributivitat)
(C V ((A V B) A T A ) )
(Kommutativität und ET)
(C V ( T A A { A V B ) )
(Distributivität und ET)
E (CV ((4
A A) V ( T AA B ) )
(Unerfüllbarkeitsrege?
und ET)
( C V (4A B))
E (CV (BA-Al)
(Kommutativität und ET)
(kmmutativität)
( ( BA 4)
V C)
(FAG)
(FvG)
=
(Idernpatenz)
(GAF)
(GvF)
(Kommutativität)
( ( AV ( B V C ) )A (C V Y A ) )E ((BATA) V C }
(Assoziativität)
(Absorption)
(FA(GvH)) r ((FAG)v(FAH))
(FvCGAH)) r ((FvG)A(FvH))
7lF
=
(Distri butivität}
F
-(FAG) r (YFvTG)
l ( F V G ) E FA-G)
( F V G)
(F A G)
5
F, falls F eine Tautologie
G, falls F erne Tautologie
( F V G)
( F I\ G)
=
G, falls F unerfüllbar
F, falls F unerfüllbar
Bemerkung: Das Assoziativgesetz im obigen Satz gibt uns die Rechtfertigung, etwas freier beim Aufschreiben von FormeIn vorzugehen. So soll etwa
die Schreibweise
F=AABACAD
eine beliebige Formel der folgenden Aufzählung bedeuten,
(Doppelnegation)
(dehlorgansche Regeln)
(Tautologieregeln)
[Unerfüllbarkeitsregeln)
Beweis: Alle Äquivalenzen können leicht mittels Wahrheitstafeln nachgeprüft
werden. Wir zeigen dies exemplarisch nur für die erste Absorptionsregel:
((WB1
,@,
D1
(W A ß) ( C A D ) )
(BAC))
(-4 A ((BA C)A D))
(AA(BWJ\D)))
ohne dass festgelegt sein 3011, welche. Da alle diese Formeln semantisch äquivalent sind, spieIt dies in vielen Fällen auch keine Rolle.
Übung 15: Man zeige, dass es zu jeder Formel F eine äquivalente Formel G
gibt, die nur die Operatoren 1und - + enthält.
Man zeige, dass es nicht zu jeder Formel F eine iiqurvalente Formel gibt, die
nur die Operatoren A, V und + enthält.
Übung 16: Man beweise die folgenden Verallgemeinerungen der deMorganschen Gesetze und der Distributivgesetze.
Da die erste und die vierte Spalte übereinstimmen, folgt
Eine Formel F ist in disjunktiver NormaEfom @W), falls sie eine Disjunktion von Konjunktionen von Literalen ist:
wobei Lid E {Al, 42,. . .]U {-A1,-7A2, . . -}
Übung 17: Man zeige sowohl durch Wahrheitstafeln als auch durch Anwendung obiger Urnfomungsregeln, dass ( ( AV l ( B A A ) ) h (C V (D V C)))
äquivalent ist zu (C V D).
Übung 18: Man formalisiere die folgenden beiden Aussagen, und zeige dann,
dass sie äquivalent sind:
(a) "Wenn das G n d fiebrig ist oder stark hustet und wir erreichen
den Arzt, so rufen wir ihn."
(b) "Wenn &s Kind fiebrig ist, so rufen wir den Arzt, falls wir ihn
erreichen, und, wenn wir de~iArzt erreichen, so werden wir ihn,
wenn das Kind stark hustet. rufen."
Satz
Fur jede Fonnel F gibt es eine Quivalente Formel in KNF und eine äquivalente Formel in DNF.
Beweis (durch Induktion über den Fomeiaiifbau von F):
Indukti~nsanfang:FalIs F eine atomare Formel ist, so ist nichts zu zeigen,
denn F liegt dann bereits in KNF und in DNF vor.
Induktionsschrits:Wir unterscheiden wieder 3 Fälle.
Fall I : F hat die Form F = -G
Dann gibt es nach Induktionsannahme zu G aquivalente Formeln GIin KNF
und Gq in DNF. Sei
n
m,
1=1
3=1
G1 = ( A ( V J;„)).
Mehrfaches Anwenden der deMorganschen Regel (auf -.G1
) liefert
Im folgenden zeigen wir, dass jede - auch noch so kompliziert aussehende Formel in eine gewisse Normalform überführt werden kann. Mehr noch, obige
Urnfomungsregeln sind dafür ausreichend.
und schlie0lich
Definition (Normalfomen)
Ein Litera! ist eine atomare Formel oder die Negation einer atomaren Formel. (Tmersten Fall sprechen wir von einem posiriven, im zweiten von einem
negativen Literal).
Eine Forme1 F ist in konjunktiver NomtaEfom (KNF), fails sie eine Konjunktion von Disjunktionen von Literalen ist:
n
F
E
nat
(V ( A l L i , j ) l T
i=l 3=1
woraus wir mittels des Doppelnegationsgesetzes erhalten:
wobei ¿,j =
Ak
falls LiJ = 7 A k
7Ak fallsLij=Ak.
Damit haben wir eine zu F äquivalente Formel in DNF erhalten. Analog
erhält man aus Gq eine zu F äquivalente Formel in KNF.
KAPITEL I . AUSSAGENLOGIK
28
Fall 2: F hat die Form F = (G Y H).
Nach der Induktionsannahme gibt es zu G und H jeweils äquivalente Formeln
in KNF und in DNF.
Um eine zu F äquivalente Formel in DNF zu erhalten, verknüpfen wir die
DNF-Formeln zu G und H mittels V. Mehrfaches Anwenden des Assoziativgesetzes liefert schließlich die gewünschte Linksklammerung.
Umeine zu F äquivalente KNF-Formel zu erhalten, wähle man zunächst nach
Induktionsannahme zu G und H äquivalente Formeln in KNF.
1.T.Ä Q U T V A L E ~UND N O R W O R M W
29
1. Ersetze in F jedes Vorkommen einer Tei lfomel der Bauart
1 1 G durch
G,
-$GA H) durch (1GV -.H) ,
T(G V H )
durch
(-3 A T H ) ,
bis keine derartige Teilformel mehr vorkommt.
2. Ersetze jedes Vorkommen einer Teilfomel der Bauart
( F V (GJ\ H ) ) durch
((FA G) V H) durch
( ( FV G ) A ( F V H ) ) ,
((FV H ) A (GV W)),
bis keine derartige Teilfom~elmehr vorkommt.
Hierbei sind die G, und H1 Disjunktionen von Literalen. Mittels (verallgemeinerter) Drstributivität (vgl. Übung 16) und Assoziativität erhalten wir dann:
Durch weitere Anwendung des Assoziativgesetzes erhält diese Formel die
gewünschte Bauart
n-k
F
(S\ F;)
a=1
wobei die F, Disjunktionen von LiteraIen sind. Evtl. vorkommende identische
Disjunktionen, oder identische Ljterale innerhalb einer Disjunktion können
nun mittels der I&mpotenzgesetze eliminiert werden.
Falls einige Disjunktionen Tautologien darstellen (2.B. CA,v~A,)),so können
diese noch mittels der Tautologieregel beseitigt werden. Damit erhalten wir
eine zu F kquivalence Formel in KNF.
Fall 3: F hat die Form F = (G A H).
Der Beweis verläuft sinngemäß zu Fall 2.
m
Im Induktionsbeweis des vongen Satzes verbirgt sich ein rekursiver Algonthmus zur Herstellung sowohl von KNF- wie auch DNF-Formeln. Eine etwas
direktere Urnformungsmethode zur Herstellung der KNF ist die folgende:
Gegeben: eine Formel F.
Die resultierende Formel ist nun in KNF (es kommen evtl. nwh übedlüsnge,
aber zulässige Disjunktionen vor, die Tautologien sind).
Eine weitere Methode zur Herstellung von KNF bzw. DNF bietet sich an,
sofern von der Formel F eine Wahrheitstafel vorliegt.
In diesem Fall kann eine DNF- oder KNF-Formel sozusagen direkt abgelesen
werden. Um eine zu F aquivalente DNF-Fomel zu erhalten, gehe man wie
folgt vor: Jede Zeile der Wahrheitstafel mit Wahrheitswert 1 tragt zu einem
Konjunktionsglied bei. Die Literale dieser Konjunktion bestimmen sich wie
folgt: Falls die Belegung von A, in der betreffenden Zeile 2 ist, so wird Ai als
Uteral eingesetzt, sonst -A,.
Um eine zu F aquivalente KNF-Formel zu erhalten, vertausche man in obiger
Anleitung die Rollen von 0 und 1, sowie von Konjunktion und Disjunktion.
Beispiel: Eine Formel F habe die Wahrheitstafel
KAPITEL 1 . AUSSAGENLOGIK
30
dann lesen wir folgende zu F äquivalente DNF-Formel ab
und folgende KNF-Formel
In dieser Situation wurde G eine Teilfomel folgender Art (umgeformt in
KNF) enthalten.
h * A ( A ~ { L 3 A C ) ) A + . n
Übung 19: Von der folgenden Fomel erzeuge man (mittels Umformung und
rnitteIs Wahrheitstafel) eine äquivalente DNF- und KNF-Formel
( ( T A+ B ) A ( ( A A -C)
+t
B)).
Man beachte, dass die DNF- oder W-Formeln, die mit obigen Methoden
erzeugt werden, nicht notwendigerweise die kürzestmöglichen sind. Dieses
Problem, möglichst kurze konjunktive oder disjunktive Normalformen einer
gegebenen Fomel herzustellen, ist vor altem für die Digitaltechnik interessant
und soll hier nicht behandelt werden.
Man beachte ferner, dass der Urnformungsprozess in eine KNF- oder DNFFomel diese exponentiell aufblahen kann. Aus einer Ausgangsfomel der
Länge n kann bei diesem Umforrnungsprozess eine Formel entstehen, deren
Länge in der Gr~ßenordnungvon 2" liegt. Der Grund liegt in der Anwendung
des Distributivgesetzes, welches die Formellänge in etwa verdoppelt. Eine
Fonnel mit kurzer DNF-DarsteIlung hat i.a. eine lange KNF-Darstellung und
umgekehrt.
Der Leser möge die Details vervollständigen.
1.3 Hornformeln
Einen in der Praxis wichtigen und haufig auftretenden Spezialfall stellen die
Hornfomeln dar (benannt nach dem Logiker Alfred Horn).
Definition (Hornfarmeln)
Eine Formel F ist eine Homfomel, falls F ~n KNF ist, und jedes Disjunktionsglied in F höchstens ein positives Litera1 enthält.
Beispiel: Eine Hornfomel ist:
F = ( A V T B )h (-CY T A v D ) A ( 1 . 4 ~ - B )A D A T B
Keine Hornfomel ist:
G = (-4V T B )A ( C V - r l V D).
Übung 20: Man zeige, dass es zu jeder Formel F eine (effizient konstntierbare) Femel G in KNF gibt, so dass jedes Konjunktionsglied von G höchstens
3 Literale enthält, und es gilt: F ist erfüllbar genau dann, wenn G erfüllbar
ist. (Es ist also nicht die Äquivalenz von F und G behauptet!). Ferner ist die
Länge von G linear in der Länge von F. (Es liegt hier aIso kein exponentielles
Aufblähen vor).
Hornformeln können anschaulicher als Konjunktionen von ImpIikationen geschrieben werden (prozedurale Deutung). Im obigen Beispiel ist
Hinweis: Die atomaren FormeIn von G bestehen aus denjenigen von E und
zusätzlichen atomaren Formeln, die jeweils den inneren Knoten des Stmkturbaums von F zugeordnet sind.
Hierbei steht 0 für eine beliebige unerfüllbare Fomel und 1 für eine beliebige
Tautologie. Man mache sich anhand von &ung 3 und der Definition von "+"
klar, dass die obige Formel tatsächlich äquivalent zu F ist.
F
(B+ A) A ( C A A
i
D)A ( A A B i
O ) A (1 i D ) A ( E
-+
0).
KAPITEL 1 . AUSSAGErnOGIK
32
Ein Gmndthema dieses Buches ist die Frage nach einem algorithmischen Test
fLir die Gültigkeit oder Erfullbarkei t einer gegebenen Formel. Es genügt, sich
auf Unerfüllbarkeitstesis zu beschränken, da eine Formel F giiltig ist genau
dann, wenn 1F unerfüllbar ist. (Um die Gültigkeit von F festzustellen, gebe
man einfach 1 F in einen Unerfüllbarkeitstest ein).
Die Erfüllbarkeit oder UnerfüIlbarkeit von aussagenlogischen Formeln likst
sich grundsätzlich immer, jedoch i.a. nur mit großem Aufwand, mittels Wahrheitstafeln durchführen.
Für Hornfomleln gibt es jedoch einen sehr effizienten Erfüllbarkeitstest, der
wie folgt arbeitet:
Eingabe: eine Homfomel F,
1. Versehe jedes Vorkommen einer atomaren Formel A in F mit einer
Markiening, falls es in F eine Teilformel der Form (1 -+ -4) gibt;
-
2. whik es gibt in F eine Teilformel G der Form (AI ri . A An t B)
oder (AI A . A -4, + 0 ) , n 2 1, wobei A l , . . . , An bereits
markiert sind (und B noch nicht markiert ist) do
if G hat die erste Form then
markiere jedes Vorkommen von B
else gib "unerfullbar" aus und stoppe;
--
+
3. Gib "erfidlbar" aus und stoppe. (Die erfullende Belegung wird hierbei
durch die Markierung gegeben: A(Ae) = I gdw. A, hat eine Markemngl.
Satz
Obiger Markierungsalgorithmus ist (für Hornfometn als Eingabe) korrekt
und stoppt immer nach spätestens n Markierungsschritten (n = Anzahl der
atomaren Formeln in F).
Beweis: Zunächst ist es klar,dass nicht mehr atomare Formeln markiert werden können als vorhanden sind, und deshalb nach spätestens n Markierungsschritten entweder die Ausgabe "erfiillbar" oder "unerfüllbar" erreicht wird.
Zur Korrektheit des Algorithmus' beobachten wir zunächst, dass für jedes
Modell A für die Eingabeformel F (sofern überhaupt ein Modell für F exIstiert) gilt, dass für die im Laufe des Verfahrens markierten atomaren Formeln
A, d ( A , ) = 1 gelten muss . Dies ist unmittelbar einleuchtend im Schritt I des
Algorithmus', da eine KNF-Formel nur dann den Wert 1 unter einer Belegung
A erhalten kann, wenn alle ~ i s j u n k t k n e nden Wert 1 unter A erhalten. Falls
eine Disjunktion, wie im Schritt 1, nur aus einem positiven Litera1 besteht, so
muss dieses notwendigerweise mit 1 belegt werden. Damit ergibt sich auch
die Notwendigkeit, Ern Schritt 2 alle atomaren Formeln B mit 1 zu belegen,
sofern (Al /\. . A A, -+ B) in F vorkommt, und A i , . . . , An bereits markiert
sind. Diese Uberlegung zeigt auch, dass im Schritt 2 korrekterweise "unerfüllbar" ausgegeben wird, sofern (Al A - . /\An t 0) vorkommt und Al, . .. , An
markiert sind.
Falls der Markierungsprozess in Schritt 2 erfolgreich zu Ende kommt, so liefert Schritt 3 korrekterweise die Ausgabe "erfüllbar" und die Markierung Iiefert ein entsprechendes Modell .d für F.
Dies sieht man wie folgt: Sei G ein beliebiges Disjunktionsglied in F. Falls G
eine atomare Formel ist, so wird bereits in Schritt 1 A(G) = 1 gesetzt. Falls
G die Form (Al A . A An + B) hat, so sind entweder alle atomaren Formeln
in G, insbesondere B, mit 1 belegt (wegen Schntt 2) und damit A(G) = 1,
oder für mindestens ein j mit 1 5 j 5 n giIt A(A,) = 0. Auch in diesem
Fall folgt A(G) = 1.Falls G die Form (Al A . . . A An + 0) hat, so muss
für mindestens ein J' mit 1 5 j 5 TI, gelten A(A,) = O (da in Schritt 2 nicht
"unerfüllbar" ausgegeben wurde), und damit folgt gleichfalls A(G) = 1. i
-
4
+
+
Man beachte, dass aus dem obigen Beweis hervorgeht, dass der Markierungsalgorithmus das kleinste Modell A für F konstniiert (falls existent).Das heißt,
dass für alle Modelle A' und alle atomaren Formeln B rn F gilt: A ( B )
d l ( B ) (Eherbei
.
ist die Ordnung O < 1vorausgesetzt).
l
ist, sofern sie keine
Weiterhin beobachten wir, dass jede H ~ r n f o m eerfüllbar
Teilforme1 der Bauart (Al h . . . A A , + 0) enthält. Es sind genau diese
Teilfomeln, die in Schritt 2 möglicherweise zu der Ausgabe "unerfüllbar"
führen. (Wir werden diese Klauseln später Zielklausekn nennen).
Gleichfalls ist jede Bornformel erfüllbar, sofern sie keine Teilfomel der Form
(1+ A) enthält. In diesem Fall würde die while-Schleife nicht betreten werden.
<
Übring 21: Man wende den Markierungsalgori thmus auf die Formel
an. (Man beachte, dass die Wahrheitstafel für diese Formel 2%
hat!)
64 Zeilen
ijbung 22: Man gebe eine Formel an, zu der es keim gqiquivalenteHornfomel
gibt und begninde, warum dies so ist.
34
KAPITEL I . AUSSAGENLOGIK
Übung 23: Angenommen, uns stehen d ~ Apparaturen
e
znr Verfügung, um die
folgenden chemischen Reaktionen durchzuführen:
Ferner sind in unserem Labor folgende Grundstoffevorhanden: MgO, Hz,Oa
und C. Man beweise (durch geeignete Anwendung des Hornformel-Algorithmus),dass es unter diesen Voraussetzungen moglich ist, &Co3herzustellen!
Modell A für M konstruieren wir nun stufenweise wie folgt: Wir starten mit
d = $ und erweitern den Definitionsbereich von A in der n-ten Stufe um An.
Hierbei verwenden wir die hier einfacher zu handhabende Mengennotation
für Funktionen, und schreiben 2.B. (Am 1) E A anstelle von A(A,) = 1.
In der Konstruktion kommt ferner eine Indexmenge I vor, die in jeder Stufe verändert wird. Die Konstruktion durchläuft nun die Stufen 0,1,2,3,. . . und
am "Ende" ist A vollständig definiert. Um z.B. festzustellen, ob d(A,) = 0
oder A(A,) = 1, muss man die Stufen O,l,. .. ,n nachvollziehen. Es folgt die
Konstmktion.
Stufe 0:
1.4
Endlichkeitssatz
Wir werden in diesem Abschnitt einen wichtigen Satz beweisen, dessen Bedeutsamkeit vielleicht im Moment noch nicht einleuchten wird. Ern zweiten
Kapitel wird dieser Satz jedoch eine wichtige Rolle spielen.
Satz (Endlichkeitssatz, compactness theorem)
Eine Menge M von Formeln ist erfüllbar genau dann, wenn jede der endlichen
Teilmengen von M erfüllbar ist.
Beweis: Jedes Modell für M ist trivialesweise auch ein Modell für jede beliebige Teilmenge von M, insbesondere auch für jede endliche. Die Richtung
von links nach rechts ist also klar.
Sei also umgekehrt angenommen, dass jede endliche TeiImenge von M erfüllbar ist, also ein Modell besitzt. Unsere Aufgabe besteht nun darin, aus dieser
Vielzahl von Modellen für die endlichen Teilmengen ein einziges Modell für
M zu konstruieren. Für jedes n 1 sei M, die Menge der Formeln in M, die
nur die atomaren Formeln A l , . .. , An enthalten. Obwohl M, im Allgemeinen eine unendliche Menge sein kann, gibt es höchstens k 5 22n verschiedene Formeln Fl, . . . , Fk in M„ die paarweise zueinander nicht äquivalent
sind, denn es gibt genau 22n verschiedene Wahrheitstafeln mit den atomaren
Formeln A l , . . . , An.
Mit anderen Worten, für jede Formel F E M, gibt es ein i 5 k mit F = F%.
Jedes Modell fdr (fi, . . . , F k ) ist somit auch Modell für M,. Nach Voraussetzung besitzt { F l , . . . , Fk} ein Modell, denn diese Menge ist endlich. Wir
nennen dieses Modell &. Wir bemerken ferner, dass An gleichfalls Modell
für MI, Mz, . . . , M,-1 ist, denn MI C . . - M,-, C M,. Das gesuchte
>
Stufe n > 0:
if es gibt unendlich viele Indizes i E I
mit A;(A,) = 1 then
begin
d := A U {(A„ I)};
I := I - {i 1 &(An) # I}
end
else
begin
d := A U {(Am 0));
I := I
end.
-
{?1 &(An) # (I}
Da in jeder Stufe n die Belegung A entweder um (Am0) oder (An: 1) (aber
nie beides) erweitert wird, ist A eine wohldefinierte Funktion mit Definitionsbereich {.4,, A2,AB,. . .} und Wertebereich (0,l).
Wir zeigen nun, dass A ein Modell für M ist. Sei also F eine beliebige Formel
in M. In F können nur endlich viele atomare Formeln vorkommen, sagen wir
bis zum Index I , also A l , A Z ,. . . , Ai. Das heißt also, F ist Element von MI C
MI+, . . - und jede der Belegungen AI,A M I , . . ist Modell für F. Die
Konstruktion von A ist nun so angelegt, dass in jeder Stufe die Indexmenge
I zwar "ausgedfinnt" wird, dass aber I nie endlich werden kann. Das heißt,
auch nach Stufe L verbleiben unendlich viele Indizes i in I, natürlich auch
solche mit i 2 I. Für all diese i gilt: A,(Ai)= A(ill), - . . :A,(PII)= A(Al),
m
und deshalb ist A Modell für F.
36
KAPITEL 1 . AUSSAGENLOGIK
Man beachte eine Besonderheit im obigen Beweis: er ist nicht-konstruktiv.
Die Existenz des Modells A wird durch den Beweis zwar gezeigt, aber die
if-Bedingung in der "Konstruktion" ist nicht algofithmisch in endlicher Zeit
nachprüfbar. Das heißt, es gibt keinen Algorithmus, der A tatsächlich effektiv
konsmiiert. Es ist lediglich eine gedankliche Konstruktion: entweder ist die
if-Bedingung erfüllt oder ihr Gegenteil, und dementsprechend soll die "Konstruktion" fortfahren; "programmieren" können wir dies allerdings nicht.
Auf andere Weise formuliest besagt der EndIichkeltssatz, dass eine (evtl. unendliche) Fomelmenge M unefilibar ist genau dann, wenn bereits eine endliche Teilmenge M' von M unerfüllbar ist. In dieser Form werden wir den
Endlichkeitssatz später anwenden (Kapitel 2.4).
Diese Anwendung des Endlichkeitssatzes geschieht in folgendem Zusammenhang: Nehmen wir an, die Formelmenge M kann durch einen algorithmischen
Prozess aufgezählt werden (m.a.W., M ist rekursiv aufz'zrihlbar):
Dann kann die Unerfüllbarkeit von M so getestet werden, dass immer größere
endliche Anfangsabschnitte von M erzeugt werden und auf Unerfüllbarkeit
getestet werden. Aufgmnd des Endlichkeitssatzes ist M unerfüllbar genau
dann, wenn dieser so beschriebene Algorithmus irgendwann Erfolg hat.
Man beachte, dass ein ähnlicher Test für die Erfii'llbarkeit nicht unbedingt
existieren muss (und im Allgemeinen tatsächlich nicht existiert).
Übung 24: Sei M eine unendliche Formelmenge, so dass jede endliche Teilmenge von M erfüllbar ist. In keiner Formel F E M komme die atomare
Formel A723 vor, und daher sei angenommen, dass keines der Modelle & in
der Konstruktion des Endlichkejtssatzes auf A723definiert ist. Man gebe an,
welchen Wert ATZ3dann unter der imEndlichkeitssatz konstruierten Belegung
A erhält.
Übung 25: Man beweise (unter Verwendung des Endlichkeitssatzes), dass
M = { F17F*,F3,. . .} erfülIbar ist genau dann, wenn für unendlich viele n,
F,) erfülIbar ist.
Übung 26: Eine Formelmenge Mo heißt ein Axiornensystem für eine Formelmenge M, falls
{AlA ist Modell für Mo} = {AlA ist Modell für M).
M heißt endlich axiomatisierbar, fdls es ein eridliches Axiomensystem für M
gibt. Es sei { F ! ,.FJ7
F3,. . .} ein Axiomensystem für eine gewisse Menge M,
2.5. RESOLUTION
wobei für n = 1,2,3,. . . gilt:
(Fwi+ F,) und
zeige: M ist nicht endlich axiomatisierbar.
37
F (F, +
Man
obmg 27: Sei L eine beliebige unendliche Menge von natürlichen Zahlen,
dargestellt als Binärzahlen. (Zum Beispiel die Primzahlen: L = {10, 11, 101,
I11, 10L1, . . .}). Man beweise, dass es eine unendIiche Folge W , wz7w3,. . .
von paarweise verschiedenen Binärzahlen gibt, so dass ru, Anfangsstück von
w , + ~und von mindestens einem Element aus L ist (i = 1T 2 , 3 , . . .) .
1.5 Resolution
Die Resolution ist eine einfach anzuwendende syntaktische Umformungsregel. Hierbei wird in einem Schritt aus zwei Formeln, sofern sie die Voraussetzungen für die Anwendungen der Resolutionsregel erfüllen, eine dritte
Formel generiert, die dann als Eingabe in weitere Resolutionsschntte dienen
kann, usw.
Eine Kollektion solcher rein "mechanisch" anzuwendender syntaktischer
Umfomungsregeln nennen wir einen Kulkül. Kalkule bieten sich wegen ihrer
einfachen mechanistischen Arbeitsweise direkt für die algorithmische Tmplementiemng per Computer an. Im Falle des Resolutionskalkiils gibt es sogar
nur eine einzige Umformungsregel, die wir weiter unten beschreiben werden.
Die Definition eines Kalküls hat nur dann einen Sinn, wenn man dessen Korrektheit und Irollstir'ndigkeit (in Bezug auf die betrachtete Aufgabenstellung)
nachweisen kann.
Die zupndeliegende Aufgabenstellung soll hier darin liegen, die [email protected] einer gegebenen Fomelmenge nachzuwe~sen.Korrektheit bedeutet
dann, dass keine erfüllbare Formelmenge durch den Kalkül als vermeintlich
werfüllbar nachgewiesen werden kann, und VoIlstSndigkeit bedeutet umgekehrt, dass jede unerfüllbare Pomelmenge durch den Kalkül als solche nachgewf esen werden kann.
Wie schon enviihnt, können wir uns auf Unerfüllbarkeitstests beschränken,
denn viele andere Aufgabenstellungen können auf einen Unerfüllbarkeitstest
zurückgeführt werden: Um z.B. zu testen, ob eine Formel F eine Tautologie
ist, genügt es T F auf Unerfüllbarkeit zu testen. Eine noch häufiger vorkommende Fragestellung ist: Folgt die Formel G aus einer gegebenen Formelmenge {Fl,F2,.
. .,Fk)?Wir wissen, dass dies gleichwertig ist O u n g 3) mit der
Frage, ob Fl A F2 r\ . . - A FkA 1G unerfüllbar ist, und damit haben wir obige
Frage wieder auf einen Unerfüllbarkeitstest zurückgeführt.
KAPITEL I . A USSAGENCOGlK
38
Voraussetzung für die Anwendung der Resolution ist, dass die Formel (oder
Formelmenge) in KNF vorliegt, d.h. dje Formel muss gegebenenfalls erst in
KNF umgeformt werden (vgl. hierzu auch Ubung 20). Sei also
-
-
wobei die L„ Literale sind, also L,, E {AI, A2, . U {T&, l A Z , . .).
Für die Anwendung der Resolution ist es vorteilhaft, Formeln in KNF als
Mengen von sog. Klauseln darzustellen:
+)
Jedes Element von F, welches wiederum eine Menge ist, heißt Klausel. Die
Klauseln (deren Elemente die Literaie sind) entsprechen nun also den Disjunktionsgliedern.
Da die Elemente einer Menge keine Rangordnung haben, und mehrfach auftretende Elemente zu einem einzigen Element verschmelzen, sind Vereinfachungen, die sich durch Assoziativität, Kornmntativität oder Idernpotenz ergeben, sozusagen "automatisch" bereitgesteiit durch die Mengennotation.
Die folgenden, äquivalenten KNF-Formeln besitzen alle dieselbe Mengendarstellung, nämlich {{A3),{Al, lA2}}:
1.5. RESOLUTION
Hierbei ist
definiert als
falls L = Ai ,
Ai falls L = 7-4,
i,4,
Wir stellen diesen Sachverhalt durch folgendes Diagramm dar (Sprechweise:
R wird aus K,, K2 nach L resolviert).
Wir vereinbaren ferner, dass die leere Menge, die ebenfalls als Resolvent auftreten kann (falls K1 = ( L ) und K2 = {¿} für ein Litera1 L) mit dem speziellen Symbol bezeichnet wird. Dieses Symbol wird verwendet, um eine
unerfüIlbare Formel zu bezeichnen. Eine Klauselmenge, die 17 als Element
enthält, wird somit (per Definition) als unedüllbar erklärt.
Es folgen einige Beispiele für Resolutionen.
(A3,
T A ,A i )
V
4 1
l A ~ )
-417
(443
A
(A3 A
(742
V
Ai))
((742 V 4 2 ) V
Ai))
USW.
Wir werden im Folgenden die einer KNF-Formel F zugeordnete Klauselmenge auch mit F bezeichnen, um die Notation einfach zu halten. Der Zusammenhang zwischen Formeln und Mengen ist natürlich keine eindeutige
Abbildung. Umgekehrt werden wir such Klauselmengen wie FormeIn behandeln, und z.B. Begriffe wie Äquivalenz oder Erftil lbarkeit auf Klauselmengen
anwenden.
Definition
Seien K l , K2 und R Klauseln. Dann heißt R Resolvent von KI und I<2, falls
es ein Litera1 L gibt mit L E K Lund ¿ E li2und R die Form hat:
= (I(, - { L } )U (&
-
{L}).
Übung 28: Man gebe samtliche Resolventen an, die aus den KlauscIn der
Klauselmenge
gewonnen werden können.
Übung 29: Kann bei der Resolution zweier Hornformeln eine Formel entstehen, die keine Hornfomel ist?
Resolutions-Lemma
Sei F eine Formel in KNF, dargestellt als Klauselrnenge. Ferner sei R ein
Resolvent zweier Klauseln K I und I{2 in F. Dann sind F und F U ( R }äquivalent.
Beweis: Sei A eine zu F (und damit auch zu F U (R}) passende Belegung.
Falls A F U {R}, dann gilt natürlich (erst recht) A F .
Sei also umgekehrt angenommen, dass A
F, d.h. also fiir alle Klauseln
K E F gilt A
K. Der Resolvent R habe die Form R = (K1- { L ) ) U
( K 2- {L})mit K 1 ,K2 E F und L E K I ,E~K2.
Fall 1:
L.
Dann folgt wegen A
& und A E, dass A (K2 - {I)),
und damit
+
A
R.
Fall 2: A L.
Dann folgt wegen A
K,, dass A
( K , - {L)) und damit A
+ R.
Res(Fj = F U {R ( R ist Resolvent zweier Klauseln in F)
Außerdem setzen wir:
R~s'(F) = F
( F ) = Res(Resn(F))für n 2 0
und schließlich sei
{{Al ~
Wir kommen nun zum Beweis der Korrektheit und der Vollständigkeit des
Resolutionskalktils (in Bezug auf die Frage, ob eine gegebene Formel umetfiillbar ist). Man spricht deshalb auch von Widerlegungsvolls~ündigkeit.
Resolutionssatz (der Aussagenlogik)
Eine Klauselmenge F ist unerfüllbar genau dann, wenn
E Res * ( F ) .
Beweis: (Korrektheit) Sei angenommen, E Res*(F).Die teere Klausel U
kann nur durch Resolution zweier Klauseln K1 und K2 mit Kl = {L) und
Kz = {L}entstanden sein. Aus dem Resolutionslernma folgt, dass
Da O in Res*(F)enthalten ist, ist für ein n 2 0, U E Resn(F), und damit
auch K1, K2E Resn(F).Da es kein Modell gibt, das sowohl K1 ah auch &
erfüllt, ist Res" (F)unerfüllbar. Und da Resn (F) F, ist F unerfüllbar.
(Vollständigkeit) Angenommen, F ist unerfüllbar. Sollte F eine unendliche
Formelmenge sein, so können wir uns im Folgenden a u f g m d des Endlichkeitssatzes auf eine endliche unerfüllbare Teilmenge von F beschränken. Wir
zeigen nun, dass D E Res*(F)durch Induktion über die Anzahl n der in F
(bzw. dieser endlichen Teilmenge von F}vorkommenden atomaren Formeln.
=
Indikktionsaafang: FaIls n = 0, so kann nur F = {U} sein, und somit ist
OE F
Res*(F).
Übung 30: Man bestimme für folgende Klauselmenge F die Mengen
Resn(F),wobei n = 0,1,2.
=
Übung 32: Sei F eine Klauselmenge mit rn Klauseln, in der höchstens die
atomaren Formeln A I , A2, . . . I An vorkommen. Wie groB ist I Res*(F)I maximal ?
i
Definition
Sei F eine Klauselmenge. Dann ist Res(F) definiert als
F
Wovon hängt k ab?
Cl, { B 161,{ T A ,C), { B 1-C11
ß ,
{lC}}
Übung 31: Man beweise, dass es fürjede endliche Klauselmenge F ein k 2 0
gibt mit
R ~ s ~ (=F ~) e s ' " + ' ( F=) . . . = ResS(F).
Induktionssichritt: Sei n beliebig, aber fest. Es sei angenommen, dass für jede
unerfiillbare Klauselmenge G, die nur die atomaren FormeIn AI, Az, . . ., -4,
enthält, gilt U E Res*(Gj. Sei nun F eine Klauselmenge mit den atomaren
Wir erhalten aus F zwei neue Klauselmengen F. und
Formeln A l , . . . ;
F, wie folgt.
F. entsteht aus F , indem jedes Vorkommen von A,+1 in einer Klausel gestrichen wird, und bei Vorkommen von
in einer Klause? die gesamte
Klausel gestrichen wird. (Fo entsteht also aus F, indem die Beltgung von
AWI mit 0 fixiert wird.)
Fl wird analog definiert, nur mit den Rollen von Anti und 1 A N 1 vertauscht.
Wir zeigen nun, dass F0 und Fl unerfüllbar sein müssen. Angenommen, es
gibt eine Belegung A : { A l , . . . :An) -+ 10.11, die F0 esfüllt, dann ist aber
A' Modell für F, wobei
A{B) falls B E { A b . . . , A n }
falls B = Ael.
Dies steht im Widerspruch zur Unerfüllbarkeitvon F. Analog zeigt man,dass
Fl unerfüllbar ist.
Somit ist auf Fo und auf F1 die Induktionsvoraussetzung anwendbar, und es
gilt somit U E Res*(F,)
und E Resa(F1).Dies heißt insbesondere, dass es
Klauseln K1,Ih,.. . , Kmgeben muss mit:
Km = 0,
undfüri = L, ..., mgilt:
K iE F. oder Ki ist Resolvent zweier KlauseIn Km Kbmit U , b <
i.
Analog muss eine solche Folge Ki, K;, . . . , Kl für Fl existieren.
Einige der Klauseln K, entstanden aus Klauseln in F, wobei das Vorkommen
des Literals A,+l gestrichen wurde. Indem wir nun &e ursprünglichen Klauseln K, U {A„1} wiederherstellen, und An+? bei den Resolutionsschritten
mitführen, entsteht aus obiger Folge K l , K 2 : .. . , Kmeine neue Folge, die bezeugt, dass {A„I} E Res*(F).(Oder es gilt nach wie vor U E Res*(F)- in
diesem Fall ist nichts mehr zu zeigen.)
Analog erhalten wir durch Wiedereinfugen von 1 A w 1 in die Folge I{;, K:,
- . . ,K;, dass { ~ A „ I )E ResS(F).Durch einen weiteren Resolutionsschritt
erhalten wir
und somit folgt
E Resm(F).
U
Aus dem Resolutionssatz leitet sich folgender Algoriihmus ab, der von einer Formel in KNF entscheidet, ob sie erfüllbar ist oder nicht (vgl. hierzu
Übung 3 1).
Eingabe: eine Fomel F in KNF
Bilde aus F eine Klauselmenge (die wir ebenfalls mit
F bezeichnen);
repeat
G := F ;
F := Res(F);
vntil (O E F) or ( F = G ) ;
if U f F then "F ist unerfüllbar"
else "F ist erfüllbar";
Dieser Algorithmus kann in manchen Fallen sehr schnell zu einer Entscheidung führen, in anderen müssen erst (exponentiell) viele Klauseln erzeugt
werden, bis die until-Bedingung erfiillt ist.
Wir wollen im Folgenden unterscheiden zwischen den Klauseln, die der Algorithmus erzeugt, und denjen~genKlauseIn hiervon, die für die Resolution von
wirklich von Belang sind (dies könnten wesentlich weniger Klauseln sein}.
Wir haben die folgende Definition im Beweis des Resolutionssatzes implizit
schon verwendet.
Definition
Eine Deduktion (oder Herleitung oder Beweis) der leeren Klausel aus einer
Klauselmenge F ist eine Folge K 1 ,Kz, . . . ,Km von Klauseln mit folgenden
Eigenschaften:
Km ist die leere Klausel und für jedes i = 1, . . . , ni gilt, dass Ki
entweder Element von F ist oder aus gewissen Klauseln KmKb
mit a, b < i resolviert werden kann.
Es ist aus dem bisher Gesagten nun klar, dass eine KFauselmenge unerfüllbar
ist genau dann, wenn eine Deduktion der leeren Klausel aus F exrstiert. Um
zu beweisen, dass eine Mauselmenge F unerfüllbar ist, genagt es also, eine
Deduktion der leeren Klausel aus F anzugeben, es müssen nicht alle Klauseln
aus Res*{F)aufgeschrieben werden.
Beispiel: Es sei F = { { A ,B , T C ) ,( T A } ,{ A ,B, C), { A , 133).F ist unerfullbar, denn eine mögliche Deduktion der leeren Klausel aus F ist die Folge K l , . . . ,I& mit
KAPITEL 1. AUSSAGENLOGrK
K1 = ( A , B ,-C)
K2 = { A , B , C )
K3 =
K4 = { A , l B }
&
=
{Al
K6 = { T A )
K7 =
(Klausel aus F)
(Klausel aus F)
(Resolvent von K 1 ,K2)
(Klausel aus F )
(Resolveni von G,
K4)
[Klausel aus F)
(Resolvent von K5,
K6)
Diese Situation kann durch einen Resolutionsgraphe~tpenveranschaulicht werden.
1.5. RESOLUTION
45
Da bei solchen Resolutionen immer nur kürzere Klauseln entstehen können,
lässt sich aus diesem Kalkul ein effizienter Algorithmus für die Klasse der
Hornfomeln ableiten - ähnlich effizient wie der Markieningsalgorithmus aus
Kapitel 1.3.
Hinweis: Man zeige, dass der Ablauf des Markierungsalgorithmus' für Hornformeln in gewisser Weise nachvollzogen werden kann durch Anwendung
entsprechender Einheitsresotutionen. (Auf eine andere Weise wird diese
Ubung in Kapitel 2.6 gelöst).
hjbung 36: Sei F eine Klauselmenge mit den atomaren Formeln
A l , .. . ,Am wobel für jede Klausel K E F gilt ( K ( 5 2. Wie groß ist
Res*(F)höchstens? (Für diese Klasse von Klauselmengen oder Formeln, sog.
Kromfomeln, liefert der Resolutionskalkül also wiedemm einen effizienten
Algorithmus).
Übung 37: Man entwickle eine effizientere Implementierung des Resolutionsalgonthmus', die auf folgender Datenstruktur betuht: Die Klauseln
Solche Resolutionsgraphen miissen nicht unbedingt Bäume sein, sofern Klauseln vorkommen, die in mehreren Resolutionsschritten verwendet werden.
werden 2.B. durch folgenden Klauselgraphen dargestellt,
Übung 33: Man zeige mittels der Resolutionsmethode, dass A A B h C eine
Folgerung aus der Klauselmenge
ist.
Übung 34: Man zeige mit der Resolutionsmethode, dass
eine Tautologie ist.
Übung 35: Man zeige, dass folgende Einschränkung des Resolutionskalküls
vollständig ist für die Klasse der Hornformeln (für beliebige KNF-Formeln
jedoch nicht):
Es darf nur dann ein Resolvent der Klauseln K1,Kz gebildet werden, sofern
1K I / = 1 oder IKz[= 1, also falls mindestens eine der beiden Klauseln nur
aus einen einzigen Li teral besteht (sog. Einheitsresolution).
wobei jede Kante ein Paar von komplementären Literalen (und damit einen
möglichen Resolventen) signalisiert. Jede Kante kann somit Anlass zu einem
Resolutionsschritt geben. Nach Erzeugen eines Resolventen brauchen dann
nur die zu den Elternklauseln fihrenden Kanten iibernommen werden. Ferner
iiberlege man sich, dass unter bestimmten, lokal überpmfbaren Bedingungen
ganze Klauseln aus dem Graphen entfernt werden können. (Es kann 2.B. dre
erste Klausel entfernt werden). Außerdem können unter gewissen Bedingungen Kanten aus dem Graphen entfernt werden, d.h. die zugehorigen Resol-
46
KA PTTEL 1 . AUSSAGENLOGIK
1.5. RESOLUTION
47
venten brauchen nicht betrachtet werden. (Dies ist für die beiden Kanten zwischen der zweiten und dritten Klausel der Fall).
echte Teilmenge von G ist erfüllbar), dann benötigt jede Resolutionsherleitung der leeren Klausel aus F mindestens [GI - 1 Resolutionsschritte.
mung 38: Gegeben sei folgender Resoluiionsgraph, wobei K1, 16,. . . , K7
Homklauseln sind.
Bemerkung: Obwohl, wie wir gesehen haben, der Resolutionskalkül in vielen Spezialfallen direkt zu einem effizienten algorithmischen Unerfüllbarkeitskst führt, muss dies nicht fürjede Formel so sein. Man kann unerfüllbare
Formeln bzw. Klauselmengen angeben, wo jede Deduktion der leeren Klausel
exponentiell viele Klauseln enthält. Das heißt, für diese Klauseln Ist der Aufwand für den UnerfGllbarkeitstest per Resolutionskalkul mit dem der Wahrheitstafelmethode vergleichbar. Wegen der "NP-Vollständigkeit" des Erfullbarkeitsproblems scheint hier auch keine prinzipielle Verbesserung möglich
zu sein.
Man beachte ferner die folgende interessante Besonderheit: Man kann sowohl
die Erfüllbarkeit als auch die Unerfiiilbarkeit einer Formel F durch eine &istenmussuge ausdrücken: F ist (per Definition) erfüllbar, falls eine erfüllende Belegung existieaiert, und F ist unerfüllbar, falls eine Deduktion der leeren
Klausel existiert. Eine "Asymmetrie" in dieser an sich symmetrisch aussehenden Situation besteht jedoch darin, dass das Aufschreiben einer Deduktion
evtl. mit wesentlich (d.h. exponentiell) mehr Aufwand verbunden sein kann
als das Aufschreiben einer Belegung. (Diese Asymmetie hängt eng mit dem
sog. N P =? CO-NPProblem zusamen.)
Man zeige, dass dieser Resolutionsbaum "linearisiert" werden kann, und die
Klausel K7auch auf folgende Ari aus Ki, K2,
K3,K4 resolviert werden kann,
wobei {il, 22, i3, i d ) = { 1,2 , 3 , 4 ) und K', K" geeignete Klauseln sind.
Übung 39: Eine Klause! heißt positiv [negativ),falls sie nur positive (negative) Literale enthält. Man zeige, dass jede Klauselmenge erfüllbar ist, wenn
sie keine positive Klausel enthält. (Dasselbe gilt für eine Klauselmenge, die
keine negative Klausel enthalt).
Übung 40: Man zeige, dass folgende Einschränkung des Resolutionskalküls
bereits volIständig ist: Es darf nur dann ein Resolvent aus den Klauseln K 1
und K2gebildet werden, sofern eine der beiden Klauseln positiv ist.
Hinweis: Diese Übung wird in Kapitel 2.6 gelöst.
Übung 41: Man zeige: Wenn F eine unerfüllbare Klauselrnenge ist und G
eine minimal unerfüllbare Tetlmenge von F (d.h. G ist unerfüllbar, aber jede
Kapitel 2
Prädikatenlogik
2.1 Grundbegriffe
Die Prädikatenlogik ist eine m e i t e r u n g der Aussagenlogik. Was hinzu
kommt sind Quantoren, Funktions- und Frädikatsymbole. Durch diese neuen
Konzepte sind nun Sachverhalte beschreibbar, die im Rahmen der Aussagenlogik nicht formuliert werden konnten. Zn der Aussagenlogik war es z.B. nicht
möglich auszudrücken, dass gewisse "Objekte" in gewissen Beziehungen stehen; dass eine Eigenschaftfiir alle Objekte gilt, oder dass ein Objekt mit einer
gewissen Eigenschaft existiert. Ein bekanntes BeispieI aus der Analysis:
Für alle E > 0 glbt es ein no, so dass für alle n. 2 no gilt, dass
abs(f (n) - a) < E .
Die wesentlichen Bestandteile hier sind die sprachlichen Konstmkte "für alle"
und "es gibt", sowie die Verwendung von Funktionen (abs, f , -) und Relationen (>, >, <).
Wir beginnen wieder wie in der Aussagenlogik damit, dass wir den syntaktischen Sprachrahmen abstecken, in dem wir uns in der Prädikatenlogik bewegen wollen. Der Definition von (prädikatenlogischen) Formel~tmuss noch die
Definition von Ternen vorangestellt werden, da sie Bestandteile der Formeln
sind.
Definition (Syntax der Prädikatenlogik)
Eine lrariable hat die Form X, mit i = 1,2,3, . . .. Ein Prudikatsyrnbol hat
die Form P
: und ein Funktionssymbol hat die Form mit z = 1 , 2 , 3 . .. .
und k = 0, f ,2, . . .. Hierbei heißt i jeweils der U n t ~ r s c h e i d i und
n k
die S~eilenzahl(oder Steiligkeit}. Wrr definieren nun die Terme durch einen
f!