+ All Categories
Home > Documents > Unterlagen zur Vorlesung - ki.informatik.uni-frankfurt.de · [BS94] Franz Baader and J¨org H....

Unterlagen zur Vorlesung - ki.informatik.uni-frankfurt.de · [BS94] Franz Baader and J¨org H....

Date post: 31-Aug-2019
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
227
Unterlagen zur Vorlesung Deduktionssysteme: Grundlagen und Anwendungen Sommersemester 2004 Professor Dr. Manfred Schmidt-Schauß Fachbereich Informatik J.W.Goethe-Universit¨ at Frankfurt 1
Transcript

Unterlagen zur Vorlesung

Deduktionssysteme:Grundlagen undAnwendungen

Sommersemester 2004

Professor Dr. Manfred Schmidt-SchaußFachbereich Informatik

J.W.Goethe-Universitat Frankfurt

1

Inhaltsverzeichnis

1 Einfuhrung und Uberblick: Grundlagen und Anwendungen vonAutomatischen Deduktionssystemen 51.1 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Vorbemerkung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3 Teilgebiete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3.1 Beweiserbau . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.2 Gleichheitsbehandlung . . . . . . . . . . . . . . . . . . . . 91.3.3 Termersetzungssysteme . . . . . . . . . . . . . . . . . . . 91.3.4 Unifikation . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.5 Nichtmonotone Logiken . . . . . . . . . . . . . . . . . . . 101.3.6 Logische Methoden wissensbasierter Systeme . . . . . . . 101.3.7 Modallogik . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3.8 Deduktive Programmsynthese . . . . . . . . . . . . . . . . 101.3.9 Logisches Programmieren . . . . . . . . . . . . . . . . . . 101.3.10 Anwendungen Automatischer Deduktionssysteme . . . . . 101.3.11 Wichtigste Methoden . . . . . . . . . . . . . . . . . . . . 11

1.4 Einige computergefuhrte Beweise . . . . . . . . . . . . . . . . . . 111.5 Das Problem der Robbins Algebren . . . . . . . . . . . . . . . . . 121.6 Methodenwahl: menschliche oder maschinelle? . . . . . . . . . . . 141.7 Einfuhrende Beispiele . . . . . . . . . . . . . . . . . . . . . . . . 141.8 Motivationsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . 15

2 Aussagenlogik (propositional calculus) 172.1 Folgerungsbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2 Tautologien und einige einfache Verfahren . . . . . . . . . . . . . 212.3 Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.4 Schnelle CNF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.5 Resolution fur Aussagenlogik . . . . . . . . . . . . . . . . . . . . 272.6 Davis-Putnam-Verfahren . . . . . . . . . . . . . . . . . . . . . . . 302.7 Tableaukalkul fur Aussagenlogik . . . . . . . . . . . . . . . . . . 36

2.7.1 Tableau-Kalkul fur Aussagenlogik . . . . . . . . . . . . . 372.8 Eintscheidungsprozeduren fur quantifizierte Boolesche Formeln . 45

2.8.1 Formeln in Klauselform . . . . . . . . . . . . . . . . . . . 462.8.2 Optimierungen: . . . . . . . . . . . . . . . . . . . . . . . . 48

2.9 Internet Referenzen . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3 Uberblick uber den Aufbau und Funktionsweise eines Automa-tischen Deduktionssystems am Beispiel eines Resolutionsbewei-sers 49

3.0.1 Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.0.2 Kalkul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.0.3 Logische Zustandsubergangssysteme . . . . . . . . . . . . 543.0.4 Steuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.0.5 Verwendung, Dialogverhalten . . . . . . . . . . . . . . . . 56

2

4 Pradikatenlogik (PL1) und Resolution 584.1 Syntax der Pradikatenlogik erster Stufe . . . . . . . . . . . . . . 584.2 Semantik von PL1 (nach Tarski) . . . . . . . . . . . . . . . . . . 62

4.2.1 Berechenbarkeitseigenschaften der Pradikatenlogik . . . . 704.3 Normalformen von PL1-Formeln . . . . . . . . . . . . . . . . . . 71

5 Resolution und Unifikation 765.1 Grundresolution: Resolution ohne Unifikation . . . . . . . . . . . 76

5.1.1 Resolution im allgemeinen Fall . . . . . . . . . . . . . . . 775.2 Unifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.3 Komplexitat des Unifikationsalgorithmus . . . . . . . . . . . . . . 845.4 Der allgemeine Resolutionskalkul . . . . . . . . . . . . . . . . . . 855.5 Schritte zum Vollstandigkeitsbeweis der allgemeinen Resolution . 865.6 Ein Beispiel fur Resolutionsbeweise: Hilbertkalkul . . . . . . . . . 88

6 Loschregeln: Subsumtion, Tautologie und Isoliertheit 91

7 Einschrankung der Resolution 967.1 Set-of-Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967.2 UR-Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967.3 Hyperresolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017.4 Input-Resolution und Unare Resolution . . . . . . . . . . . . . . 1017.5 Eingabe-Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 1037.6 Lineare Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 1037.7 SL-Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047.8 SL-Resolution fur Horn Klauseln . . . . . . . . . . . . . . . . . . 104

8 Grundlagen der logischen Programmierung: deklarative Pro-grammierung 1088.1 Einfuhrende Beispiele . . . . . . . . . . . . . . . . . . . . . . . . 1088.2 Formale Grundlagen von Prolog . . . . . . . . . . . . . . . . . . . 1108.3 SLD-Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118.4 Vollstandigkeit der SLD-Resolution . . . . . . . . . . . . . . . . . 1138.5 Strategien zur Berechnung von Antworten . . . . . . . . . . . . . 1138.6 Implementierung logischer Programmiersprachen: Prolog . . . . . 1148.7 SLD-Baume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158.8 Beispielprogramme und Ausfuhrung . . . . . . . . . . . . . . . . 1178.9 Syntaxkonventionen von Prolog . . . . . . . . . . . . . . . . . . . 1198.10 Darstellung arithmetischer Ausdrucke: . . . . . . . . . . . . . . . 1198.11 Datenstrukturen und Unifikation in Prolog . . . . . . . . . . . . 1208.12 Listen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

9 Relationale und Deduktive Datenbanken 1239.1 Relationale Datenbanken und Anfragen . . . . . . . . . . . . . . 1239.2 Datalog ist einfaches Prolog . . . . . . . . . . . . . . . . . . . . . 1259.3 Negation und Defaults . . . . . . . . . . . . . . . . . . . . . . . . 126

3

9.4 Sprachverarbeitung und Parsen in Prolog . . . . . . . . . . . . . 1289.4.1 Kontextfreie Grammatiken fur Englisch . . . . . . . . . . 1289.4.2 Definite Clause Grammars . . . . . . . . . . . . . . . . . . 131

10 Tableau Kalkul fur PL1 13510.1 Tableau mit Grundtermen . . . . . . . . . . . . . . . . . . . . . . 13510.2 Tableau mit freien Variablen . . . . . . . . . . . . . . . . . . . . 137

11 Modallogik (aussagenlogisch) 14211.1 Einfuhrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14211.2 Syntax der aussagenlogischen Modallogik . . . . . . . . . . . . . 144

11.2.1 Kripke-Semantik . . . . . . . . . . . . . . . . . . . . . . . 14411.2.2 Beziehung zu Anwendungen . . . . . . . . . . . . . . . . . 15111.2.3 Tautologien in Varianten der Modallogik . . . . . . . . . . 151

11.3 Tableaukalkul(e) fur verschiedene Modallogiken . . . . . . . . . . 15311.3.1 Kalkul TKL . . . . . . . . . . . . . . . . . . . . . . . . . . 15411.3.2 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

11.4 Theoretische Eigenschaften des Kalkuls . . . . . . . . . . . . . . 17011.4.1 Logische Folgerung . . . . . . . . . . . . . . . . . . . . . . 17311.4.2 Normalformen und iterierte Modalitaten. . . . . . . . . . 17411.4.3 Anwendungen in der Zeitlogik (temporale Logik) . . . . . 17611.4.4 lineare, diskrete, deterministische Zeit . . . . . . . . . . . 176

12 Gleichheitsbehandlung 18012.1 Formalisierung der Gleichheit innerhalb der Pradikatenlogik . . . 18112.2 Paramodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18312.3 Eigenschaften der Paramodulation . . . . . . . . . . . . . . . . . 184

13 Verwendung von Theorien: Semantische Ansatze: Theoriere-solution 187

14 Unifikation unter Gleichheitstheorien 19214.1 Theorieunifikationsalgorithmen . . . . . . . . . . . . . . . . . . . 19214.2 Eigenschaften von Losungsmengen . . . . . . . . . . . . . . . . . 20014.3 Die Unifikationshierarchie . . . . . . . . . . . . . . . . . . . . . . 20114.4 Einige Resultate fur spezielle Theorien . . . . . . . . . . . . . . . 20214.5 Theorieresolution mit ”compilierten Theorien“ . . . . . . . . . . 20514.6 Resolution mit bedingten Klauseln (Constraints) . . . . . . . . . 207

15 Erweiterungen der Pradikatenlogik 21015.1 Mehrsortige Logiken . . . . . . . . . . . . . . . . . . . . . . . . . 21015.2 Syntax von OSPL . . . . . . . . . . . . . . . . . . . . . . . . . . 21215.3 Semantik von OSPL . . . . . . . . . . . . . . . . . . . . . . . . . 21615.4 Relativierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21715.5 Klauselnormalform fur OSPL . . . . . . . . . . . . . . . . . . . . 22115.6 Unifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

4

15.7 Optimierungen der Unifikation in OSPL . . . . . . . . . . . . . . 226

16 Im WWW verfugbare Information uber Deduktionssysteme 226

1 Einfuhrung und Uberblick: Grundlagen undAnwendungen von Automatischen Dedukti-onssystemen

1.1 Literatur

Folgende Bucher und Handbuchartikel konnen als Grundlage fur eine weiteresStudium dienen:[And86, And02, BN98, Duf91, Bib83, Bib92, BS98, BB87, RB79] [Bun83, CL73,EFT86, Gal86, GN87, HK89, Kel03], [ki-98, Kow79, Lov78, Pau94, SA94,WOLB84, BS94, BS99]Fur spezieller Themenbereiche konnen auch folgende Bucher verwendet werden:[Ede92, FLTZ93, Tha88, Smu71]

Literatur

[And81] P. Andrews. Theorem proving via general matings. J. ACM,28(2):193–214, 1981.

[And86] Peter B. Andrews. An Introduction to mathematical logic and typetheory: to truth through proof. Academic Press, 1986.

[And02] Peter B. Andrews. An Introduction to mathematical logic and typetheory: to truth through proof. Number 27 in Applied Logic Series.Kluwer ademic Press, 2002.

[Ave95] Jurgen Avenhaus. Reduktionssysteme. Springer-Verlag, 1995.

[BB87] K.-H. Blasisus and H.-J. Burckert. Deduktionssysteme - Automati-sierung des logischen Denkens. Oldenbourg Verlag, 1987.

[Bib83] W. Bibel. Automated Theorem Proving. Vieweg, Braunschweig,1983.

[Bib92] W. Bibel. Deduktion, Automatisierung der Logik. Oldenbourg, 1992.

[BN98] Franz Baader and Tobias Nipkow. Term Rewriting and All That.Cambridge University Press, 1998.

[Bra90] Ivan Bratko. Prolog – Programming for Artificial Intelligence. Ad-dison Wesley, 1990.

5

[BS94] Franz Baader and Jorg H. Siekmann. Unification theory. In Hand-book of Logic in Artificial Intelligence and Logic Programming, vo-lume 2. Oxford Science Publications, 1994.

[BS98] Wolfgang Bibel and Peter H. Schmitt, editors. Automated Deduc-tion - A Basis for Applications, volume I – III. Kluwer AcademicPublishers, 1998.

[BS99] Franz Baader and Wayne Snyder. Unification theory. In Hand-book of Automated Reasoning. Elsevier Science Publishers, 1999. toappear.

[Bun83] A. Bundy. The Computer Modelling of Mathematical Reasoning.Academic Press, London, 1983.

[Bur91] H.-J Burckert. A Resolution Principle for a Logic with RestricterdQuantifiers. Number 568 in Lecture Notes of Artificial Intelligence.Springer-Verlag, 1991.

[CL73] Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic andMechanical Theorem Proving. Academic Press, New York, 1973.

[Duf91] David A. Duffy. Principles of Automated Theorem Proving. JohnWiley & Sons, 1991.

[Ede92] Elmar Eder. Relative Complexities of First order Calculi. Vieweg,Braunschweig, 1992.

[EFT86] H.-D. Ebbinghaus, J. Flum, and W. Thomas. Einfuhrung in die ma-thematische Logik. Wissenschaftliche Buchgesellschaft Darmstadt,1986.

[Fit90] Melvin Fitting. First order logic and automated theorem proving.Springer-Verlag, 1990.

[FLTZ93] C. Fermuller, A. Leitsch, T. Tammet, and N. Zamov. Resolutionmethods for the decision problem, volume 679 of LNCS. Springer-Verlag, 1993.

[Gal86] Jean H. Gallier. Logic for Computer Science: Foundations of Au-tomatic Theorem Proving. Harper & Row Publishers, New York,1986.

[GLSDS91] Annie Gal, Guy Lapalme, Patrick Saint-Dizier, and Harold Somers.Prolog for Natural Language Processing. John Wiley & sons, 1991.

[GN87] Michael R. Genesereth and Nils J. Nilsson. Logical Foundations ofArtificial Intelligence. Morgan Kaufmann Publishers, 1987.

6

[God31] K Godel. Uber formal unentscheidbare Satze der Principia Mathe-matica und verwandter Systeme I. Mh. Math. Phys., 38:173–198,1931.

[Hak85] A. Haken. The intractability of resolution. Theoretical ComputerScience, 39:297–308, 1985.

[HK89] Dieter Hofbauer and Ralf-Detlef Kutsche. Grundlagen des maschi-nellen Beweisens. Vieweg, 1989.

[Kel03] John Kelly. Logik im Klartext. Prentice Hall; Pearson Studium,2003.

[ki-98] Kunstliche Intelligenz: Themenheft Deduktion und Anwendung,1998. in german.

[KK71] R. Kowalski and D. Kuehner. Linear resolution with selection func-tion. Artificial Intelligence, 2:227–260, 1971.

[Kow79] R. Kowalski. Logic for Problem Solving. North Holland, Amster-dam, 1979.

[Lov78] Donald W. Loveland. Automated Theorem Proving: A Logical Basis,volume 6 of Fundamental Studies in Computer Science. North-Holland, New York, 1978.

[MM82] A. Martelli and U. Montanari. An efficient unification algo-rithm. ACM transaction on Programming Languages and Systems,4(2):258–282, 1982.

[Nil80] N. Nilsson. Principles of Artificial Intelligence. Tioga, Palo Alto,CA, 1980.

[Pau94] Larry C. Paulson. Isabelle: a Generic Theorem prover. Springer-Verlag, 1994.

[PM68] M. Paterson and M.Wegman. Linear unification. Journal of Com-puter and System Science, 16(2):158–167, 1968.

[PS87] Fernando C.N. Pereira and Stuart M. Shieber. Prolog and Natural-Language Analysis. CSLI, 1987.

[RB79] J S. Moore R. Boyer. A Computational Logic, volume 29. AcademicPress, London, 1979.

[Rob65] J. A. Robinson. A machine-oriented logic based on the resolutionprinciple. Journal of the ACM, 12:23–41, 1965.

[SA94] Rolf Socher-Ambrosius. Deduktionssysteme. BI-Wissenschaftsverlag, 1994. in german.

7

[Smu71] Raymond M. Smullyan. First-Order Logic. Springer-Verlag, 1971.

[SS89] M. Schmidt-Schauß. Computational Aspects of an order-sorted lo-gic with term declarations, volume 395 of LNCS. Springer-Verlag,Dover, 1989.

[Sti86] Mark E. Stickel. A prolog technology theorem prover: implementa-tion by an extended prolog compiler. In Proc. of 8th Int. Conf. onAutomated Deduction, number 230 in Lecture Notes in ComputerScience, pages 573–587. Springer-Verlag, 1986.

[Tar53] A. Tarski. Der Wahrheitsbegriff in den formalisierten Sprachen.Studia Philospohica I. 1953.

[Tha88] Andre Thayse, editor. From Standard Logic to Logic Programming.John Wiley & Sons, 1988.

[Wal87] C. Walther. A Many-Sorted Calculus Based on Resulution and Pa-ramodulation. Pitman & Kaufman, 1987.

[Wei95] Christoph Weidenbach. First-order tableaux with sorts. Journal ofthe Interest Group in Pure and Applied Logics, IGPL, 3(6):887–906,1995.

[Wei96] Christoph Weidenbach. Unification in sort theories and its applica-tions. Annals of Mathematics and Artificial Intelligence, 1996.

[WOLB84] L. Wos, R. Overbeek, E. Lusk, and J. Boyle. Automated Reasoning– Introduction and Applications. Prentice-Hall, Englewood Cliffs,NJ, 1984.

1.2 Vorbemerkung

Als Motivation und erste Information sei auf die Web-Seitehttp://www.cs.miami.edu/ Etptp/CASC/JC/SystemDescriptions.html verwie-sen.Die interessantesten und erfolgreichsten Resultate von Automatischen Dedukti-onssystemen wurden erzielt in den Bereichen: Mathematik, Automatische Soft-ware Generierung, Software Verifikation, und Hardware-Verifikation.

Mathematik: Robbins Algebra Problem (s.u.); Quasi-Gruppen Identitaten;Geometrie-Beweise.

Software Generierung: KIDS: Scheduling algorithmen ; Programme ausSpezifikationen;AMPHION (gesponsert von der NASA), Wiederverwendung und zu-verlassige Komponenten.

Software Verifikation (SVRC) an der University of QueenslandKarlsruhe Interactive Verifier (KIV) PVS-System

8

Hardware Verifikation: Verifikation von Implementierungen von IEEE-Gleitkomma- Standards,Addierer, Multiplizierer,Mikroprozessoren (AMD5K86, FM9001).Auch genutzt u.a. von IBM, Intel, and Motorola.

Das Gebiet der Automatischen Deduktionssysteme ist junger im Vergleich zumGebiet der Logik. Insbesondere bedeutet dies, dass Notationen und Begriffe sichz.T. nur im Englischen mit einer festen Bedeutung etabliert haben. Benutzt manLehrbucher oder weiterfuhrende Literatur (Handbucher, Artikel), so wird manmit verschiedenen Notationen und verschiedenen Namen fur gleiche Begriffekonfrontiert. So werden manche englischen Begriffe auf verschiedene Weise insdeutsche ubersetzt. Glucklicherweise sind die Begriffsbildungen diesselben, sodass beim Literaturstudium nach etwas Einarbeitung keine wesentlichen Schwie-rigkeiten auftauchen.

1.3 Teilgebiete

Im folgenden eine Liste von Teilgebieten und Anwendungsgebieten.

1.3.1 Beweiserbau

Die Softwaretechnik der Automatischen Deduktionssysteme. Hier werden Fra-gen zur Softwaretechnik von Deduktionssystemen, effizienten Implementierun-gen, Datenstrukturen, Heuristiken untersucht. Ebenso Fragen der Benutzung:interaktiv, vollautomatisch, halbautomatisch, verifizierend, Erzeugung von les-baren Beweisen.

1.3.2 Gleichheitsbehandlung

Theorie und Verfahren zur Behandlung der Gleichheitsaxiomen, Simplifikatio-nen und operationalen Semantiken. Fur Herleitung reichen naive Suchstrategienoft nicht aus.

1.3.3 Termersetzungssysteme

Themengebiet sind gerichtete Gleichungen, deren Benutzung als Transformati-onssystem oder zum Entscheiden des Wortproblems. Das kann man auch alsUntergebiet der Gleichheitsbehandlung ansehen.

1.3.4 Unifikation

Zentrale Fragestellung ist, ob zwei vorgegebene Strukturen mit offenen Stellen(Variablen) gleichgemacht werden konnen. Die Unifikationstheorie liefert spezi-elle Algorithmen und das theoretische Rustzeug fur die Untersuchung solcherProbleme. Diese spezielle Fragestellung tritt verbreiteter auf, als man annimmt:

9

Gemeinsamen Instanzen von Pattern, Losungen von Gleichungen, Logiken er-ster Ordnung, Typcheck in Programmiersprachen, Gleichungstheorien, Lambda-Kalkul.

1.3.5 Nichtmonotone Logiken

Eine Logik heißt monoton, wenn durch die Hinzunahme neuer Annahmen nichtweniger folgt als ohne diese Annahmen: Φ |= TH impliziert Φ ∪ Ξ |= TH. Dieklassischerweise untersuchten Logiken sind monoton, viele Herleitungsproblemeder Kunstlichen Intelligenz jedoch nicht.

1.3.6 Logische Methoden wissensbasierter Systeme

Die wichtigsten Probleme sind die Entwicklung von Inferenzmethoden fur wis-sensbasierte Systeme und die Mechanisierung nichtklassischer Logiken.

1.3.7 Modallogik

Dies sind Gegenstand alterer logische/philosophische Untersuchungen. Erstdurch den Versuch, geeignete Formulierungssprachen zur computergerechtenEingabe von verschiedenen Problemen zu finden, wurden diese Logiken wie-derbelebt und fur die Computerverarbeitung entdeckt.

1.3.8 Deduktive Programmsynthese

Idee: Mit Hilfe deduktiver Verfahren ein Programm automatisch zu synthetisie-ren. Z.B.: In der konstruktiven Logik hoherer Ordnung entsprechen Existenzbe-weise einem ablauffahigen Programm.

1.3.9 Logisches Programmieren

Die Pradikatenlogik, insbesondere das Fragment der Hornklauseln, wird als(Grundlage einer) Programmiersprache (Prolog) aufgefaßt. Implementierungen,Erweiterungen (Negation, Constraints, ..), werden untersucht.

1.3.10 Anwendungen Automatischer Deduktionssysteme

• logische Programmiersprachen, Constraints + logische Programmierspra-chen.

• deduktiven Datenbanken

• Planen, Plangenerierung in Systemen der KI.

• Diagnose.

• Nachweis der Korrektheit von Hard- oder Software:

– Programmverifikation

10

– Programmanalyse

– Automatische Programm Generierung

– Untersuchung von Sicherheitsprotokollen

• Inferenzkomponenten fur wissensbasierte Systeme

• Wissensreprasentationformalismen

1.3.11 Wichtigste Methoden

Resolution

Tableaukalkule

Gleichheit Termersetzung, Paramodulation, Superposition

Modelchecking

1.4 Einige computergefuhrte Beweise

Einige lange Zeit offene Problemen, die mit Computerhilfe gelost wurden, (al-lerdings nicht mit allgemeinen automatischen Deduktionssystemen), sind:

• Der Vierfarbensatz:jede ebene Landkarte laßt sich mit vier Farben farben. Die Losungsme-thode war ein spezielles Programm, das einige tausend Konfigurationenzu untersuchen hatte.

• Nichtexistenz einer endlichen projektiven Ebene der Ordnung10.Hintergrund ist die Axiomatisierung der projektiven Ebenen:

1. Durch je zwei Punkte geht genau eine Gerade.

2. Je zwei Geraden schneiden sich in einem Punkt.

3. Es gibt 4 verschiedene Punkte von denen keine drei kollinear sind.

Stichwortartig einige Eigenschaften: Ordnung sei n; n + 1 ist dann dieAnzahl der Punkte auf einer Geraden = Anzahl der Geraden durch einenPunkt. Alle Geraden haben gleich viele Punkte (n+1). Durch alle Punktegehen gleich viele Geraden (n + 1). Anzahl aller Punkte = Anzahl allerGeraden = n2+n+1. Man kennt zu jeder Primzahlpotenz pn (mindestens)eine projektive Ebene dieser Ordnung.Aber: Man weiß nicht, ob es eine endliche projektive Ebene zu einer Ord-nung gibt, die keine Primzahlpotenz ist. Die kleinste Ordnung fur die dieslange Zeit unbekannt war, ist 10. Die nachste offene Ordnung ist 12.

11

• Die ”Kepler-Vermutung“: Diese Vermutung ist (war) bereits uber dreihun-dert Jahre alt.

Sie besteht darin, dass die dichteste Kugelpackung im Raum die ist, dieman durch Probieren sofort findet:

Namlich die Art der Stapelung von Melonen oder von Kanonenkugeln, diezu einer Pyramide fuhrt: In der ersten Ebene sind die Kugeln wabenformiganeinandergelegt. Die nachste Ebene sieht genauso aus, nur leicht versetzt,so dass die Kugeln der zweiten Ebene in die Taler der ersten Ebene fallen,usw. In diesem Fall werden π√

18∼ 0, 74048 des Raumes von Kugeln gefullt.

Der mathematische Fallstrick ist offenbar, dass die lokale Minimierung desVolumens, das von einer Kugel und den (maximal) 12 umgebenden Kugelnbenotigt wird, eine scheinbar bessere Packung ergibt; allerdings laßt sichdiese nicht fortsetzen.

Die Kepler-Vermutung wurde gelost von Tom Hales und seinem Dokto-randen Sam Ferguson (University of Michigan).

Die Losung erforderte umfangreiche mathematische Vorarbeit, bis mandas Problem darauf reduziert hatte, Kugelhaufen mit 53 Kugeln zu unter-suchen. Hiervon gibt es 5000 Typen, die alle untersucht werden mussen.Dies wurde mit Hilfe eines Computers durchgefuhrt.

Bei diesen Problemen wurden spezialisierte Systeme entwickelt, die eine Artlogisches Numbercrunching durchgefuhrt haben. Beim Vierfarbensatz undbeim Kepler-Problem nach einer erheblichen mathematischen Vorarbeit, beimprojektiven-Ebenen-Problem-10 ist es geordnetes, optimiertes Durchprobierenvon sehr vielen Moglichkeiten bei der Suche nach einem Modell.Automatische Deduktionssysteme, die allgemeiner konstruiert sind, haben auchschon Spitzenleistungen erzielt: z.B. Losung des sogenannten Problems derRobbins-Algebren:

1.5 Das Problem der Robbins Algebren

Das Robbins Problem ”sind alle Robbins-Algebren auch Boolesche Alge-bren?“ wurde von William McCune, Automated Deduction Group, Mathema-tics and Computer Science Division, Argonne National Laboratory gelost undzwar mit Hilfe des automatischen Beweisers EQP fur Gleichungstheorien. DieLosung ist:

Jede Robbins-Algebra ist eine Boolesche Algebra.

Zunachst: Eine Boolesche Algebra hat zwei zweistellige, kommutative, assozia-tive Operatoren und, oder, einen einstelligen Operator not, Konstanten 0,1,so dass folgendes gilt: die De-Morganschen Gesetze, Distributivitat, not ist einKomplementoperator: x und (not x) = 0, x oder (not x) = 1, not(not x) = x.Etwas Geschichte:Im Jahre 1933 gab E. V. Huntington die folgende (alternative) Axiomatisierungeiner Booleschen Algebra:

12

x + y = y + x [kommutativ](x + y) + z = x + (y + z) [assoziativ]n(n(x) + y) + n(n(x) + n(y)) = x [Huntington Gleichung]

In dieser Axiomatisierung kann man und mittels oder und not definieren, undnachweisen, dass alle Axiome einer Booleschen Algebra dafur gelten.Danach vermutete Robbins, dass man das letzte Axiom durch eine anderes er-setzen kann:

n(n(x + y) + n(x + n(y))) = x [Robbins equation]

Robbins und Huntington konnten keinen Beweis finden, spater arbeitete Tarskimit Studenten an diesem Problem, ebenfalls ohne Erfolg.Die Algebren mit den Axiomen Kommutativitat, Assoziativitat und RobbinsAxiom wurden bekannt als Robbins Algebren. Man sieht leicht, dass BoolescheAlgebren auch Robbins Algebren sind; die interessante offene Frage war dieUmkehrung.Seit 1979 arbeitete daran: Steve Winker, Larry Wos mit dem Beweiser ”Ot-ter“ Die Methode war schrittweise immer starkere Bedingungen (d.h. zusatzli-che Axiome) zu finden, unter denen eine Robbins Algebra auf jeden Fall aucheine Boolesche Algebra ist. Hierbei wurden die Beweise vollautomatisch gesucht.Winker fand viele solche Bedingungen und bewies dies unter Benutzung von Ot-ter : U.a.:

∀x : n(n(x)) = x∃0 : ∀x : x + 0 = x∀x : x + x = x∃C : ∃D : C + D = C [erste Winker-Bedingung, 1992]∃C : ∃D : n(C + D) = n(C) [zweite Winker-Bedingung,1996]

Der automatische Beweis der Losung des Robbins Problem wurde am 10 Okto-ber 1996 mittels EQP gefuhrt. EQP benutzt assoziative-kommutative Unifika-tion und kann nur Gleichheitslogik.Die Gleichungen

n(n(n(y) + x) + n(x + y)) = x [Robbins Axiom]n(x + y) 6= n(x) [Negation von Winker-2]

wurden von EQP zum Widerspruch gefuhrt. Die Suche dauerte 8 Tage. EinProblem war die Prufung des von EQP gefundenen Beweises. Hierzu musstemittels Otter ein (maschinen-)lesbarer Beweis erzeugt werden, der dann wiedervon einem anderen Beweisprufprogramm nochmal gepruft wurde.Fur weitere Informationen, siehe die zugehorigen Web-Seiten:

http://www-unix.mcs.anl.gov/ mccu-ne/papers/robbins/lemmas.html

http://www.mcs.anl.gov/AR/eqp undhttp://www.mcs.anl.gov/AR/otter

13

1.6 Methodenwahl: menschliche oder maschinelle?

Was wird erfolgreicher sein?

• Die Nachahmung der menschlichen Vorgehensweise, oder

• Die (intelligente) brute-force (numbercrunching)-Methode

Die bisherige Erfahrung zeigt, dass der Einsatz von Computern erfolgreicher ist,wenn man nicht das menschliche Problemlosungsverhalten nachahmt, sonderndie zweite Variante, die (intelligente) brute-force Methode verwendet. Z. B. sinddie Erfolge der Schachprogrammierung eher auf solche Methoden als auf rationalplanende und nachdenkende Methoden zuruckzufuhren.Genauso verhalt es sich z.B. mit der Losung des Robbins-Algebra-Problems.Wobei man hier einwenden konnte, dass ohne einen Menschen, der das SystemEQP intelligent einsetzt, der Beweis nicht gefunden worden ware.Es gibt einen Zweig des ”Automated Reasoning“, der gute Grunde dafur anfuhrt,dass eine Analogie zum menschlichen Planen notwendig sei; allerdings sind diegroßen Erfolge hier bisher ausgeblieben.

1.7 Einfuhrende Beispiele

Aussagen uber die reale Welt oder uber fiktive oder abstrakte Welten sindmanchmal nicht unabhangig voneinander, sondern es kann der Fall sein, dass ei-ne Aussage aus einer oder mehreren anderen Aussage folgt. Zum Beispiel wurdeman bei den Aussagen

”Jede Katze ißt Fische“

”Garfield ist eine Katze“

”Garfield ißt Fische“

sicherlich zustimmen, dass die dritte Aussage aus den beiden anderen folgt.Wann immer man annimmt, dass die ersten beiden Aussagen wahr sind, mussman notwendigerweise auch annehmen, dass die dritte Aussage wahr ist. Dasgleiche gilt fur folgende Aussagen

”Alle Menschen sind sterblich“

”Sokrates ist ein Mensch“

”Sokrates ist sterblich“.

Wieder gilt, dass die dritte Aussage aus den ersten beiden folgt. Das interessantedabei ist, dass der Grund weshalb die dritte Aussage aus den beiden anderenfolgt offensichtlich in beiden Fallen derselbe ist. Es hangt gar nicht davon ab, obwir uber Fische essende Katzen oder sterbliche Menschen oder uber irgendwelcheunbekannten Objekte mit unbekannten Eigenschaften sprechen:

”Alle X haben die Eigenschaft E“

”A ist ein X“

”A hat die Eigenschaft E“

14

Offensichtlich folgt die dritte Aussage aus den beiden anderen. Die Beobachtung,dass die ”folgt aus“- Beziehung zwischen verschiedenen Aussagen gar nicht not-wendigerweise aus deren Bedeutung definiert werden muss, sondern nur ausderen syntaktischer Form geht zuruck auf Aristoteles und andere antike grie-chische Philosophen. Die verbluffende Konsequenz ist, dass eine an und fur sichsemantische, d.h. von der Bedeutung her, definierte Beziehung, syntaktisch, d.h.uber rein mechanische Symbolmanipulation, realisiert werden kann. In diesemFall kann der Test auf die Folgerungsbeziehung zwischen Aussagen auch Compu-terprogrammen ubertragen werden. Programme mit diesen Fahigkeiten heißenDeduktionssysteme. Unter einem Deduktionssystem kann man daher ganzallgemein ein programmierbares Verfahren verstehen, das aus vorhandenen Da-ten Schlußfolgerungen zieht und damit neue Daten ableitet. Welche Art vonSchlußfolgerungen gemeint ist, illustriert ”Modus Ponens“, eine typische Regel,der auch die beiden obigen Beispiele zum Teil zugrundeliegen, und die schon aufAristoteles zuruckgeht.

Fakt 1: P (P und Q sind beliebige Aussagen.)Fakt 2: Aus P folgt QSchlussfolgerung: Q

Die Mechanismen, die einen Rechner zu solchen Ableitungen befahigen, sindim Prinzip sehr ahnlich zu denen, die ihn zum Rechnen mit Zahlen befahigen.Die Fakten mussen als Datenobjekte reprasentiert und die Schlußfolgerungenals Operationen auf diesen Datenobjekten programmiert werden.

1.8 Motivationsbeispiele

Um einen allerersten Eindruck von der Arbeitsweise eines Deduktionssystems zubekommen, sollen zwei Beispiele zu deren Anwendung vorgestellt werden. Daserste ist ist das Sokrates-Beispiel, und das zweite ist ein logisches Ratsel. Diebeiden Beispiele sollen nur einen ungefahren Eindruck geben und demonstrie-ren, dass man offensichtlich nicht nur Fische fressende Garfields oder sterblichePhilosophen, sondern wirklich nichttriviale logische Zusammenhange mit auto-matisierbaren Methoden behandeln kann.

Beispiel 1.1 Wir wollen beweisen: Aus

”Alle Menschen sind sterblich“

”Sokrates ist ein Mensch“

folgt

”Sokrates ist sterblich“.

Zunachst benotigt man eine formale Sprache, in der man diesen Sachverhaltausdrucken kann. Dafur bietet sich in diesem Fall die Pradikatenlogik an. Dasist die formale Sprache, in der die meisten mathematischen Zusammenhange

15

einfach aufgeschrieben werden konnen, und die daher den meisten Lesern so-wieso mehr oder weniger vertraut sein sollte. Da es in diesem Beispiel um zweiEigenschaften geht, fuhren wir Mensch und sterblich als Pradikatensymboleein. Sokrates ist ein Konstantensymbol in der Sprache. Die drei Aussagen sinddann:

1.) ∀x : Mensch(x) ⇒ sterblich(x)2.) Mensch(Sokrates)3.) sterblich(Sokrates)

Der herzuleitende Aussage wird jetzt, um einen Beweis durch Widerspruch zudemonstrieren, verneint. Damit hat man eine Menge von Aussagen, auf die mandas mechanische Verfahren der Resolution anwenden kann. Das Ziel ist es einenWiderspruch herzuleiten. Hat man dies erreicht, dann kann man sagen, dass dieverneinte Aussage aus den anderen folgt.

1.) ∀x : Mensch(x) ⇒ sterblich(x)2.) Mensch(Sokrates)3.) ¬sterblich(Sokrates)

Zunachst muss man die Formeln noch etwas abandern:

1.) ∀x : ¬Mensch(x) ∨ sterblich(x)2.) Mensch(Sokrates)3.) ¬sterblich(Sokrates)

Das mechanische Verfahren der Resolution erlaubt es jetzt, aus 1) und 3) durchinstanziieren von x mit Sokrates die Formel

¬Mensch(Sokrates) .

herzuleiten. Diese Formel und die zweite erlauben es jetzt, den endgultigen Wi-derspruch direkt zu erkennen.

Beispiel 1.2 Wise Men Puzzle Es war einmal ein Konig, der hatte dreiweise Manner. Eines Tages beschloss er, herauszufinden, wer von den dreiender weiseste ist. Er stellt sie einander gegenuber, macht jedem von ihnen einenweißen oder schwarzen Punkt auf die Stirn und sagt ihnen, dass mindestenseiner der Punkte weiß ist. Nach einer Weile, in der niemand was sagte, fragteer den ersten, ob er die Farbe seines Punktes wusste. Der verneinte. Dann fragteer den zweiten. Der verneinte ebenfalls. Daraufhin sagte der dritte prompt, dasssein Punkt weiß ist. Woher wußte der das?Zur Losung dieses Ratsels ist es notwendig, Schlusse uber den Wissensstand derBeteiligten zu ziehen. Zur Formulierung dieses Ratsels ist die pradikatenlogischeSprache daher nicht sehr gut geeignet. Einfacher wird es, wenn man die logischeSprache um neue Operatoren erweitert, mit denen man ausdrucken kann, dassjemand eine bestimmte Sache weiß oder nicht weiß. Damit macht man aus derPradikatenlogik eine sogenannte epistemische Logik. Dies fuhrt zur sogenanntenModallogik und deren Varianten. Es gibt Methoden, die Aussagen dieser Logikwieder in Pradikatenlogik ubersetzen.

16

2 Aussagenlogik (propositional calculus)

Die Aussagenlogik ist in vielen anderen Logiken enthalten; sie hat einfache ver-stehbare Inferenzmethoden, man kann einfache Beispiele modellhaft in der Aus-sagenlogik betrachten. Bei der Verallgemeinerung auf Pradikatenlogik und an-dere Logiken startet man meist auf der Basis der Aussagenlogik.Dieses Kapitel geht detailliert auf Aussagenlogik, Kalkule und Eigenschaftenein. Ziel ist jeweils, vereinfachte Varianten von allgemeinen Verfahren zumSchlussfolgern zu verstehen, damit man einen Einblick in die Wirkungsweisevon Inferenzverfahren fur Pradikatenlogik und andere Logiken gewinnt. Ziel istnicht, optimale und effiziente Verfahren fur die Aussagenlogik vorzustellen. Eineeffiziente Datenstruktur sind z.B. die BDDs und ihre Varianten. Diese sind abernicht so gut geeignet, allgemeinere Logiken und Erweiterungen wie Pradikaten-logik und Modallogik verstandlich zu machen.

Definition 2.1 SyntaxDie Syntax ist gegeben durch die Grammatik:

A ::= X | (A ∧A) | (A ∨A) | (¬ A) | (A ⇒ A) | (A ⇔ A) | 0 | 1

Hierbei ist X ein Nichtterminal fur aussagenlogische Variablen und A ein Nicht-terminal fur Aussagen. Die Konstanten 0, 1 entsprechen falsch bzw. wahr. Ubli-cherweise werden bei der Notation von Aussagen Klammern weggelassen. wobeiman die Klammerung aus den Prioritaten der Operatoren wieder rekonstruierenkann: Die Prioritatsreihenfolge ist: ¬,∧,∨,⇒,⇔.Die Zeichen ∧,∨,¬,⇒,⇔ nennt man Junktoren. Aussagen der Form 0, 1 oderx nennen wir Atome. Literal sind entweder Atome oder Aussagen der Form ¬A,wobei A ein Atom ist.

A ∧B: Konjunktion (Verundung).A ∨B: Disjunktion (Veroderung).A ⇒ B: Implikation .A ⇔ B: Aquivalenz.¬A: negierte Formel.A Atom, falls A eine Variable ist.A Literal, falls A Atom oder negiertes Atom.

Wir lassen auch teilweise eine erweiterte Syntax zu, bei der auch noch andereOperatoren zulassig sind wie: NOR, XOR, NAND.Dies erweitert nicht die Fahigkeit zum Hinschreiben von logischen Ausdrucken,denn man kann diese Operatoren simulieren. Auch konnte man 0, 1 weglassen,wie wir noch sehen werden, denn man kann 1 als Abkurzung von A ∨ ¬A, und0 als Abkurzung von A ∧ ¬A auffassen.

Definition 2.2 Semantik Zunachst definiert man fur jede Operation ¬,∧,∨,⇒,⇔ Funktionen {0, 1} → {0, 1} bzw. {0, 1}2 → {0, 1}. Die Funktion f¬ istdefiniert als f¬(0) = 1, f¬(1) = 0. Ebenso definiert man f0 := 0, f1 := 1.Die anderen Funktionen fop sind definiert gemaß folgender Tabelle.

17

∧ ∨ ⇒ ⇐ NOR NAND ⇔ XOR1 1 1 1 1 1 0 0 1 01 0 0 1 0 1 0 1 0 10 1 0 1 1 0 0 1 0 10 0 0 0 1 1 1 1 1 0

Der Einfachheit halber werden oft die syntaktischen Symbole auch als Funktio-nen gedeutet.

Definition 2.3 Eine Interpretation I ist eine Funktion: I :{aussagenlogische Variablen} → {0, 1}.Eine Interpretation I definiert fur jede Aussage einen Wahrheitswert, wenn mansie auf Aussagen fortsetzt:

• I(0) := 0, I(1) := 1

• I(¬A) := f¬(I(A))

• I(A op B) := fop(I(A), I(B)), wobei op ∈ {∧,∨,⇒,⇔ . . .}

Wenn fur eine Aussage F und eine Interpretation I gilt: I(F ) = 1, dann schrei-ben wir auch: I |= F . Sprechweisen: I ist ein Modell fur F , F gilt in I, I machtF wahr.

Definition 2.4 Sei A ein Aussage.

• A ist eine Tautologie (Satz, allgemeingultig) gdw. fur alle InterpretationenI gilt: I |= A.

• A ist ein Widerspruch (widerspruchlich, unerfullbar) gdw. fur alle Inter-pretationen I gilt: I(A) = 0.

• A ist erfullbar (konsistent) gdw. es eine Interpretationen I gibt mit: I |= A.

• ein Modell fur eine Formel A ist eine Interpretation I mit I(A) = 1.

Man kann jede Aussage in den n Variablen X1, . . . , Xn auch als eine Funktionmit den n Argumenten X1, . . . , Xn auffassen. Dies entspricht dann BooleschenFunktionen.

Beispiel 2.5

• X ∨ ¬X ist eine Tautologie.

• (X ⇒ Y ) ⇒ ((Y ⇒ Z) ⇒ (X ⇒ Z)) ist eine Tautologie.

• X ∧ ¬X ist ein Widerspruch.

• X ∨ Y ist erfullbar.

18

• I mit I(X) = 1, I(Y ) = 0 ist ein Modell fur X ∧ ¬Y

Beispiel 2.6 Bauernregeln:

• ”Abendrot Schlechtwetterbot’“ kann man ubersetzen inAbendrot ⇒ Schlechtes Wetter. Diese Aussage ist weder Tautologie nochWiderspruch, aber erfullbar.

• ”Wenn der Hahn kraht auf dem Mist, andert sich das Wetter oder es bleibtwie es ist. “ kann man ubersetzen inHahn kraeht auf Mist ⇒ (Wetteraenderung ∨ ¬Wetteraenderung).Man sieht, dass das eine Tautologie ist.

Mit tautologischen Aussagen sind in Bezug auf die Wirklichkeit ohne In-halt. Erst wenn man sie verwendet zum Finden von Folgerungen ergibtsich etwas neues.

Satz 2.7

• Es ist entscheidbar, ob eine Aussage eine Tautologie (Widerspruch, erfull-bar) ist.

• Die Frage ”Ist A erfullbar?“ ist NP-vollstandig.

• Die Frage ”Ist A Tautologie (Widerspruch)? “ ist co-NP-vollstandig.

Das einfachste und bekannteste Verfahren zur Entscheidbarkeit ist das derWahrheitstafeln. Es werden einfache alle Interpretation ausprobiert.Zur Erlauterung: NP-vollstandig bedeutet, dass jedes Problem der Problem-klasse mit einem nicht-deterministischen Verfahren in polynomieller Zeit gelostwerden kann, und dass es keine bessere obere Schranke gibt.Eine Problemklasse ist co-NP-vollstandig, wenn die Problemklasse die aus denNegationen gebildet wird, NP-vollstandig ist.Sequentielle Algorithmen zur Losung haben fur beide Problemklassen nurExponential-Zeit Algorithmen. Genaugenommen ist es ein offenes Problem dertheoretischen Informatik, ob es nicht bessere sequentielle Algorithmen gibt.Die Klasse der NP-vollstandigen Probleme ist vom praktischen Standpunkt ausleichter als co-NP-vollstandig: Fur NP-vollstandige Probleme kann man mitGluck (d.h. Raten) oft schnell eine Losung finden. Z.B. eine Interpretation einerFormel. Fur co-NP-vollstandige Probleme muss man i.a. viele Moglichkeitentesten: Z.B. muss man i.a. alle Interpretation einer Formel ausprobieren.

2.1 Folgerungsbegriffe

Man muss zwei verschiedene Begriffe der Folgerungen fur Logiken unterscheiden:

• semantische Folgerung

19

• syntaktische Folgerung (Herleitung, Ableitung) mittels einer prozeduralenVorschrift. Dies ist meist ein nicht-deterministischer Algorithmus (Kalkul),der auf Formeln oder auf erweiterten Datenstrukturen operiert. Das Zielist i.a. die Erkennung von Tautologien (oder Folgerungsbeziehungen).

In der Aussagenlogik fallen viele Begriffe zusammen, die in anderen Logikenverschieden sind. Trotzdem wollen wir die Begriffe hier unterscheiden.

Definition 2.8 Sei F eine Menge von (aussagenlogischen) Formeln und G eineweitere Formel.

Wir sagen G folgt semantisch aus Fgdw.Fur alle Interpretationen I gilt: wenn fur alle Formeln F ∈ F dieAuswertung I(F ) = 1 ergibt, dann auch I(G) = 1.

Die semantische Folgerung notieren wir auch als F |= G

Es gilt

Aussage 2.9 Wenn ein Fi ein Widerspruch ist, dann kann man alles folgern:Es gilt dann fur jede Formel G: F1, . . . , Fn |= G.Wenn ein Fi eine Tautologie ist, dann kann man dies in den Voraussetzungenweglassen: Es gilt dann fur alle Formeln G:F1, . . . , Fn |= G ist dasselbe wie F1, . . . , Fi−1, Fi+1, . . . , Fn |= G

In der Aussagenlogik gibt es eine starke Verbindung von semantischer Folgerungmit Tautologien: Es gilt:

Satz 2.10 (Deduktionstheorem){F1, . . . , Fn} |= G gdw. F1 ∧ . . . ∧ Fn ⇒ G ist Tautologie.

Zwei Aussagen F,G nennen wir aquivalent (F ∼ G), gdw. wenn F ⇔ G eineTautologie ist. Beachte, dass F und G genau dann aquivalent sind, wenn furalle Interpretationen I: I |= F gdw. I |= G gilt.Es ist auch zu beachten, dass z.B. X ∧ Y nicht zu X ′ ∧ Y ′ aquivalent ist. D.h.bei diesen Beziehungen spielen die Variablennamen eine wichtige Rolle.

Definition 2.11 Gegeben sei ein (nicht-deterministischer) Algorithmus A (einKalkul), der aus einer Menge von Formeln H eine neue Formel H berechnet,Man sagt auch, dass H syntaktisch aus H folgt (bezeichnet mit H `A H oderauch H →A H).

• Der Algorithmus A ist korrekt (sound), gdw. H →A H impliziert H |= H

• Der Algorithmus A ist vollstandig (complete), gdw. H |= H impliziert,dass H `A H

20

Aus obigen Betrachtungen folgt, dass es in der Aussagenlogik fur die Zweckeder Herleitung im Prinzip genugt, einen Algorithmus zu haben, der Aussagenauf Tautologieeigenschaft pruft. Gegeben {F1, . . . , Fn}, zahle alle Formeln Fauf, prufe, ob F1 ∧ . . . ∧ Fn ⇒ F eine Tautologie ist, und gebe F aus, wenndie Antwort ja ist. Das funktioniert, ist aber nicht sehr effizient, wegen derAufzahlung aller Formeln. Außerdem kann man immer eine unendliche Mengevon Aussagen folgern, da alle Tautologien immer dabei sind.Es gibt verschiedene Methoden, aussagenlogische Tautologien (oder auch erfull-bare Aussagen) algorithmisch zu erkennen: Z.B. BDDs (binary decision dia-grams) : eine Methode, Aussagen als Boolesche Funktionen anzusehen undmoglichst kompakt zu reprasentieren; Genetische Algorithmen zur Erkennungerfullbarer Formeln; Suchverfahren die mit statischer Suche und etwas Zufall undBewertungsfunktionen operieren; Davis-Putnam Verfahren: Fallunterscheidungmit Simplifikationen (siehe unten 2.6); Tableaukalkul, der Formeln syntaktischanalysiert (analytic tableau) (siehe 2.7).

2.2 Tautologien und einige einfache Verfahren

Wir wollen im folgenden Variablen in Aussagen nicht nur durch die Wahrheits-werte 0, 1 ersetzen, sondern auch durch Aussagen. Wir schreiben dann A[B/x],wenn in der Aussage A die Aussagenvariable x durch die Aussage B ersetztwird. In Erweiterung dieser Notation schreiben wir auch: A[B1/x1, . . . , Bn/xn],wenn mehrere Aussagevariablen ersetzt werden sollen. Diese Einsetzung pas-siert gleichzeitig, so dass dies kompatibel zur Eigenschaft der Komposition alsFunktionen ist: Wenn A n-stellige Funktion in den Aussagevariablen ist, dannist A[B1/x1, . . . , Bn/xn] die gleiche Funktion wie A ◦ (B1, . . . , Bn).

Satz 2.12 Gilt A1 ∼ A2 und B1, . . . , Bn weitere Aussagen, dann gilt auchA1[B1/x1, . . . , Bn/xn] ∼ A2[B1/x1, . . . , Bn/xn].

Beweis. Man muss zeigen, dass alle Zeilen der Wahrheitstafeln fur die neuenAusdrucke gleich sind. Seien y1, . . . , ym die Variablen. Den Wert einer Zeilekann man berechnen, indem man zunachst die Wahrheitswerte fur Bi berechnetund dann in der Wahrheitstabelle von Ai nachschaut. Offenbar erhalt man furbeide Ausdrucke jeweils denselben Wahrheitswert. 2

Satz 2.13 Sind A,B aquivalente Aussagen, und F eine weitere Aussage, dannsind F [A] und F [B] ebenfalls aquivalent. 1

1Hierbei ist F [B] die Aussage, die dadurch entsteht, dass in F die Subaussage A durch Bersetzt wird.

21

Die Junktoren ∧ und ∨ sind kommutativ, assoziativ, und idempotent, d.h. esgilt:

F ∧ G ⇔ G ∧ FF ∧ F ⇔ F

F ∧ (G ∧ H) ⇔ (F ∧ G) ∧HF ∨ G ⇔ G ∨ F

F ∨ (G ∨ H) ⇔ (F ∨ G) ∨HF ∨ F ⇔ F

Weiterhin gibt es fur Aussagen noch Rechenregeln und Gesetze, die wir im fol-genden auflisten wollen. Alle lassen sich mit Hilfe der Wahrheitstafeln beweisen,allerdings erweist sich das bei steigender Variablenanzahl als muhevoll, denn dieAnzahl der Uberprufungen ist 2n, wenn n die Anzahl der Aussagenvariablen ist.Die Frage nach dem maximal notigen Aufwand (in Abhangigkeit von der Großeder Aussagen) fur die Bestimmung, ob eine Aussage erfullbar ist, ist ein beruhm-tes offenes Problem der (theoretischen) Informatik, das SAT ∈ P-Problem,dessen Losung weitreichende Konsequenzen hatte, z.B. wurde P = NP darausfolgen. Im Moment geht man davon aus, dass dies nicht gilt.

Lemma 2.14 (Aquivalenzen:)

¬(¬A)) ⇔ A(A ⇒ B) ⇔ (¬A ∨B)(A ⇔ B) ⇔ ((A ⇒ B) ∧ (B ⇒ A))¬(A ∧B) ⇔ ¬A ∨ ¬B (DeMorgansche Gesetze)¬(A ∨B) ⇔ ¬A ∧ ¬BA ∧ (B ∨ C) ⇔ (A ∧B) ∨ (A ∧ C) DistributivitatA ∨ (B ∧ C) ⇔ (A ∨B) ∧ (A ∨ C) Distributivitat(A ⇒ B) ⇔ (¬B ⇒ ¬A) KontrapositionA ∨ (A ∧B) ⇔ A AbsorptionA ∧ (A ∨B) ⇔ A Absorption

Diese Regeln sind nach Satz 2.12 nicht nur verwendbar, wenn A;B;C Aussage-variablen sind, sondern auch, wenn A,B, C fur Aussagen stehen.

2.3 Normalformen

Fur Aussagen der Aussagenlogik gibt es verschiedene Normalformen. U.a. diedisjunktive Normalform (DNF) und die konjunktive Normalform (CNF): Dieletzte nennt man auch Klauselnormalform.

• disjunktive Normalform (DNF). Die Aussage ist eine Disjunktion von Kon-junktionen von Literalen. D.h. von der Form

(L1,1 ∧ . . . ∧ L1,n1) ∨ . . . ∨ (Lm,1 ∧ . . . ∧ Lm,nm)

wobei Li,j Literale sind.

22

• konjunktive Normalform (CNF). Die Aussage ist eine Konjunktion vonDisjunktionen von Literalen. D.h. von der Form

(L1,1 ∨ . . . ∨ L1,n1) ∧ . . . ∧ (Lm,1 ∨ . . . ∨ Lm,nm)

wobei Li,j Literale sind.

Die Klauselnormalform wird oft als Menge von Mengen notiert und auch behan-delt. Dies ist gerechtfertigt, da sowohl ∧ als auch ∨ assoziativ, kommutativ undidempotent sind, so dass Vertauschungen und ein Weglassen der Klammern er-laubt ist. Wichtig ist die Idempotenz, die z.B. erlaubt, eine Klausel {A,B,A, C}als unmittelbar aquivalent zur Klausel {A,B, C} zu betrachten. Eine Klauselmit einem Literal bezeichnet man auch als 1-Klausel. Eine Klausel (in Mengen-schreibweise) ohne Literale wird als leere Klausel bezeichnet. Diese ist aquivalentzu 0, dem Widerspruch.

Definition 2.15 Eine Hornklausel ist eine Klausel mit maximal einem positi-ven Literal. Eine Hornklauselmenge ist eine Klauselmenge die nur aus Horn-klauseln besteht.

Lemma 2.16 Eine Klausel C ist eine Tautologie genau dann wenn es eineVariable A gibt, so dass sowohl A als auch ¬A in der Klausel vorkommen

Beweis. Ubungsaufgabe.Es gilt:

Lemma 2.17 Zu jeder Aussage kann man eine aquivalente CNF finden undebenso eine aquivalente DNF. Allerdings nicht in eindeutiger Weise.

Lemma 2.18

• Eine Aussage in CNF kann man in Zeit O(n ∗ log(n)) auf Tautologie-Eigenschaft testen.

• Eine Aussage in DNF kann man in Zeit O(n ∗ log(n)) auf Unerfullbarkeittesten.

Beweis. Eine CNF C1∧. . .∧Cn ist eine Tautologie, gdw fur alle InterpretationenI diese Formel stets wahr ist. D.h. alle Ci mussen ebenfalls Tautologien sein.Das geht nur, wenn jedes Ci ein Paar von Literalen der Form A,¬A enthalt.Das gleiche gilt in dualer Weise fur eine DNF, wenn man dualisiert, d.h. wennman ersetzt: ∧ ↔ ∨, 0 ↔ 1, CNF ↔ DNF, Tautologie ↔ Widerspruch. 2

Der duale Test: CNF auf Unerfullbarkeit bzw. DNF auf Allgemeingultigkeit istdie eigentliche harte Nuß.DualitatsprinzipMan stellt fest, dass in der Aussagenlogik (auch in der Pradikatenlogik) Definiti-on, Lemmas, Methoden, Kalkule, Algorithmen stets eine duale Variante haben.Die Dualitat ist wie im Beweis oben: durch Vertauschung zu sehen: ∧ ↔ ∨,

23

0 ↔ 1, CNF ↔ DNF, Tautologie ↔ Widerspruch, Test auf Allgemeingultigkeit↔ Test auf Unerfullbarkeit. D.h. auch, dass die Wahl zwischen Beweissystemen,die auf Allgemeingultigkeit testen und solchen, die auf Unerfullbarkeit testen,eine Geschmacksfrage ist und keine prinzipielle Frage.

Lemma 2.19 Sei F eine Formel. Dann ist F allgemeingultig gdw. ¬F ein Wi-derspruch ist

Bemerkung 2.20 Aus Lemma 2.18 kann man Schlußfolgerungen ziehen uberdie zu erwartende Komplexitat eines Algorithmus, der eine Formel (unter Aqui-valenzerhaltung) in eine DNF (CNF) transformiert. Wenn dieser Algorith-mus polynomiell ware, dann konnte man einen polynomiellen Tautologietestdurchfuhren:

Zuerst uberfuhre eine Formel in CNF und dann prufe, ob diese CNFeine Tautologie ist.

Dies ware ein polynomieller Algorithmus fur ein co-NP-vollstandiges Problem.Allerdings sehen wir spater, dass die DNF (CNF-)Transformation selbst nichtder Engpass ist, wenn man nur verlangt, dass die Allgemeingultigkeit (Unerfull-barkeit) in eine Richtung erhalten bleibt.

Definition 2.21 Transformation in KlauselnormalformFolgende Prozedur wandelt jede aussagenlogische Formel in konjunktive Nor-malform (CNF, Klauselnormalform) um:

1. Elimination von ⇔ und ⇒:

F ⇔ G → (F ⇒ G) ∧ (G ⇒ F )

und

F ⇒ G → ¬F ∨G

2. Negation ganz nach innen schieben:

¬¬F → F¬(F ∧G) → ¬F ∨ ¬G¬(F ∨G) → ¬F ∧ ¬G

3. Distributivitat (und Assoziativitat, Kommutativitat) iterativ anwenden,um ∧ nach außen zu schieben (”Ausmultiplikation“). F ∨ (G ∧ H) →(F ∨ G) ∧ (F ∨ H) (Das duale Distributivgesetz wurde eine disjunktiveNormalform ergeben.)

Das Resultat dieser Prozedur ist eine Konjunktion von Disjunktionen (Klauseln)von Literalen:

(L1,1 ∨ . . . ∨ L1,n1)∧ (L2,1 ∨ . . . ∨ L2,n2)∧. . .∧ (Lk,1 ∨ . . . ∨ Lk,nk

)

24

oder in (Multi-)Mengenschreibweise:

{{L1,1, . . . , L1,n1},{L2,1, . . . , L2,n2},. . .{Lk,1, . . . , Lk,nk

}}

Die so hergestellte CNF ist eine Formel, die aquivalent zur eingegebenen For-mel ist. Dieser CNF-Algorithmus ist im schlechtesten Fall exponentiell, d.h. dieAnzahl der Literale in der Klauselform wachst exponentiell mit der Große derAusgangsformel.Es gibt zwei Schritte, die zum exponentiellem Anwachsen der Formel fuhrenkonnen,

• die Elimination von ⇔: Betrachte die Formel (A1 ⇔ A2) ⇔ (A3 ⇔ A4)und die Verallgemeinerung.

• Ausmultiplikation mittels Distributivgesetz:

(A1∧ . . .∧An)∨B2∨ . . .∨Bm → ((A1∨B2)∧ . . .∧(An∨B2))∨B3 . . .∨Bn

Dies verdoppelt B2 und fuhrt zum Iterieren des Verdoppelns, wenn Bi

selbst wieder zusammengesetzte Aussagen sind.

Beispiel 2.22((A ∧B) ⇒ C) ⇒ C

→ ¬(¬(A ∧B) ∨ C) ∨ C→ (A ∧B) ∨ ¬C ∨ C→ (A ∨ ¬C ∨ C) ∧ (B ∨ ¬C ∨ C)

2.4 Schnelle CNF

Wir geben einen Algorithmus an, der eine aussagenlogische Formel F in po-lynomieller Zeit in eine CNF FCNF umwandelt, wobei die Formel F erfullbarist gdw. FCNF erfullbar ist. Es ist hierbei nicht gefordert, dass F und FCNF

aquivalent als Formeln sind! Beachte, dass bei diesem Verfahren die Anzahl derVariablen erhoht wird.Der Trick ist: komplexe Subformeln iterativ durch neue Variablen abzukurzen.Sei F [G] eine Formel mit der Subformel G. Dann erzeuge daraus (A ⇔ G)∧F [A],wobei A eine neue aussagenlogische Variable ist.

Lemma 2.23 F [G] ist erfullbar gdw. (G ⇔ A) ∧ F [A] erfullbar ist. Hierbeimuss A eine Variable sein, die nicht in F [G] vorkommt.

Beweis. ”⇒“: Sei F [G] erfullbar und sei I eine beliebige Interpretation mitI(F[G]) = 1. Erweitere I zu I ′, so dass I ′(A) := I(G). Werte die Formel (G ⇔A) ∧ F [A] unter I ′ aus: Es gilt I ′(G ⇔ A) = 1 und I ′(F [G]) = I ′(F [A]) = 1.

”⇐“: Sei I(G ⇔ A)∧F [A]) = 1 fur eine Interpretation I. Dann ist I(G) = I(A)und I(F [A]) = 1. Damit muss auch I(F [G]) = 1 sein. 2

25

Zunachst benotigen wir den Begriff Tiefe einer Aussage und Subformel in Tiefen. Beachte hierbei aber, dass es jetzt auf die genaue syntaktische Form ankommt:Es muss voll geklammert sein. Man kann es auch fur eine flachgeklopfte Formdefinieren, allerdings braucht man dann eine andere Syntaxdefinition usw.

Definition 2.24 Sei F = F1 ∧ . . . ∧ Fn eine Formel, so dass Fi keine Kon-junktionen mehr sind. Die Tiefe einer Subformel F ′ einer Formel Fi definiertman entsprechend der Syntax: Zunachst ist Fi eine Subformel der Tiefe 0 vonsich selbst. Sei H eine Subformel von F in Tiefe n. Dann definieren wir furSubformeln von Fi wie folgt:

• Wenn H ≡ ¬G, dann ist G eine Subformel in Tiefe n + 1

• Wenn H ≡ (G1 op G2), dann sind G1, G2 Subformeln in Tiefe n + 1,wobei op einer der Junktoren ∨,∧,⇒,⇔ sein kann.

Die Tiefe einer Formel Fi sei die maximale Tiefe einer Subformel.

Definition 2.25 Schneller CNF-AlgorithmusWenn eine Formel F in der Form F1 ∧ . . .∧ Fn ist, und Fj eine Tiefe ≥ 3 hat,dann ersetze Fj folgendermaßen: Ersetze alle Subformeln G1, . . . , Gm von Fj

die in Tiefe 2 sind, und die keine Atome sind, durch neue Variablen Ai: D.h.Ersetze Fj [G1, . . . , Gm] durch (G1 ⇔ A1) ∧ . . . ∧ (Gm ⇔ Am) ∧ Fj [A1, . . . , Am]in der Formel F1 ∧ . . . ∧ Fn.Dies ergibt wieder eine Konjunktion.Iteriere diesen Schritt, bis er nicht mehr durchfuhrbar ist.Danach wandle die verbliebenen Formeln in CNF um.

Aussage 2.26 Die schnelle CNF-Transformation ist in polynomieller Zeitdurchfuhrbar.

Die Begrundung der verbesserten Komplexitat ist folgendermaßen: Aus einerFormel Fi der Tiefe n entsteht im Ersetzungsschritt eine Formel der Tiefehochstens 2 und weitere Konjunktionsglieder der Form Gj ⇔ Aj (mit echtkleinerer Tiefe als Fi). D.h. nur in Gj kann wieder ersetzt werden. D.h. die An-zahl der neu hinzugefugten Formeln ist kleiner als die Anzahl aller Subformelnder ursprunglichen Formel F . Den Aufwand zur Umformung der kleinen For-meln kann man als konstant ansehen. Da die Große der Formel F gerade dieAnzahl der Subformeln ist, ist die Anzahl der durchzufuhrenden Schritte linear.Je nach Datenstruktur (zur Vermeidung von Suche) kann man den Algorithmusin O(n ∗ log(n)) formulieren und implementieren.Dual dazu ist wieder die schnelle Herstellung einer DNF, die allerdings mit eineranderen Transformation: F [G] −→ (G ⇔ A) ⇒ F [A] gemacht werden muss undbei der die Tautologie-Eigenschaft erhalten bleibt.

Beispiel 2.27 Wandle eine DNF in eine CNF auf diese Art und Weise umunter Erhaltung der Erfullbarkeit. Sei (D11 ∧D12)∨ . . .∨ (Dn1∧Dn2) die DNF.Wenn man das Verfahren leicht abwandelt, damit man besser sieht, was passiert:

26

ersetzt man die Formeln (Di1 ∧ Di2) durch neue Variablen Ai und erhalt amEnde:(A1 ∨ . . .∨An)∧ (¬A1 ∨D11)∧ (¬A1 ∨D12)∧ (¬D11 ∨¬D12 ∨A1)∧ . . .. DieseFormel hat 8n Literale.

Beispiel 2.28 Wandle die Formel

(((((X ⇔ Y ) ⇔ Y ) ⇔ Y ) ⇔ Y ) ⇔ X)

um. Das ergibt:

(A ⇔ ((X ⇔ Y ) ⇔ Y )) ⇒ ((((A ⇔ Y ) ⇔ Y ) ⇔ X)

Danach kann man diese Formel dann auf ubliche Weise in DNF umwandeln.

Bemerkung 2.29 Ein Implementierung eines Algorithmus, der For-meln in Klauselmengen verwandelt, kann z.B. auf der www-Seitehttp://spass.mpi-sb.mpg.de gefunden werden. Das Programm heißtFLOTTER. Es benotigt einen gewissen Vorspann: Symbole, . . . ; es verlangt einestandardisierte Syntax und erzeugt dann als Ausgabe-Datei eine Klauselmenge.Diese kann dann in einen weiteren Beweiser (SPASS) eingegeben werden. Aller-dings hat FLOTTER einen aussagenlogischen Check als Teilsystem eingebaut,so dass sich aussagenlogische Formeln sofort damit entscheiden lassen. DiesesSystem gibt im erfullbaren Fall ein Modell aus.

2.5 Resolution fur Aussagenlogik

Das Resolutionsverfahren dient zum Erkennen von Widerspruchen, wobei stattdes Tests auf Allgemeingultigkeit einer Formel F die Formel ¬F in eine Klausel-form umgewandelt wird und diese dann auf Unerfullbarkeit getestet wird. EineBegrundung fur die Korrektheit wurde bereits gegeben. Eine erweiterte liefertdas folgende Lemma zum Beweis durch Widerspruch:

Lemma 2.30 Eine Formel A1 ∧ . . . ∧ An ⇒ F ist allgemeingultig gdw.A1 ∧ . . . ∧An ∧ ¬F widerspruchlich ist.

Beweis. Ubungsaufgabe 2

Die semantische Entsprechung ist:

Lemma 2.31 {A1, . . . , An} |= F gdw. es keine Interpretation I gibt, so dassI |= {A1, . . . , An,¬F}

Die Resolution ist eine Regel, die auf einer Klauselmenge operiert und mit derman aus zwei Klauseln der Klauselmenge eine weitere herleiten und diese dannzur Klauselmenge hinzufugen kann.Resolution:

A ∨B1 ∨ . . . ∨Bn

¬A ∨C1 ∨ . . . ∨ Cm

B1 ∨ . . . ∨Bn ∨ C1 ∨ . . . ∨ Cm

27

Man nennt die ersten beiden Klauseln auch Elternklauseln und die neu herge-leitete Klausel Resolvente.Auf der Ebene der Klauselmengen sieht das Verfahren so aus:

C → C ∪ {R}

wobei R eine Resolvente ist, die aus zwei Klauseln von C berechnet wordenist. Man nimmt der Einfachheit halber an, dass Klauseln Mengen sind; d.h.es kommen keine Literale doppelt vor. Außerdem nimmt man auch noch an,dass die Konjunktion der Klauseln eine Menge ist, d.h. nur neue Klauseln, dienicht bereits vorhanden sind, konnen hinzugefugt werden. Wird die leere Klauselhergeleitet, ist das Verfahren beendet, denn ein Widerspruch wurde hergeleitet.Eingesetzt wird die Resolution zur Erkennung unerfullbarer Klauselmengen. Eswerden solange Resolventen hergeleitet, bis entweder die leere Klausel hinzu-gefugt wurde oder keine neue Resolvente mehr herleitbar ist. Dies geschiehtmeist in der Form, dass man Axiome (als Konjunktion) eingibt und ebensoeine negierte Folgerung, so dass die Unerfullbarkeit bedeutet, dass man einenWiderspruch hergeleitet hat.Wenn man keine neuen Klauseln mehr herleiten kann, oder wenn besonderskurze (aussagekraftige) Klauseln hergeleitet werden, kann man diese als ech-te Folgerungen aus den eingegebenen Formeln ansehen, und evtl. ein Modellkonstruieren. Allerdings ist das bei obiger Widerspruchsvorgehensweise nichtunbedingt ein Modell der Axiome, da die negiert eingegebene Folgerung dazubeigetragen haben kann.

Lemma 2.32 Wenn C → C ′ mit Resolution, dann ist C aquivalent zu C ′.

Beweis. Wir zeigen den nichttrivialen Teil:Sei I eine Interpretation, die sowohl A ∨B1 ∨ . . . ∨Bn und ¬A ∨C1 ∨ . . . ∨Cm

wahrmacht. Wenn I(A) = 1, dann gibt es ein Cj , so dass I(Cj) = 1. Damit istauch die Resolvente unter I wahr. Analog fur den Fall I(A) = 0.2

Aussage 2.33 Die Resolution auf einer aussagenlogischen Klauselmenge ter-miniert, wenn man einen Resolutionsschritt nur ausfuhren darf, wenn sich dieKlauselmenge vergroßert.

Beweis. Es gibt nur endlich viele Klauseln, da Resolution keine neuen Variableneinfuhrt. 2

Ubungsaufgabe 2.34 Gebe ein Beispiel an, so dass R sich aus C1, C2 mitResolution herleiten laßt, aber C1 ∧ C2 ⇔ R ist falsch

Da Resolution die Aquivalenz der Klauselmenge als Formel erhalt, kann man die-se auch verwenden, um ein Modell zu erzeugen, bzw. ein Modell einzuschranken.Leider ist diese Methode nicht immer erfolgreich: Zum Beispiel betrachte mandie Klauselmenge {{A,B}, {¬A,¬B}}. Resolution ergibt:

{{A,B}, {A,¬A}, {B,¬B}, {¬A,¬B}}

28

D.h. es wurden zwei tautologische Klauseln hinzugefugt. Ein Modell laßt sichdirekt nicht ablesen. Zum Generieren von Modellen ist die Davis-Putnam-Prozedur (siehe 2.6) oder ein Tableaukalkul (siehe 2.7) geeigneter .Was jetzt noch fehlt, ist ein Nachweis der naheliegenden Vermutung, dass dieResolution fur alle unerfullbaren Klauselmengen die leere Klausel auch findet.

Satz 2.35 Fur eine unerfullbare Klauselmenge findet Resolution nach endlichvielen Schritten die leere Klausel.

Beweis. Dazu genugt es anzunehmen, dass eine unerfullbare Klauselmenge Cexistiert, die keine Herleitung der leeren Klausel mit Resolution erlaubt. Wirkonnen annehmen, dass es eine kleinste Klauselmenge gibt bzgl. des Maßeslxn(C) = Anzahl der Literale − Anzahl der Klauseln (Anzahl der uberschussi-gen Literale).Im Basisfall (d.h. lxn(C) = 0) gibt es nur noch 1-Klauseln. Damit diese Klau-selmenge unerfullbar ist, muss es eine Variable A geben, so dass sowohl {A} alsauch {¬A} als Klausel vorkommt. Dann ist aber noch eine Resolution moglich,die die leere Klausel herleitet.Sei also lxn(C) > 0. Dann betrachte eine Klausel K ∈ C, die mehr als ein Literalhat. Ersetzt man K durch K ′, wobei ein Literal gestrichen ist, d.h. K = K ′∪{L},so erhalt man ebenfalls eine unerfullbare Klauselmenge C ′: Ware C ′ erfullbarmit der Interpretation I, dann auch I |= C. Da lxc(C ′) < lxc(C), gibt esfur C ′ eine Herleitung der leeren Klausel. Wenn diese Herleitung K ′ nicht (alsElternklausel) benotigt, dann kann man diese Herleitung bereits in C machen,also benotigt diese Herleitung die Klausel K. Ubersetzt man diese Herleitungder leeren Klausel in eine Herleitung unter Benutzung von K, so erhalt maneine Herleitung der 1-Klausel {L}.Betrachtet man jetzt noch die Klauselmenge C ′′, die aus C entsteht, wennman K durch {L} ersetzt, so sieht man wie oben: C ′′ ist unerfullbar undlxc(C ′′) < lxc(C). Damit existiert eine Herleitung der leeren Klausel in C ′′.Zusammengesetzt erhalt man eine Herleitung der leeren Klausel in C. 2

Satz 2.36 Resolution erkennt unerfullbare Klauselmengen.

Was wir hier nicht mehr durchfuhren wollen, sondern auf die Behandlung der all-gemeinen Resolution verschieben, ist die Verwendung von Redundanzkriterien.Z.B. Loschung von Tautologien, unnotigen Klauseln usw.Die Komplexitat im schlimmsten Fall wurde von A. Haken [Hak85] (siehe auch[Ede92] nach unten abgeschatzt: Es gibt eine Folge von Formeln (die sogenann-ten Taubenschlag-formeln (pigeon hole formula, Schubfach-formeln), fur die gilt,dass die kurzeste Herleitung der leeren Klausel mit Resolution eine exponentielleLange (in der Große der Formel) hat.Betrachtet man das ganze Verfahren zur Prufung der Allgemeingultigkeit eineraussagenlogischen Formel, so kann man eine CNF in linearer Zeit herstellen,aber ein Resolutionsbeweis ist im schlimmsten Fall exponentiell lang, d.h. wirdim schlimmsten Fall auch exponentiell lange dauern.

29

Beachte, dass es formale Beweisverfahren gibt, die polynomiell lange Beweise furdie Schubfachformeln haben. Es ist theoretisch offen, ob es ein Beweisverfahrengibt, das fur alle Aussagen polynomiell lange Beweise hat: Dies ist aquivalentzum offenen Problem NP = co-NP.

2.6 Davis-Putnam-Verfahren

Die Prozedur von Davis und Putnam zum Entscheiden der Erfullbarkeit (undUnerfullbarkeit) von aussagenlogische Klauselmengen beruht auf Fallunter-scheidung und Ausnutzen und Propagieren der Information. Wenn man dieVollstandigkeit des Resolutionskalkuls fur Pradikatenlogik inklusive einiger Red-undanzregeln voraussetzt, (Subsumtionsregel, Isolationsregel), kann man dieKorrektheit leicht begrunden.

Definition 2.37 Resolutionsverfahren fur Aussagenlogik (Davis-Putnam Pro-zedur)Sei C eine aussagenlogische Klauselmenge. Dann wird die Davis-Putnam Ent-scheidungsprozedur DP folgendermaßen (rekursiv) definiert: Es ist ein Algorith-mus, der eine Klauselmenge als Eingabe hat, und genau dann true als Ausgabehat, wenn die Klauselmenge unerfullbar ist.Als Vorverarbeitungsschritt konnen wir annehmen, dass keine Tautologien inder Klauselmenge enthalten sind. D.h. es gibt keine Klausel, die gleichzeitig Pund ¬P fur eine Variable P enthalt.

1. (a) Wenn die leere Klausel in C ist: RETURN true.

(b) Wenn C die leere Klauselmenge ist: RETURN false.

2. wenn es in eine 1-Klausel {P} (bzw. {¬P}) gibt, wobei P eine Variableist, dann verandere C wie folgt:

(a) Losche alle Klauseln in denen P (bzw. ¬P ) als Literal vorkommt.

(b) Losche alle Vorkommen des Literals ¬P (bzw. P ) in anderen Klau-seln.

Die resultierende Klauselmenge sei C ′. RETURN DP (C ′)

3. Wenn es isolierte Literale 2 gibt, wende die Loschregel fur isolierte Literalean. D.h. losche die Klauseln, in denen isolierte Literale vorkommen. Dieresultierende Klauselmenge sei C ′.RETURN DP (C ′)

4. Wenn keiner der obigen Falle zutrifft, dann wahle eine noch in C vorkom-mende aussagenlogische Variable P aus.RETURN DP (C ∪ {P}) ∧DP (C ∪ ¬P )

2P ist isoliert, wenn ¬P nicht mehr vorkommt, entsprechend ¬P ist isoliert, wenn P nichtmehr vorkommt

30

Dies ist ein vollstandiges, korrektes Entscheidungsverfahren fur die (Un-)Erfull-barkeit von aussagenlogischen Klauselmengen. Punkt 2a) entspricht der Sub-sumtion, Punkt 2b) ist Resolution mit anschließender Subsumtion. Punkt 3) istder Spezialfall der isolierten Literale und 4) ) ist eine Fallunterscheidung, ob Pwahr oder falsch ist. Diese DP-Prozedur ist im allgemeinen sehr viel besser alseine vollstandige Fallunterscheidung uber alle moglichen Variablenbelegungen,d.h. besser als die Erstellung einer Wahrheitstafel. Die DP-Prozedur braucht imschlimmsten Fall exponentiell viel Zeit, was nicht weiter verwundern kann, dennein Teil des Problems ist gerade SAT, das Erfullbarkeitsproblem fur aussagen-logische Klauselmengen, und das ist bekanntlich NP-vollstandig.Der DP-Algorithmus ist erstaunlich schnell, wenn man bei Punkt 4) noch daraufachtet, dass man Literale auswahlt, die in moglichst kurzen Klauseln vorkom-men. Dies erhoht namlich die Wahrscheinlichkeit, dass nach wenigen Schrittengroße Anteile der Klauselmenge geloscht werden.Der DP-Algorithmus kann leicht so erweitert werden, dass im Falle der Erfull-barkeit der Klauselmenge auch ein Modell berechnet wird. Der Algorithmusarbeitet depth-first mit backtracking. Wenn die Antwort ”erfullbar“ ist, kannman durch Ruckverfolgung der folgenden Annahmen ein Modell bestimmen:

1. Isolierte Literale werden als wahr angenommen.

2. Literale in 1-Klauseln werden ebenfalls als wahr angenommen.

Beispiel 2.38 Betrachte folgende Klauselmenge, wobei jede Zeile einer Klauselentspricht.

P, Q¬P, Q RP, ¬Q, R¬, P ¬Q, RP, Q, ¬R¬P, Q, ¬RP, ¬Q, ¬R¬P, ¬Q, ¬R

Fall 1: Addiere die Klausel {P}. Das ergibt nach einigen Schritten:

Q, R¬Q, RQ, ¬R¬Q, ¬R

Fall 1.1: Addiere {Q}: ergibt die leere Klausel.Fall 1.2: Addiere {¬Q}: ergibt die leere Klausel.Fall 2: Addiere die Klausel {¬P}. Das ergibt nach einigen Schritten:

Q¬Q RQ ¬R¬Q ¬R

31

Weitere Schritte fur Q ergeben

R¬R

Auch dies ergibt sofort die leere Klausel. Damit hat die DP-Prozedur die einge-gebene Klauselmenge als unerfullbar erkannt.

Beispiel 2.39 Wir nehmen uns ein Ratsel von Raymond Smullyan vor:Die Frage nach dem Pfefferdieb.Es gibt drei Verdachtige: Den Hutmacher, den Schnapphasen und die (Hasel-)Maus. Folgendes ist bekannt:

• Genau einer von ihnen ist der Dieb.

• Unschuldige sagen immer die Wahrheit

• Schnapphase: der Hutmacher ist unschuldig.

• Hutmacher: die Hasel-Maus ist unschuldig

Kodierung: H,S,M sind Variablen fur Hutmacher, Schnapphase, Maus und be-deuten jeweils ”ist schuldig“. Man kodiert das in Aussagenlogik und fragt nacheinem Modell.

• H ∨ S ∨M

• H ⇒ ¬(S ∨M)

• S ⇒ ¬(H ∨M)

• M ⇒ ¬(H ∨ S)

• ¬S ⇒ ¬H

• ¬H ⇒ ¬M

Dies ergibt eine Klauselmenge (doppelte sind schon eliminiert):

1. H,S,M

2. ¬H,¬S

3. ¬H,¬M

4. ¬S,¬M

5. S,¬H

6. H,¬M

Wir konnen verschiedene Verfahren zur Losung verwenden.

32

1. Resolution ergibt: 2 + 5 : ¬H, 3 + 6 : ¬M . Diese beiden 1-Klauseln mit1 resolviert ergibt: S. Nach Prufung, ob {¬H,¬M,S} ein Modell ergibt,konnen wir sagen, dass der Schnapphase schuldig ist.

2. Davis Putnam: Wir verfolgen nur einen Pfad im Suchraum:Fall 1: S = 0. Die 5-te Klausel ergibt dann ¬H. Danach die 6te Klausel¬M . Zusammen mit (den Resten von) Klausel 1 ergibt dies ein Wider-spruch.Fall 2: S = 1. Dann bleibt von der vierten Klausel nur ¬M ubrig, und vonder zweiten Klausel nur ¬H. Diese ergibt somit das gleiche Modell.

Beispiel 2.40 Eine Logelei aus der ”Zeit“:Abianer sagen die Wahrheit, Bebianer Lugen. Es gibt folgende Aussagen:

1. Knasi: Knisi ist Abianer.

2. Knesi: Wenn Knosi Bebianer, dann ist auch Knusi ein Abianer.

3. Knisi: Wenn Knusi Abianer, dann ist Knesi Bebianer.

4. Knosi: Knesi und Knusi sind beide Abianer.

5. Knusi: Wenn Knusi Abianer ist, dann ist auch Knisi Abianer.

6. Knosi: Entweder ist Knasi oder Knisi Abianer.

7. Knusi: Knosi ist Abianer.

Eine offensichtliche Kodierung ergibt

A <=> IE <=> (-OE => U)I <=> (U => -E)O <=> (E /\ UE)U <=> (UE => I)OE <=> (A XOR I)UE <=> O

Die Eingabe in den Davis-Putnam-Algorithmus ergibt:

abianer1Expr = "((A <=> I) /\\ (E <=> (-OE => U)) /\\ (I <=> (U => -E))/\\ (O <=> (E /\\ UE)) /\\ (U <=> (UE => I))/\\ (OE <=> -(A <=> I)) /\\ (UE <=> O))"

Resultat:"Modell: -OE, -O, -UE, E, U, -I, -A"

Damit sind Knesi und Knusi Abianer, die anderen sind Bebianer.

33

Beispiel 2.41 Ein weiteres Ratsel von Raymond Smullyan:Hier geht es um den Diebstahl von Salz. Die Verdachtigen sind: Lakai mit demFroschgesicht, Lakai mit dem Fischgesicht, Herzbube.Die Aussagen und die bekannten Tatsachen sind:

• Frosch: der Fisch wars

• Fisch: ich wars nicht

• Herzbube: ich wars

• Genau einer ist der Dieb

• hochstens einer hat gelogen

Man sieht, dass es nicht nur um die Losung des Ratsels selbst geht, sondernauch um etwas Ubung und Geschick, das Ratsel so zu formalisieren, dass es voneinem Computer gelost werden kann. Man muss sich auch davon uberzeugen,dass die Formulierung dem gestellten Problem entspricht.Wir wollen Aussagenlogik verwenden.Wir verwenden Variablen mit folgenden Namen und Bedeutung:

FRW Frosch sagt die WahrheitFIW Fisch sagt die WahrheitHBW Herzbube sagt die WahrheitFID der Fisch ist der DiebFRD der Frosch ist der DiebHBD der Herzbube ist der Dieb

Die Formulierung ist:

hochstens einer sagt die Wahrheit:¬FRW ⇒ FIW ∧HBW¬FIW ⇒ FRW ∧HBW¬HBW ⇒ FRW ∧HIW

genau einer ist der Dieb:FID ∨ FRD ∨HBDFID ⇒ ¬FRD ∧ ¬HBDFRD ⇒ ¬FID ∧ ¬HBDHBD ⇒ ¬FID ∧ ¬FRD

Die Aussagen:FRW ⇒ FIDFIW ⇒ ¬FIDHBW ⇒ HBD

Eingabe in den DP-Algorithmus:

34

dp "((-FRW => FIW /\\ HBW) /\\ (-FIW => FRW /\\ HBW)/\\ (-HBW => FRW /\\ HIW)/\\ (FID => -FRD /\\ -HBD) /\\ (FRD => -FID /\\ -HBD)/\\ (HBD => -FID /\\ -FRD) /\\ (FRW => FID)/\\ (FIW => -FID) /\\ (HBW => HBD))"

Die berechnete Losung ist: HBD,−FID,HBW,FIW,−FRW,−FRD D.hFRW ist falsch, d.h. der Fisch hat gelogen und der Herzbube war der Dieb.

Beispiel 2.42 Anwendung auf ein Suchproblem: das n-Damen Problem.Es sollen Koniginnen auf einem quadratischen Schachbrett der Seitenlange n soplaziert werden, dass diese sich nicht schlagen konnen. damit die Formulierungeinfacher wird, erwarten wir, dass sich in jeder Zeile und Spalte eine Koniginbefindet.Ein Programm zum Erzeugen der Klauselmenge erzeugt im Fall n = 4:

[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [1, 5, 9, 13],[2, 6, 10, 14], [3, 7, 11, 15], [4, 8, 12, 16],[-1, -5], [-1, -9], [-1, -13],[-1, -2], [-1, -6], [-1, -3], [-1, -11], [-1, -4], [-1, -16],[-5, -9], [-5, -13],[-5, -2], [-5, -6], [-5, -10], [-5, -7], [-5, -15], [-5, -8],[-9, -13],[-9, -6], [-9, -10], [-9, -14], [-9, -3], [-9, -11], [-9, -12],[-13, -10], [-13, -14],[-13, -7], [-13, -15], [-13, -4], [-13, -16], [-2, -6], [-2, -10],[-2, -14],[-2, -3], [-2, -7], [-2, -4], [-2, -12], [-6, -10],[-6, -14], [-6, -3],[-6, -7], [-6, -11], [-6, -8], [-6, -16], [-10, -14], [-10, -7],[-10, -11], [-10, -15],[-10, -4], [-10, -12], [-14, -11],[-14, -15], [-14, -8], [-14, -16], [-3, -7],[-3, -11], [-3, -15], [-3, -4], [-3, -8], [-7, -11], [-7, -15],[-7, -4], [-7,-8],[-7, -12], [-11, -15], [-11, -8], [-11, -12], [-11, -16], [-15, -12],[-15, -16], [-4, -8], [-4, -12], [-4, -16], [-8, -12],[-8, -16], [-12, -16]]

Das Ergebnis der DP-Prozedur sind zwei Interpretationen:

> davisPutnamAlle (generate_nqueens 4)[[-4, -8, -15, 5, -13, 14, -6, -2, 12, -9, -1, 3, -16, -10, -7, -11],[-4, 2, 8, -6, -1, 9, -12, -14, -13, -5, 15, -3, -16, -10, -7, -11]]

Die entsprechen den zwei moglichen Plazierungen im Fall n = 4.Der Aufruf dpqueens 8 ergibt nach kurzer Zeit:

35

- - D - - - - -- - - - - - D -- D - - - - - -- - - - - - - D- - - - D - - -D - - - - - - -- - - D - - - -- - - - - D - -

2.7 Tableaukalkul fur Aussagenlogik

Im folgenden betrachten wir einen Kalkul, der in verschiedenen Formen undAuspragungen viele Einsatzbereiche hat: u.a Aussagenlogik, Pradikatenlogik,Modallogik, mehrwertige Logik, und Programmanalysen.Ein Tableau ist i.a. eine baumformig organisierte Datenstruktur, die mit (be-liebigen) Formeln markiert ist, und die mit geeigneten Regeln aufgebaut wird.Die Formel an der Wurzel ist bewiesen (ein Tautologie), wenn das Tableau (derBaum) bestimmte Bedingungen erfullt. Wir betrachten hier eine Variante dessogenannten analytischen Tableau-kalkuls, der eine komplexe Formel Schrittfur Schritt vereinfacht und am Ende Literale an den Blattern hat. Die zu uber-prufende Bedingung betrifft jeweils die Formeln auf den Pfaden.Grundbegriffe fur den aussagenlogischen Tableaukalkul sind:

• α-Formeln (konjunktive Formeln) und

• β-Formeln (disjunktive Formeln)

Beachte, dass die Negationszeichen nicht nach innen gezogen sind.Die direkten Unterformeln der α-Formeln sind:

α α1 α2

X ∧ Y X Y¬(X ∨ Y ) ¬X ¬Y¬(X ⇒ Y ) X ¬Y(X ⇔ Y ) X ⇒ Y Y ⇒ X

Die direkten Unterformeln der β-Formeln sind:

β β1 β2

X ∨ Y X Y¬(X ∧ Y ) ¬X ¬YX ⇒ Y ) ¬X Y¬(X ⇔ Y ) ¬(X ⇒ Y ) ¬(Y ⇒ X)

Es gilt: α ist aquivalent zu (α1 ∧ α2), und β ist aquivalent zu (β1 ∨ β2).

36

2.7.1 Tableau-Kalkul fur Aussagenlogik

Direktes Ziel des Tableau-Kalkul ist der Nachweis der Inkonsistenz einer Aus-sage.Will man beweisen, dass eine Aussage A eine Tautologie ist, dann wendet manden Tableaukalkul auf ¬A an. Damit kann man auch zeigen, dass eine AussageB aus einer Menge von Aussagen A1, . . . , An folgt: namlich durch den Nachweis,dass A1 ∧ . . . ∧An ⇒ B eine Tautologie ist.

Definition 2.43 Ein (aussagenlogisches) Tableau ist ein markierter Baum, wo-bei die Knoten mit aussagenlogischen Formeln markiert sind. Die Wurzel ist mitder Eingabeformel markiert.

• Ein Pfad ist geschlossen, wenn 0 oder ¬1 vorkommt, oder eine Formel Xexistiert, so dass auch ¬X auf diesem Pfad ist.

• Ein Pfad ist (atomar) geschlossen, wenn 0 oder ¬1 vorkommt, oder einAtom A existiert, so dass auch ¬A auf diesem Pfad ist. Ein Tableau ist(atomar) geschlossen, wenn alle Pfade (atomar) geschlossen sind.

Man kann die Regeln ansehen als Tableau-Aufbauregeln oder als Transforma-tionsregeln auf Tableaus. Wir werden die Sichtweise der Tableau-Aufbauregelnverfolgen, denn dann gibt es keinen Unterschied zwischen der Situation beimAufbau und der Situation des fertigen (geschlossenen) Tableaus. Im Falle vonTransformationsregeln konnte es sein, dass das fertige Tableau keine Uber-prufung der Aufbauregeln zulaßt.

Definition 2.44 Der Tableaukalkul TKA hat als Eingabe eine Formel F . In-itial wird ein Tableau mit einem Knoten und der Formel F erzeugt. Danachwerden ausgehend vom initialen Tableau weitere Tableaus erzeugt mit folgendenExpansionsregeln:

¬¬X

X

α

α1

α2

β

β1 | β2

¬01

¬10

Diese Regeln sind wie folgt zu verstehen: Sei θ ein Pfad im Tableau T , und dieobere Formel Fo eine Markierung eines Knotens auf diesem Pfad, dann erwei-tere das Tableau durch Verlangern des Pfades θ (d.h. Anhangen an das Blattdes Pfades) um einen mit der unteren Formel Fu markierten Knoten. Stehenunten zwei oder mehrere durch | getrennte Formeln, dann sollen entsprechendviele Blatter als Tochter angehangt werden,mit der jeweiligen Formel markiert.Danach verzweigt der Pfad θ am alten Blatt zu mehreren Pfaden.Stehen zwei oder mehr Formeln untereinander, dann sollen in Folge an den Pfadθ zwei oder mehrere Blatter (mit den jeweiligen Formeln markiert) angehangtwerden.Z.B.: Wenn eine α-Formel zu expandieren ist, erweitere den Pfad erst um α1,dann um α2. Wenn eine β-Formel zu expandieren ist, erweitere den Pfad, so

37

dass zwei neue Pfade entstehen: hange an das Blatt des Pfades zwei markierteKnoten als Tochter an, eine mit β1 eine mit β2 markiert.Als Einschrankung wird verwendet, dass jede Formel auf jedem Pfad nur einmalanalysiert (bzw. expandiert) wird.Ein Formel F ist als Tautologie bewiesen, wenn aus dem Tableau mit der in-itialen Formel ¬F ein geschlossenes Tableau erzeugt worden ist.

Im allgemeinen wird man die Formel direkt am Blatt markieren. Allerdingskommt es auch vor, dass eine Formel, die nicht das Blatt ist, expandiert wird.Diese Regeln sind nicht-deterministisch, d.h. es gibt keine genaue Angabe,welche Formel zu expandieren ist. Diese Formulierung ist gewahlt, um einemoglichst große Freiheit bei der Anwendung zu haben, mit der Garantie, dassdie Anwendung korrekt bleibt. Allerdings sollte man in einer effizienten Imple-mentierung zunachst die besten Schritte machen: D.h. moglichst wenig verzwei-gen. Dies wird durch Bevorzugung der α-Regeln erreicht. Außerdem sollte manFormeln nicht zweimal auf dem gleichen Pfad expandieren.

Beispiel 2.45 Wir zeigen ein (das) Tableau fur X ∧ ¬X:

X ∧ ¬X|X|¬X

Beispiel 2.46 Ein Tableau fur ¬(X ∧ Y ⇒ X):

¬(X ∧ Y ⇒ X)|

X ∧ Y|¬X|X|Y

Beide Tableaus sind geschlossen.

Zur Optimierung der Analyse von Aussagen der Form A ⇔ B gibt es einebessere Alternative:Erfinde neue Tableau-Expansionsregeln

A ⇔ B

A ¬AB ¬B

¬(A ⇔ B)A ¬A¬B B

38

Beispiel 2.47

¬((P ⇔ Q) ⇔ (Q ⇔ P ))

kkkkkkkkkkkkkk

SSSSSSSSSSSSSS

(P ⇔ Q) ¬(P ⇔ Q)

¬(Q ⇔ P )

ttttttttttQ ⇔ P

kkkkkkkkkkkkkkkkk

P ¬P ¬Q Q

Q

{{{{

{{{{

¬Q P ¬P

¬Q Q . . . . . . . . .

P ¬P

Ubungsaufgabe 2.48 Gebe die Tableauregeln fur XOR an.Beachte: A XOR B ist aquivalent zu ¬(A ⇔ B).

Hat man die Aufgabe zu zeigen, dass B aus A1, . . . , An folgt, so kann man daraussofort ein Tableau machen:

A1

|. . .|

An

|¬B

Beispiel 2.49 Zeige, dass P ⇒ (Q ⇒ P ) eine Tautologie ist:

39

¬(P ⇒ (Q ⇒ P ))

P

¬(Q ⇒ P )

Q

¬(P )

Das Tableau ist geschlossen, da P und ¬P auf dem einen Pfad liegen.

Beispiel 2.50 Zum Nachweis der Tautologieeigenschaft von ((P ⇒ Q)∧ (Q ⇒R)) ⇒ (P ⇒ R): starten wir mit ¬(((P ⇒ Q) ∧ (Q ⇒ R)) ⇒ (P ⇒ R)).

(P ⇒ Q)

(Q ⇒ R)

¬(P ⇒ R)

P

¬R

nnnnnnnnnnnnn

JJJJJJJJJJ

¬P Q

tttttttttt

JJJJJJJJJJJ

geschlossen ¬Q R

geschlossen geschlossen

40

Der Nachweis der algorithmischen Korrektheit des Tableaukalkuls fur Aussagen-logik besteht aus zwei Teilen:

1. Korrektheit (Soundness): Der Kalkul erzeugt geschlossene Tableaus nurfur unerfullbare Formeln.

2. Vollstandigkeit (completeness): Fur jede unerfullbare Formel kann der Ta-bleaukalkul ein geschlossenes Tableau erzeugen.

Im folgenden verwenden wir ”Korrektheit“ im Sinne der Soundness.

Definition 2.51 Ein Pfad eines Tableaus ist erfullbar, wenn die Konjunktionaller Formeln auf dem Pfad erfullbar ist. Ein Tableau ist erfullbar, wenn eseinen Pfad gibt, der erfullbar ist.

Beachte: Wenn eine Menge von Formeln 0 oder ¬1 enthalt, dann ist sie nichterfullbar.Ein geschlossenes Tableau ist nicht erfullbar.

Lemma 2.52 Fur die Tableau-Expansionsregeln gilt: Wenn T zu T ′ expandiertwird, dann ist T erfullbar gdw. T ′ erfullbar.

Beweis. ”⇒“: Es genugt, sich einen erfullbaren Pfad θ anzuschauen, und eineInterpretation I der aussagenlogischen Variablen zu wahlen, die alle Formelndes Pfades wahr macht und alle Falle der Expansionsregeln durchzugehen.

• Wenn ¬¬X in θ, dann ist I(¬¬X) = 1 wahr, also auch I(X) = 1

• Wenn fur die α-Formel X ∧ Y gilt, dass I(X ∧ Y ) = 1, dann auch I(X) =I(Y ) = 1.

• Wenn fur die β-Formel X ∨ Y gilt dass I(X ∨ Y ) = 1, dann gilt I(X) =1 oder I(Y ) = 1. Somit ist einer der Pfade, die θ fortsetzen, erfullbar,entweder der mit dem Blatt X, oder der mit dem Blatt Y .

• Analog fur die anderen α und β-Formeln.

”⇐“: Wenn ein Pfad in T ′ erfullbar ist, dann ist auch der verkurzte Pfad in T ,der den Pfad T ′ erzeugt hat, erfullbar. 2

Korollar 2.53 Der Tableaukalkul TKA ist sound.

Beweis. Gegeben eine Formel F , die kein Widerspruch ist. Dann ist F erfullbar.Der Tableaukalkul startet mit F , also ist das initiale Tableau erfullbar, also auchalle daraus erzeugten nach Lemma 2.52, insbesondere kann kein geschlossenesTableau erzeugt werden. 2

Die Vollstandigkeit kann im Fall der Aussagenlogik auf relativ einfache Weise ge-zeigt werden, allerdings ist diese Beweismethode nicht auf allgemeinere Logikenubertragbar.

Zwischenziel: Zeige die Terminierung des Tableaukalkuls fur Aussagenlogik.

41

Bemerkung 2.54 Zu Ordnungen

Ein fundierte (well-founded) Ordnung ist eine partielle Ordnung ≥ auf einerMenge M , so dass es keine unendlich absteigenden Ketten a1 > a2 > . . . in Mgibt.Es gilt: Die lexikographische Kombination von fundierten Ordnungen ist wiederfundierte Ordnung. D.h. Seien (M1,≥1) und (M2,≥2) fundierte Ordnungen.Dann ist M1 × M2 mit der Ordnung (m1,m2) >12 (m′

1,m′2) gdw. m1 >1 m′

1

oder (m1 =1 m′1 und m2 >2 m′

2) fundiert.Eine weitere nutzliche Konstruktion von fundierten Ordnungen gibt es mittelsMultimengen, sogenannte Multimengenordnungen: Sei (M,>) eine Menge mitfundierter Ordnung, dann kann man auf Multimengen (Mengen bei denen mehr-faches Vorkommen von Elementen erlaubt ist) uber M : d.h. auf Mult(M) eineOrdnung erklaren:Seien A und B Multimengen uber M , dann definiert man A >> B, wenn esweitere Multimengen X 6= ∅ und Y gibt, so dass B = (A \ X) ∪ Y und es zujedem Element von Y ein echt großeres Element in X gibt.Es gilt: Die Multimengenordnung >> ist eine partielle Ordnung. Sie ist fundiert,gdw. > fundiert ist.Z. B Nimmt man die naturlichen Zahlen mit der >-Ordnung, dann gilt inMult(IN): {3, 3, 2, 1} >> {3, 2, 2, 2}, denn {3, 2, 2, 2} = {3, 3, 2, 1} \ {3, 1} ∪{2, 2, 2}.

Lemma 2.55 Der Tableaukalkul fur Aussagenlogik terminiert, wenn man jedeFormel auf jedem Pfad hochstens einmal expandiert.

Beweis. Wir konstruieren ein fundiertes Maß fur die Große eines Tableaus alsMultimenge, so dass jede Expansionsregel dieses Maß verkleinert.Beachte, dass eine Formel die als Markierung eines Knotens auftritt, moglicher-weise mehrfach expandiert werden muss, da die Formel auf mehreren Pfade seinkann.

1. Die Große einer Formel sei eine gewichtete Anzahl der Zeichen: Das Zei-chen ⇔ wird doppelt gezahlt, Klammern werden nicht gezahlt, alle ande-ren Zeichen einfach.

2. Die Große eines Pfades θ wird gemessen durch die Multimenge der Großender Formeln an seinen Knoten, wobei der Expansions-status der Formelfur diesen Pfad θ noch berucksichtigt werden muss: Eine Formel wird nurdann in das Maß des Pfades θ aufgenommen, wenn sie auf diesem Pfadnoch nicht expandiert worden ist.

3. Die Große des Tableaus ist die Multimenge der Große aller nicht geschlos-senen Pfade.

Betrachte typische Falle der Expansionsregeln:

42

• ¬¬X → X macht einen Pfad kleiner, unabhangig von der Art der FormelX, da danach ¬¬X in diesem Pfad schon expandiert wurde. D.h. im Maßdes Pfades wird die Große von ¬¬X durch die Große von X ersetzt.

• X ∧ Y wird durch X, Y ersetzt. D.h. gr(X) + gr(Y ) + 1 wird im Maß desPfades durch {gr(X), gr(Y )} ersetzt. Analog fur die anderen α-Formeln.

• X ∨ Y wird durch X | Y ersetzt. D.h. es werden zwei Pfade erzeugt. D.hein Pfad θ wird durch zwei andere θ1, θ2 ersetzt. Im Maß wirkt sich das wiefolgt aus: Da gr(X ∨ Y ) > gr(X), gr(Y ) fur alle Formeln X, Y . Dadurchwird gr(θ) >> gr(θ1) und gr(θ) >> gr(θ2). Damit wird die Multimengealler Pfade kleiner.

• X ⇔ Y wird durch X ⇒ Y und Y ⇒ X ersetzt (nichtoptimierte Varian-te).Da gr(X ⇔ Y ) − 1 = gr(X ⇒ Y ), kann man die gleiche Argumentationwie oben anwenden.

• Andere Falle analog.

Das zugehorige Maß fur das Tableau ist fundiert, also terminiert das Verfahren.2

Definition 2.56 Eine (aussagenlogische) Hintikka-Menge ist eine Menge Hvon aussagenlogischen Formeln, fur die folgendes gilt:

1. Es kann nicht gleichzeitig A ∈ H und ¬A ∈ H fur ein Atom A gelten.

2. 0 6∈ H,¬1 6∈ H

3. ¬¬X ∈ H ⇒ X ∈ H

4. α ∈ H ⇒ α1 ∈ H und α2 ∈ H

5. β ∈ H impliziert β1 ∈ H oder β2 ∈ H

D.h. eine Hintikka-Menge ist abgeschlossen gegen bestimmte Formen der Zerle-gung der Formeln.

Lemma 2.57 (Hintikka) Jede aussagenlogische Hintikka-Menge ist erfull-bar.

Beweis. Wir zeigen, dass es eine Interpretation gibt, so dass jede Formel in Hden Wert 1 erhalt.Wenn eine Variable A ∈ H, so definiere I(A) := 1, wenn ¬A ∈ H, dann definiereI(A) := 0, wenn weder A noch ¬A in H, dann definiere I(A) beliebig, z.B.I(A) := 1. Induktion uber die Termstruktur zeigt jetzt, dass fur alle FormelnF ∈ H, I(F ) = 1 gilt. 2

43

Aussage 2.58 Sei T ein Tableau, auf das keine Expansionsregeln mehr ange-wendet werden konnen. Dann ist jeder Pfad entweder geschlossen oder entsprichteiner aussagenlogischen Hintikka-Menge (d.h. die Menge der Aussagen auf demPfad ist erfullbar).

Beweis. Wenn ein nicht geschlossener Pfad existiert, dann zeigen die Expansi-onsregeln, dass dieser Pfad dann eine Hintikka-Menge ist. Hierbei genugt ent-sprechend der oben angegebenen Steuerung, dass jede Formel nur einmal proPfad expandiert wird. 2

Satz 2.59 Der Tableaukalkul fur Aussagenlogik terminiert, ist korrekt undvollstandig.

Beweis. Wir haben schon die Korrektheit und Terminierung gezeigt. Wir be-trachten den Fall, dass eine unerfullbare Formel eingegeben wird. Wenn einPfad existiert, der nicht geschlossen ist, so ist die Menge seiner Markierungeneine Hintikka-Menge nach Aussage 2.58, also erfullbar nach Lemma 2.57, undsomit auch die eingegebene Formel, was der Voraussetzung widerspricht. Alsoist jeder Pfad geschlossen. 2

Aussage 2.60 Der Tableaukalkul konstruiert fur erfullbare Formeln ein Modell.An jedem Pfad, der nicht geschlossen ist aber auch nicht weiter expandierbarist, kann man ein Modell ablesen.

Begrundung. Da erfullbare Tableaus solange expandiert werden, bis alle Pfadeentweder geschlossen sind oder eine Hintikka-Menge darstellen, erhalt man zu-mindest einen Pfad mit einer Hintikka-Menge, wenn man das Tableauverfahrenstartet mit einer erfullbaren Formel an der Wurzel. Dies ergibt ein Modell fureinen Pfad. Beachtet man, dass im Beweis oben fur erfullbare Tableaus T , diezu T ′ expandiert werden, die Interpretation erhalten bleibt, kann man schließen,das die in diesem Pfad enthaltenen Atome ein Modell der Formel an der Wurzeldefinieren.

44

2.8 Eintscheidungsprozeduren fur quantifizierte Boole-sche Formeln

Quantifizierte Boolesche Formeln (QBF) sind Boolesche Formeln, bei denenQuantoren erlaubt sind. Die Syntax ist:

Q := 0 | 1| P ( Boolesche Variable)| (Q1 ∧Q2) | (Q1 ∨Q2)| (¬ Q)| ∀P.Q | ∃P.Q

Man kann auch weitere Junktoren zulassen, aber diese sind redundant, da siesich durch die Junktoren ∧,∨,¬ definieren lassen.Die Quantifizierung ist nur uber die zwei Wahrheitswerte.Nur bei geschlossenen QBFs spricht man von Gultigkeit der Formel.Es ist bekannt, dass die Gultigkeit von QBF PSPACE-vollstandig ist. Das Inter-esse an der Implementierung von Entscheidungsalgorithmen fur QBFs kommtdaher, dass man dadurch Implementierungen fur eine ganze Klasse von Proble-men behandeln untersucht. Wenn man eine ”effiziente“ Implementierung hat,hat man damit auch ein effizientes Entscheidungsalgorithmen fur alle PSPACE-vollstandigen Probleme, wobei man vorher noch das Problem entsprechend uber-setzen musste. Naturlich sind alle bekannten Entscheidungsprozeduren expo-nentiell, aber die Hoffnung ist, dass man durch geeignete Optimierungen derImplementierung doch einen großen Anteil der praktisch relevanten Problemeeffizient entscheiden kann.

Beispiel 2.61 Aussagenlogische Formeln kann man als QBFs ansehen, wobeiman je nach Fragestellung andere Quantoren wahlt.

1. Erfullbarkeit einer aussagenlogischen Formel F ist das gleiche wie Gultig-keit der QBF ∃p1, . . . , pn.F , wobei pi die Variablen in F sind.

2. Die Tautologie-Eigenschaft einer aussagenlogischen Formel F ist das glei-che wie Gultigkeit der QBF ∀p1, . . . , pn.F , wobei pi die Variablen in Fsind.

Man kann QBFs in Normalform bringen, z.B. in Pranex-Form. In dieser Formsind alle Quantoren im Prafix der Formel, der Rumpf ist dann eine aussagenlo-gischen Formel.Eine einfache, aber nicht effiziente Moglichkeit, die Gultigkeit einer QBFs zuprufen, die man auch als Definition der Gultigkeit ansehen kann, ist folgendeTransformation, die von außen nach innen durchgefuhrt werden muss:

1. ∀P.F → F [1/P ] ∧ F [0/P ]

2. ∃P.F → F [1/P ] ∨ F [0/P ]

45

Die erhaltene Formel ist eine geschlossene aussagenlogische Formel, die man nurvereinfachen muss, bis sich 0 oder 1 ergibt.Der Nachteil dieser Methode ist, dass sie i.a. exponentiell große Formeln erzeugtbzw. exponentiell viele Fallunterscheidungen erfordert.Hier ist zu beachten, dass alle geschlossenen QBF-Formeln entweder 0 oder1 ergeben, d.h. entweder Tautologien oder Widerspruche sind (im Sinne derQBFs). Das gilt in der Pradikatenlogik nicht mehr.

Beispiel 2.62 Betrachte ∀x∃y.x ⇔ y.Die Methode oben ergibt: (∃y.1 ⇔ y) ∧ (∃y.0 ⇔ y). Danach ergibt sich:

((1 ⇔ 1) ∨ (1 ⇔ 0)) ∧ ((0 ⇔ 1) ∨ (0 ⇔ 0))

Man sieht, dass sich wie erwartet, 1 als Resultat ergibt.

2.8.1 Formeln in Klauselform

Man kann eine QBF auch (effizient) in eine Klauselform bringen, d.h. sie be-steht dann aus einem Quantorenprafix und einer Klauselmenge (auch Matrixgenannt). Wir nehmen an, dass Simplifikationen ¬0 → 1 und ¬1 → 0 gemachtwurden. Die effiziente Transformation besteht einfach darin, dass man die Er-setzung

P.F [G] → P.∃X.((X ⇔ G) ∧ F [X])

macht .Interessanterweise kann man jetzt die Problematik der Klauselmengentransfor-mation in der Aussagenlogik eher verstehen:

• Bei der Erfullbarkeit gibt es kein Problem, da man nur eine existenzquan-tifizierte Variable hinzufugt.

• Bei der Tautologie-Eigenschaft gibts ein Problem, da man eine allquantifi-zierte Formel hat, und dann eine existenzquantifizierte Variable hinzufugt.Danach hat aber die Formel einen gemischten Prefix.

Bei Klauselmengen kann man Klauseln schon vorher klassifizieren:

1. Eine Klausel ist wahr, wenn sie ein Literal 1 enthalt, oder eine Variablesowohl positiv als auch negativ.

2. Eine Klausel ist falsch, wenn 1 nicht gilt und wenn die Klausel keine exi-stenziell quantifizierte Variable enthalt Z.B. eine Klausel mit nur allquan-tifizierten Variablen ist falsch, wenn sie keine Tautologie ist.

3. Andere Klauseln nennt man offen.

46

Beispiel 2.63 Betrachte die Formel

∃x1∀x2∃x3∃x4.((¬x1 ∨ x2 ∨ ¬x3)︸ ︷︷ ︸c1

∧ (x3 ∨ ¬x4)︸ ︷︷ ︸c2

∧ (x3 ∨ x4)︸ ︷︷ ︸c3

∧ (x1 ∨ ¬x2 ∨ ¬x3)︸ ︷︷ ︸c4

)

Diese Formel ist nicht gultig.Um das nachzuweisen kann man einen semantischen Baum fur diese Formelerstellen. Die Blatter sind jeweils die falschen Klauseln unter der Belegung. DieDoppelkanten sollen konjunktiv verknupfte Alternativen andeuten.

·x1

{{{{{{{{¬x1

@@@@

@@@@

·¬x2

~~~~

~~~~

~~~~

~~~~

x2

·x2

¬x2

@@@@

@@@@

@@@@

@@@@

·x3

~~~~

~~~~

¬x3

· ·x3

~~~~

~~~~

¬x3

·

c1 ·

x4����

���� ¬x4

????

????

c4 ·

x4����

���� ¬x4

????

????

c2 c3 c2 c3

Definition 2.64 Entscheidungsprozedur semantischer Baum: Knoten sind mitFormeln markiert. Man kann Knoten nach UND- bzw. ODER-Knoten klassifi-zieren, je nachdem ob die Variable All- oder Ex-quantifiziert ist:

• An der Wurzel steht die eingegebene Formel.

• An jedem Knoten wird die erste Variable des Quantorenprafix untersucht:

– Wenn es eine All-quantifizierte Variable x ist, dann ist es ein UND-Knoten. Die beiden Tochterknoten sind jeweils die vereinfachten For-meln: einmal ist 1 fur x eingesetzt, beim anderen Knoten 0 fur x.

– Wenn es eine Ex-quantifizierte Variable x ist, dann ist es ein ODER-Knoten. Die beiden Tochterknoten sind jeweils die vereinfachten For-meln: einmal ist 1 fur x eingesetzt, beim anderen Knoten 0 fur x.

• ein Knoten wird als Blatt angesehen, wenn sich die Klauselmenge bereitszu 1 oder 0 auswerten lasst, entsprechend der Definition von wahren undfalschen Klauseln: Wenn eine falsche Klausel dabei ist, dann 0, wenn alleKlauseln wahr sind, dann 1.

• Wenn der Baum aufgebaut ist, erhalt man entsprechend der UND, bzwODER-Auswertung einen Booleschen Wert an der Wurzel. Dieser ist dasErgebnis.

47

Man kann die Auswahl der Variablen, nach der Fallunterscheidung gemachtwird, noch etwas variieren und einschranken: wenn die ersten k Variablen allegleichartig quantifiziert sind, dann kann man sich eine Variable aussuchen.

Der Nichtdeterminismus der Prozedur hat zwei Quellen:

• Welche Variable wird zur Fallunterscheidung verwendet?

• Welcher Fall wird zuerst untersucht pro Variable?

Beispiel 2.65 Nochmal die Formel ∀x, ∃y.x ⇔ y:

∀x∃y.x ⇔ y

iiiiiiiiiiiiiiiiii

iiiiiiiiiiiiiiiiii

OOOOOOOOOOO

OOOOOOOOOOO

∃y.1 ⇔ y

rrrrrrrrrr

LLLLLLLLLL ∃y.0 ⇔ y

ooooooooooo

LLLLLLLLLL

1 ⇔ 0 1 ⇔ 1 0 ⇔ 1 0 ⇔ 0

Man sieht: der Wert an der Wurzel ist 1.

2.8.2 Optimierungen:

Eine einfache Optimierung durch Vermeiden von Fallunterscheidungen ist:

• Wenn an einem Knoten eine der Top-Variablen (alle gleichartig quantifi-ziert) nicht in der Klauselmenge enthalten ist, dann kann man die Variableeinfach aus dem Prafix streichen.

Eine gute Entscheidungsprozedur benotigt noch mindestens zwei Regeln:

Unit-Propagation Eine Klausel c ist eine Unit, gdw sie genau ein existenzi-elles Literal hat (x oder ¬x), keine Konstanten enthalt und alle anderen(universellen) Literale der Klausel haben eine Variable y, die rechts von xim Quantorenprafix steht.

Die Aktion ist:Betrachte nur den Fall F [1/x], wenn x das Literal ist und F [0/x], wenn¬x das Literal ist.

Diese Aktion kann auch durchgefuhrt werden, wenn die existenzquantifi-zierte Variable nicht die aktuelle Variable ist.

Isoliertes Literal Ein Literal in einer Klauselmenge ist isoliert (pur), wenndas Komplement nicht in der Klauselmenge vorkommt.

Die Aktion ist folgende: Sei x die Variable im isolierten Literal.

1. Wenn x Ex-quantifiziert ist, dann betrachte nur einen Tochterknotenmit F [1/x], wenn x das Literal ist und F [0/x], wenn ¬x das Literalist.

48

2. Wenn x All-quantifiziert ist, dann betrachte nur einen Tochterknotenmit F [0/x], wenn x das Literal ist und F [1/x], wenn ¬x das Literalist.

Das Verfahren, das man erhalt, ist das Davis-Putnam-Loveland-Logemann(DPLL-) Verfahren.

2.9 Internet Referenzen

http://www.informatik.uni-freiburg.de/˜rintanen/qbf.htmlhttp://frege.mrg.dist.unige.it/star/qube/http://www4.informatik.tu-muenchen.de/˜letz/semprop/

3 Uberblick uber den Aufbau und Funkti-onsweise eines Automatischen Deduktionssy-stems am Beispiel eines Resolutionsbeweisers

Ein implementiertes Automatisches Deduktionssystem (auf der Basis der Reso-lution) hat im wesentlichen vier Komponenten – Logik, Kalkul, logisches Zu-standsubergangssystem und Steuerung. Im folgenden sollen die Ideen informellskizziert werden. Spater werden diese in Definitionen prazisiert.

3.0.1 Logik

Eine Komponente eines Deduktionssystems wird durch eine Logik gebildet, diemit der Festlegung der Syntax einer formalen Sprache und deren Semantik diezulassige Struktur und die Bedeutung von Aussagen vorgibt. Aussagen entspre-chen Formeln der Logik. Die gewahlte Logik bestimmt ganz konkret, welcheArten von Aussagen erlaubt und welche verboten sind. Beispielsweise kann siefestlegen, dass eine Quantifizierung ”Fur alle Zahlen gilt . . .“ erlaubt, eineQuantifizierung ”Fur alle Funktionen uber naturlichen Zahlen gilt . . .“ da-gegen verboten sein soll. Die Definition einer Bedeutung (Semantik) fur dieFormeln liefert daruberhinaus eine Beziehung zwischen Aussagen, die als ”ausA folgt B“ gedeutet werden kann. Damit ist ein semantischer Folgerungsbe-griff etabliert, der zunachst jedoch in keiner Weise hilft, fur gegebene A und Balgorithmisch zu bestimmen, ob B wirklich aus A folgt. Wie in den Motivations-beispielen schon angedeutet wurde, gibt es jedoch nicht die eine Logik, sondernahnlich wie bei Programmiersprachen gibt es eine ganze Hierarchie von Logi-ken mit vielen unterschiedlichen Varianten und Erweiterungen nach verschiede-nen Richtungen. Jede von ihnen formalisiert ganz bestimmte Grundkonzepte,auch wiederum ahnlich wie in Programmiersprachen. Genauso wie man sich furnormale Anwendungen eine moglichst gut geeignete Programmiersprache aus-sucht, muss man fur konkrete deduktive Anwendungen eine adaquate Logikauswahlen. Fur einfache Puzzles kann die Aussagenlogik ausreichen, wahrend

49

fur kompliziertere Anwendungen und Beispiele (wise-man puzzle) eine Multi-Modallogik gut geeignet ist. Eng mit der Auswahl der Logik verknupft ist dieFrage der Formulierung eines Problems, d.h. ”wie formuliere ich das Problem inder jeweiligen Logik am besten?“. Z. B. hatte man das wise-man puzzle auchrein in Pradikatenlogik formulieren konnen. Offensichtlich ist diese Formulie-rung schwieriger. Damit stellt sich auch die Frage; ”ist das Problem uberhauptrichtig formuliert ?“, also nach der ”Korrektheit“ der Formulierung.Die elementarste Logik ist die Aussagenlogik. Sie formalisiert die Grundkonzeptewahr und falsch und fuhrt darauf die Booleschen Verknupfungen ¬,∧,∨,⇒,⇔, . . . ein. In Aussagenlogik kann man z.B. ”es-regnet ⇒ Straße-wird-nass“ hin-schreiben, aber nicht uber irgendwelche Mengen quantifizieren. Das Problem,herauszufinden, ob eine Aussage aus einer anderen folgt ist in Aussagenlogikentscheidbar.Das gilt jedoch nicht mehr in der etwas komplizierten Logik, der Gleichungslogik.Neben Quantifizierungen uber Mengen fuhrt Gleichungslogik das Konzept derFunktion ein. Man kann dann z.B. hinschreiben:

∀x, y : x + 0 = x ∧ x + s(y) = s(x + y)

Die Formel beschreibt die Addition auf naturlichen Zahlen wobei s(x) als x+1 zuinterpretieren ist. Man muss aber beachten, dass s eine syntaktische Reprasen-tation der +1-Funktion ist, und nicht die Funktion selbst. Betrachtet man dietatsachlichen Zahlen als Abkurzungen fur entsprechend viele Verschachtelungender Funktion s, dann kann man mit Hilfe dieser Axiome schon richtig rechnen.Zum Beispiel ergibt sich:

3 + 2 = s(s(s(0))) + s(s(0)) = s(3 + s(0)) = s(s(3 + 0)) = s(s(3)) = 5

Gleichungslogik ist aber wiederum nur ein Spezialfall von Pradikatenlogik, woneben der ganz speziellen Relation der Gleichheit ganz allgemeine Relationen alsneues Konzept hinzukommen. Hier kann man dann beispielsweise formulieren:

∀x, y : Katze(x) ∧Vogel(y) ⇒ Mag(x, y)Katze(Garfield) ∧Vogel(Tweety)

”Katze“ und ”Vogel“ bezeichnen einstellige Relationen, die auf ein Objekt zu-treffen konnen oder nicht. ”Mag“ bezeichnet eine zweistellige Relation. In derPradikatenlogik gibt es Relationen mit beliebiger Stelligkeit.Eine weitere Logik ist zum Beispiel die Modallogik, die man zur (automatischen)Losung des Wise Men Puzzles benutzen kann. Das Grundkonzept, das bei denModallogiken hinzukommt, ist das der Zustande – manchmal auch Welten ge-nannt – und der Zustandsubergange. Wie beim Wise Men Puzzle macht esoffensichtlich Sinn, nicht nur uber eine Welt zu reden, in der eine Aussage einenbestimmten Wahrheitswert hat, sondern es kann notwendig sein, gleichzeitiguber viele verschieden hypothetische Welten und deren Beziehungen zueinanderzu reden. Genau das ist mit Modaloperatoren in sehr eleganter Weise moglich.Beim wise-man-puzzle kann man sich vorstellen, dass jeder ein eigene Mengevon gultigen Aussagen haben kann.

50

Von Logikern und Philosophen wurden noch eine Unzahl anderer Logiken undderen Beziehungen zueinander untersucht. Fur eine konkrete Anwendung ist dieSituation daher wie bei der Wahl einer geeigneten Programmiersprache. Diebeste ist die, die das, was in der Anwendung vorkommt moglichst einfach undelegant zu formulieren erlaubt, und fur die es einen moglichst guten Compi-ler oder Interpretierer gibt. Die Formalismen, die man braucht, um eine Logikzu beschreiben und zu untersuchen sind zunachst eine Beschreibung der Syn-tax, d.h. der Grammatik der Sprache und eine Beschreibung der Bedeutung dersyntaktischen Elemente, d.h. der Semantik. Der Semantikformalismus, der unshier interessiert, geht zuruck auf Alfred Tarski und wird deshalb auch Tarski-Semantik genannt. Die Idee ist, eine Abbildung der syntaktischen Elementeauf mathematische Objekte anzugeben, und diese Abbildung zu benutzen, umdann Terme auf Objekte einer bestimmten Menge, der. sogenannten Tragermen-ge oder auch Universum genannt, abzubilden, und Formeln zu wahr oder falschzu evaluieren. Eine solche Abbildung heißt auch Interpretation. Typischerwei-se bildet man in diesem Formalismus Konstanten- und Variablensymbole aufElemente der Tragermenge, Funktionssymbole auf Funktionen und Pradikaten-symbole auf Relationen ab. Eine solche Abbildung, die eine Formel wahr machtheißt Modell der Formel. Zum Beispiel kann man fur die Formel

Katze(Garfield) ∧ V ogel(Tweety)

als Tragermenge tatsachlich die Menge aller Katzen und Vogel nehmen.Das Pradikatensymbol ”Katze“ wird auf die Relation Katze abgebildet, d.h.Katze(x) trifft zu wenn x wirklich eine Katze ist. Entsprechend machen wir dasmit dem Symbol ”Vogel“. Wenn jetzt die Konstantensymbole ”Garfield“ und

”Tweety“ tatsachlich auf eine Katze bzw. Vogel abgebildet werden, dann istdie Formel wahr und wir haben damit ein Modell der Formel. Wenn wir statt-dessen das Symbol ”Garfield“ auf einen Vogel abbilden, dann ist die Formelfalsch und die Interpretation ist kein Modell. Genausogut konnen wir auch alsTragermenge die naturlichen Zahlen nehmen und das Pradikatensymbol ”Kat-ze“ auf die Relation gerade und das Pradikatensymbol ”Vogel“ auf die Relationungerade abbilden. Wenn jetzt z.B. ”Garfield“ auf die 0 und ”Tweety“ auf die1 abgebildet wird haben wir wieder ein Modell der Formel. Man bezeichnet eineFormel als allgemeingultig oder als Tautologie wenn sie unter allen Interpreta-tionen wahr ist. Typische Tautologien sind ”P ∨ ¬P“, aber auch Formeln wie

”Euklidische Geometrieaxiome ⇒ Satz des Pythagoras“. Formeln, die unter kei-ner Interpretation wahr sind heißen unerfullbar oder widerspruchlich. TypischeWiderspruche sind ”P ∧ ¬P“, aber auch Formeln wie ”¬ (Euklidische Geome-trieaxiome ⇒ Satz des Pythagoras)“. Formeln, die weder allgemeingultig nochwiderspruchlich sind, die man also je nach Interpretation wahr oder falsch ma-chen kann, heißen erfullbar. Die obige Formel Katze(Garfield)∧V ogel(Tweety)ist von diesem Typ. Die Tarski Semantik erlaubt die Definition eines semanti-schen Folgerungsbegriffs: F |= G (G folgt aus F ) falls G in allen Modellen von Fgilt. Das heißt, wie immer auch die Symbole, die in F vorkommen interpretiertwerden, falls F unter dieser Interpretation wahr ist, muss auch G unter dieserInterpretation wahr sein. Dieser semantische Folgerungsbegriff definiert prazise,

51

was ”Folgerung“ heißen soll. Da die Anzahl der moglichen Interpretationen meistunendlich ist, gibt sie aber keinen Hinweis, wie man die Folgerungsbeziehungfur zwei konkrete Formeln F und G auch tatsachlich uberprufen kann (das istSache der zweiten Stufe eines Deduktionssystems, des Kalkuls). Spezielle Fra-gestellungen, die man auf der Ebene der Logiken noch untersucht, sind z.B. dieBeziehung zwischen semantischer Folgerung und syntaktischer Implikation, d.h.die Frage, ob das sogenannte Deduktionstheorem gilt:

F |= G gdw. F ⇒ G allgemeingultig.

In Pradikatenlogik gilt es, in anderen Logiken nicht unbedingt. Eine andere Fra-gestellung ist mehr anwendungsorientiert, namlich die Frage nach der Existenzvon Ubersetzern, die Formeln einer Logik in eine andere ubersetzen. Analog wiebei der Entwicklung einer Programmiersprache ein Compiler die Ausfuhrung vonProgrammen erheblich beschleunigen kann, kann ein Ubersetzer zwischen Logi-ken den Test der Folgerungsbeziehung erheblich erleichtern. Beispiele fur solcheUbersetzer sind die Transformation von epistemischer Logik in Pradikatenlogik,die bei der Losung des Wise Men Puzzles benutzt werden kann. Ein weiteresBeispiel ist die Transformation in Klauselnormalform. Klauselnormalform isteine echte Unterklasse der Pradikatenlogik, so dass man diese Transformationauch als Ubersetzung in eine andere Logik sehen kann.

3.0.2 Kalkul

Der in der Logik definierte semantische Folgerungsbegriff hilft meist nicht, furgegebene A und B algorithmisch zu bestimmen, ob B wirklich aus A folgt. Diesist Aufgabe des Kalkuls, der zweiten Komponente eines Deduktionssystems. EinKalkul definiert syntaktische Ableitungen als Manipulationen auf den (syntak-tisch gegebenen) Formeln. Damit kann aus einer Formel A durch reine Symbol-manipulation eine Formel B gewonnen werden, wobei die Bedeutung der in Aund B vorkommenden Symbole uberhaupt keine Rolle spielt. Ein syntaktisch ausA abgeleitetes B soll aber trotzdem semantisch folgen und umgekehrt. Ein kor-rekter Kalkul stellt daher nur solche Ableitungsoperationen zur Verfugung, diegarantieren, dass alles syntaktisch Ableitbare auch semantisch folgt. Wenn um-gekehrt alles, was semantisch folgt, auch syntaktisch ableitbar ist, ist der Kalkulvollstandig. Es gibt auch Kalkule, die statt auf Formeln auf anderen Datenstruk-turen operieren, z.B. auf Folgen von Formeln (Sequenzenkalkul), Mengen vonFormeln, oder auf einem Graph, der u.a. mit Formeln markiert ist.Nach dem Unvollstandigkeitssatz von Kurt Godel [God31] sind vollstandigeKalkule ab einer gewissen Ausdrucksstarke der Logiken jedoch nicht moglich.Dazu gehort die sogenannte Pradikatenlogik zweiter Stufe, in der neben Quan-tifizierungen uber Mengen auch Quantifizierungen uber Funktionen uber denMengen erlaubt sind. Hierzu zahlt auch die Logik, die die Theorie der naturli-chen Zahlen beschreibt, d.h. alle Formeln die genau fur die naturlichen Zahlengelten. In diesen Logiken gibt es Aussagen, die uber den semantischen Fol-gerungsbegriff aus anderen folgen, was aber mit keinem Kalkul, der nur mitSymbolmanipulation arbeitet, nachgewiesen werden kann.

52

Meist werden Ableitungsregeln folgendermaßen geschrieben:F1, . . . , Fn

F. Das

soll bedeuten, wenn F1, . . . , Fn schon abgeleitete Formeln sind, dann ist es aucherlaubt, die Formel F abzuleiten. Eine typische Ableitungsregel dieser Art istdie Instanziierungsregel:

∀x : F [x]F [t/x]

Dabei ist F [x] eine Formel, in der die Variable x vorkommt und F [t/x] ist eineVariante von F , bei der alle Vorkommnisse von x durch den Term t ersetztworden sind (t ist beliebig). Die Regel besagt, dass eine Aussage, die fur allesgilt (∀x) auch fur jedes spezielle Objekt gilt. Zweimal angewendet laßt sichdamit zum Beispiel aus

∀x, y : Katze(x) ∧ V ogel(y) ⇒ Mag(x, y)

ableiten:

Katze(Garfield) ∧ V ogel(Tweety) ⇒ Mag(Garfield, Tweety)

Eine weitere Regel dieser Art ist die Modus Ponens Regel, die schon auf diegriechischen Philosophen zuruckgeht:

A ⇒ BAB

Sie druckt folgendes aus: wenn es gilt, dass aus der Aussage A die Aussage Bfolgt und wenn weiterhin bekannt ist, dass die Aussage A tatsachlich wahr ist,dann darf man annehmen, dass auch die Aussage B wahr ist.Beide Regeln, die Instanziierungsregel als auch die Modus Ponens Regel eignensich als reine Zeichenkettenmanipulationen und lassen sich daher problemlos aufeinem Rechner ausfuhren.Typische Fragestellungen auf der Kalkulebene sind folgende:

Korrektheit eines gegebenen Kalkuls: Folgt alles abgeleitete auch semantisch?

Vollstandigkeit eines gegebenen Kalkuls: Laßt sich alles semantisch folgerbareauch ableiten?

Fur die Praxis hat sich gezeigt, dass die Vollstandigkeit so wie oben definiertan den Kalkul leicht angepasst werden muss. Was man z.B. bei Resolutions-beweisern wirklich braucht ist die Widerlegungsvollstandigkeit: Wenn aus einerAussage F eine Aussage G semantisch folgt, ist dann ein Widerlegungsbeweisfur F ∧¬G moglich? Resolution ist z.B. ein Kalkul, der nicht vollstandig , aberwiderlegungsvollstandig ist. Beispielsweise folgt aus A die Aussage A ∨ B. Sieist aber nicht mit Resolution ableitbar. Jedoch ist A∧¬(A∨B)(= A∧¬A∧¬B)mit Resolution widerlegbar. Eine weiteres Problem im Bereich der Kalkule istdie Frage nach der Effizienz eines Kalkuls. Dabei betrachtet man meist zwei

53

Effizienzkriterien, i) die Verzweigungsrate im Suchraum und die ii) Lange derBeweise. Die Regeln eines Kalkuls sind im allgemeinen an vielen verschiedenenStellen einer Formelmenge anwendbar. Nicht alles, was damit abgeleitet wird,ist jedoch fur den gesuchten Beweis brauchbar. Daher definieren die Regeln einesKalkuls einen Suchraum, der durch irgendein Suchverfahren abgesucht werdenmuss. Je großer die Verzweigungsrate, d.h. je mehr Stellen es in der aktuellenFormelmenge gibt, auf die die Kalkulregeln anwendbar sind, desto aufwendigerist meist die Suche. Die Verzweigungsrate ist jedoch kein generelles Kriterium.Ist die Verzweigungsrate niedrig, liegt aber dafur der gesuchte Beweis sehr tiefim Suchraum, dann ist auch nicht viel gewonnen. Was man braucht ist einer-seits eine moglichst kleine Verzweigungsrate und andererseits Kalkulregeln, dieeinen Beweis mit moglichst wenig Schritten finden, und diese Schritte sollen mitmoglichst wenig Aufwand berechenbar sein. Die Kunst des Kalkulentwerfens be-steht darin, solche Kalkule zu entwickeln, die einen guten Kompromiss zwischenallen drei Faktoren bilden.Die rein syntaktisch arbeitenden Kalkule wie Resolution, die nichts von derBedeutung der Symbole, die sie manipulieren wissen, sind zwar im Prinzipausreichend. Fur viele haufig vorkommende Konstrukte kennt man jedoch Al-gorithmen und Kalkule, die spezielle Probleme erheblich schneller und besserlosen als die universell anwendbaren Kalkule. Niemand wurde zum Beispiel aufdie Idee kommen, die Gleichung 3 + 4 = x mit einem universellen Kalkul wieResolution zu losen. Das rechnet man einfach aus. Daher besteht ein weitererZweig der Kalkulentwicklung darin, Algorithmen fur wichtige Spezialfalle zuintegrieren, bzw. erst uberhaupt zu entwickeln. Als ein Rahmenkonzept dafurhat sich die von Mark Stickel vorgeschlagene Theorieresolution [Sti86] als sehrnutzlich gezeigt. Die Idee dabei ist, einen Resolutionsschritt nicht mehr uberdie syntaktische Komplementaritat – gleiches Pradikatensymbol und Argumen-te, verschiedenes Vorzeichen – sondern uber semantische Widerspruchlichkeitder Resolutionsliterale zu steuern. Diese semantische Widerspruchlichkeit kannvon einem speziellen Algorithmus, der uber die Bedeutung der vorkommendenSymbole etwas weiß, getestet werden. Beispielsweise kann man damit folgern:

a < b ∨ Pa > b ∨QP ∨Q

eben weil a < b und a > b unter der ublichen Bedeutung von < und > wider-spruchlich sind. Ein Teil des Skripts ist solchen Spezialverfahren gewidmet.

3.0.3 Logische Zustandsubergangssysteme

Die dritte Komponente eines Deduktionssystems, das logische Zustandsuber-gangssystems, das zur Organisation der Suche nach dem richtigen und bestennachsten Herleitungsschritt dient, ist verantwortlich fur die Darstellung von For-meln oder Formelmengen, deren Beziehungen zueinander und von den jeweiligenZustanden der Ableitungsketten.Ein logisches Zustandsubergangssysteme besteht aus einer Menge S von

54

Zustanden und einer binaren Relation →, der Ubergangsrelation. Jeder Zustandist dabei die Reprasentation einer Formelmenge, im einfachsten Fall lediglichdie Menge selbst. In ausgefeilteren Systemen enthalten die Zustande aber nochmehr Komponenten, Information uber die Geschichte der Ableitung, Reprasen-tationen der von dem aktuellen Zustand aus machbaren Ableitungen zusammenmit strategischer und heuristischer Information uber den Nutzen des jeweiligenSchritts usw. Die Ubergangsrelation S → S′ fur Zustande S und S′ ergibt sich

aus dem Kalkul zunachst mal ganz einfach folgendermaßen: WennF1, . . . , Fn

Feine Kalkulregel ist und F1, . . . , Fn im Zustand S reprasentiert ist dann ist S′

eine Reprasentation fur F ∪ {F}, wobei F die in S reprasentierte Formelmengeist. Auf dieser Ebene werden oft zusatzliche Operationen eingefuhrt, etwa dasLoschen von redundanten Aussagen, so dass im Kalkul noch mogliche Ableitun-gen nun nicht mehr moglich – und hoffentlich auch nicht mehr notig – sind. DieUbergangsrelation → enthalt daher nicht nur Ableitungsschritte, sondern auchReduktionsschritte, die die Formelmenge von unnutzem Ballast befreien sollen.Fur jedes logische Zustandsubergangssystem sind drei Eigenschaften von Inter-esse:

Korrektheit, Vollstandigkeit und Konfluenz.

Durch neue Regeln, mit denen Formeln oder Teile davon geloscht werden, wirddie Korrektheit und Vollstandigkeit des zugrundeliegenden Kalkuls beeinflußt.Fur jede solche Regel muss man neu beweisen, dass man damit keine falschenBeweise erzeugt (Korrektheit), und dass man mogliche Beweise auch finden kann(Vollstandigkeit). Die letzte Eigenschaften der Konfluenz ist fur die Implemen-tierung eines Deduktionssystems wichtig. Konfluenz bedeutet, dass wenn manvon einem Zustand S aus zwei Nachfolgezustande S1 und S2 erreichen kann,dann gibt es fur S1 und S2 einen gemeinsamen Nachfolgezustand S′. Ist einSystem konfluent, dann kann man es sich bei der Suche leisten, zunachst mal indie falsche Richtung zu suchen. Wenn vom Ausgangszustand (S) uberhaupt einWeg zu einem Beweis (S′) existiert, dann existiert er auch von jedem weiterenZustand (S1 oder S2) aus. Das heißt, bei der Suche gibt es keine Sackgassen; manbraucht nie mehr zu fruheren Zustanden zuruckzukehren (kein Backtracking).Das entspricht auch der Intuition fur Beweissuchen: Eine Aussage, die man ein-mal abgeleitet hat, mag zwar nutzlos fur den aktuellen Beweis sein, es sollte abernicht notig sein, deren Ableitung selbst ungeschehen zu machen. Vollstandigkeitdes Deduktionsprozesses bedeutet, dass man unabhangig von den ausgefuhrtenTransformationen vom aktuellen Zustand aus den Beweis noch finden kann. Hatman sehr starke Reduktions- oder Steuerungsregeln, so kann das Zustandsuber-gangssystem des Deduktionssystems die Eigenschaft der Konfluenz verlieren.In diesem Fall bedeutet Vollstandigkeit des Deduktionssystems, dass man nachder Ausfuhrung gewisser Transformationen den Beweis nur noch dadurch fin-det, dass man zurucksetzt in einen vorangegangenen Zustand und eine andereAlternative wahlt.

55

3.0.4 Steuerung

Die vierte Komponente eines Deduktionssystems, die Steuerung, enthalt schließ-lich die Strategien und Heuristiken, mit denen unter den moglichen Ableitungs-schritten die jeweils sinnvollen ausgewahlt werden. Hier steckt die eigentliche

”Intelligenz“ des Systems. Die Idee dabei ist, ”gute“ Schritte zu bevorzugenund ”schlechte“ Schritte zu vermeiden. Man unterscheidet Restriktionsstrategi-en und Ordnungsstrategien.Restriktionsstrategien schranken den Suchraum weiter ein, in dem sie bestimm-te Ableitungen einfach generell verbieten. Zum Beispiel verbietet die ”Set ofSupport“-Strategie bei Widerlegungsbeweisen Ableitungen zwischen Axiomenuntereinander. Die Idee dabei ist, dass bei Ableitungen zwischen Axiomen alleingarantiert kein Widerspruch zu finden ist. Da Restriktionsstrategien bestimmteAbleitungen prinzipiell verbieten, muss man jeweils nachweisen, dass im verblei-benden Suchraum immer noch ein Beweis zu finden ist (Vollstandigkeit).Ordnungsstrategien sortieren die moglichen Ableitungen nach bestimmten Kri-terien, z.B. konnte man Ableitungen, die kleine Formeln erzeugen, bevorzugen.Der Zweck der Ordnungsstrategien ist, die Suche selbst geschickt zu organisierenund naturlich die Suche zu terminieren, d.h. wenn es einen Beweis gibt, dessenAuffindung mit endlich vielen Schritten zu garantieren (Terminierung).

3.0.5 Verwendung, Dialogverhalten

Ein wichtiger praktischer Aspekt ist die Art der Verwendung des Systems, bzw.die Art der Unterstutzung die ein Deduktionssystem bietet:

Vollautomatisch Das Deduktionssystem hat als Eingabe die Axiome und dienach zuweisende Schlußfolgerungen, und als Ausgabe nur Erfolg/Mißerfolgund eine Begrundung (Beweis). Dies ist die Idealvorstellung eines Auto-matischen Deduktionssystems. Pragmatische System beschranken sich aufeine (einfache) Auswahl) von Eingaben, z.B. einfache Verifikationsbedin-gungen. Im allgemeinen haben die Automatischen Deduktionssystems eineMenge von Parametern, die vor dem Lauf eingestellt werden mussen. Sodass z.B. die Arbeit mit dem System Otter darin bestehen kann, in vielenLaufen, die richtigen Parameter bzw. Heuristiken einzustellen, so dass esam Ende doch eher interaktiv wirkt.

Es gibt Varianten dieser Systeme, die wahrend der Suche interaktive Hil-festellung erlauben.

Halbautomatisch Bestimmte Systeme fur Logiken hoherer Ordnung (Typen-logik) fuhren einen Dialog mit dem Benutzer. Einfache Folgerungen wer-den automatisch durchgefuhrt, fur andere wird von Benutzer erwartet, dieZwischenziele (Lemmas) zu formulieren und Beweistaktiken zu program-mieren. Der gefuhrte Beweis ist im Erfolgsfall korrekt, allerdings kann einsolcher Dialog einige Wochen dauern. Z.B. ist mit dieser Methode derNachweis der Korrektheit eines Tokenizers von T. Nipkow (TU Munchen)durchgefuhrt worden

56

Beweisprufung Diesen Systemen muss die komplette Axiomatisierung undder Beweis vorgelegt werden. Dies kann selbst fur einfache Dinge sehrmuhsam sein, da der Detaillierungsgrad sehr hoch gewahlt ist: Jeder (for-male) Schritt des Beweises muss formal korrekt vorliegen.

57

4 Pradikatenlogik (PL1) und Resolution

Pradikatenlogik (PL) ist eine ausdrucksstarke Logik, die im Prinzip fur sehrviele Anwendungen ausreicht.Man unterscheidet verschiedene Stufen der Pradikatenlogik. Pradikatenlogik0.Stufe (PL0) ist die Aussagenlogik. Sie erlaubt keine Quantifikationen. Pradi-katenlogik erster Stufe (PL1) dagegen erlaubt schon Quantifikationen uber dieElemente einer Tragermenge. Pradikatenlogik 2.Stufe (PL2) erlaubt daruber-hinaus noch unabhangig Quantifikationen uber die Funktionen und Rela-tionen uber dieser Tragermenge. Man kann also z.B. in PL2 hinschreiben

”∀x : ∃f : ∀P : P (f(x, f))“, was in PL1 nicht geht. Pradikatenlogik nochhoherer Stufe erlaubt Quantifizierungen uber die Funktionen und Relationenuber der Funktions- und Relationsmenge usw. siehe [And02, EFT86].Aus praktischer Sicht gibt es viele Zusammenhange, die sich in anderen Logikenwesentlich eleganter und einfacher formulieren lassen als in PLn. Kurt Godelhat gezeigt, dass es im Gegensatz zu PL1 fur PLn, n ≥ 2, keinen vollstandigenKalkul mehr geben kann [God31]. D.h. es gibt Aussagen in PL2, die in allenInterpretationen gultig sind, was aber mit keinem durch Symbolmanipulation ar-beitenden Verfahren mehr nachgewiesen werden kann. Das heißt nicht, dass manfur PL2 keine Deduktionssysteme entwickeln kann – sie konnen eben nur nichtalle gultigen Theoreme beweisen; aber das konnen heutige Deduktionssystemefur PL1 auf heutigen Computern auch nur theoretisch. Deduktionssysteme furPL2 sind aber um einiges komplizierter als solche fur PL1 [And81, RB79]. Wirwerden in der Vorlesung auch Kalkule fur Logiken hoherer Ordnung betrachten,falls die Zeit ausreicht.

4.1 Syntax der Pradikatenlogik erster Stufe

PL1 ist zunachst mal eine formale Sprache, deren Syntax sich durch eine ent-sprechende Grammatik angeben laßt. Im Gegensatz zu vielen Programmierspra-chen z.B. ist die Grammatik von PL1 aber extrem einfach. Wie fur die meistenLogiken besteht die Syntaxbeschreibung aus den drei Komponenten:

• Signatur

• Bildungsregeln fur Terme

• Bildungsregeln fur Formeln

Die Signatur gibt das Alphabet an, aus dem die zusammengesetzten Objektebestehen. Man unterscheidet Funktions- und Pradikatensymbole. Neben diesenSymbolen gibt es noch unendliche viele Variablensymbole, die nicht zur Signa-tur gerechnet werden. In einer Formel ”∀x : ∃y : P (x, f(y))“ sind x und yVariablensymbole, f ist ein einstelliges Funktionssymbol und P ein zweistelligesPradikatensymbol. Die logischen Junktoren und Quantoren sind fest und zahlendaher nicht zu der Signatur. Aus den Variablen- und Funktionssymbolen lassensich Terme aufbauen (f(y) ist zum Beispiel ein Term) und damit und mit den

58

Pradikatensymbolen Atome, Literale und Formeln. Der Unterschied zwischenTermen und Formeln ist in erster Linie semantischer Natur. Terme bezeich-nen Objekte einer Tragermenge und Formeln bezeichnen Wahrheitswerte. Dieformale Definition ist:

Definition 4.1 (Syntax von PL1)

Signatur : Σ = (F ,P) , wobei

• F ist die Menge der Funktionssymbole

• P ist die Menge der Pradikatensymbole

Diese Mengen sind disjunkt. Daneben braucht man noch die Menge V derVariablensymbole (abzahlbar unendlich viele). Diese Menge ist ebenfallsdisjunkt zu F und P.

Jedem Funktions- und Pradikatensymbol f ∈ Σ ist eindeutig eine Stellig-keit zugeordnet Stelligkeit : arity(f) ≥ 0. Funktionssymbole mit der Stellig-keit 0 bezeichnet man auch als Konstantensymbole. {f ∈ F | arity(f) = 0}= Konstantensymbole. Es muss mindestens ein Konstantensymbol in Fvorhanden sein!

Terme Die Menge der Terme T (Σ, V ) uber der Signatur Σ = (F ,P) und denVariablen V wird induktiv als die kleinste Menge definiert, die folgendeserfullt:

• V ⊆ T (Σ, V )

• falls f ∈ F , arity(f) = n, t1, . . . tn ∈ T (Σ, V ) dann f(t1, . . . tn) ∈T (Σ, V ). Hierbei ist f(t1, . . . tn) zu lesen als Zeichenkette bzw. alsein Baum.

Formeln Die Menge der Formeln FΣ uber der Signatur Σ = (F ,P) und denVariablen V wird induktiv als die kleinste Menge definiert, die folgendeserfullt:

• falls P ∈ P, arity(P ) = n, t1, . . . , tn ∈ TΣ dann P (t1, . . . tn) ∈ FΣ

(Atom) . Auch hier ist P (t1, . . . tn) als Zeichenkette zu lesen.

• falls F,G ∈ FΣ, x ∈ V , dann auch: (¬F ), (F ∨ G), (F ∧ G), (F ⇒G), (F ⇔ G), (∀x : F ) und (∃x : F ) ∈ FΣ.

Wir machen bei den Schreibweisen einige Vereinfachungen: Geschachtelte gleicheQuantoren schreiben wir als Quantor uber mehreren Variablen: ∀x;∀y : F wirdals ∀x, y : F geschrieben. In Formeln werden zum Teil Klammern weggelassen,wenn die Eindeutigkeit gewahrleistet bleibt, mit den ublichen Prioritatsregeln.Weiterhin erlauben wir auch als Formelkonstanten die Formeln false und true.

Beispiel 4.2 Signatur Σ := ({a, b, f, g}, {P,Q,R}) mit arity(a) = arity(b) =arity(P ) = 0, arity(f) = arity(Q) = 1 arity(g) = arity(R) = 2.V = {x, y, z, . . .}

59

TΣ = FΣ =

f(a), f(b), f(x), . . .g(a, a), g(a, b), g(a, f(a)), . . .f(f(a)), f(f(b)), . . . f(g(a, a)), . . .g(f(f(a)), a), . . .. . .

{P,Q(a), Q(b), Q(x), . . . , R(a, a), . . . R(a, b), . . .¬P,¬Q(a), . . .P ∧Q(a), P ∧ ¬Q(a), . . .P ∨Q(a), P ∨ ¬Q(a), . . .P ⇒ Q(a), P ⇔ ¬Q(a), . . .∀x : Q(x), . . .∃x : R(x, y) ⇒ Q(x), . . .

Mit der Forderung, dass mindestens ein Konstantensymbol vorhanden sein muss,ist implizit verbunden, dass die Tragermengen, uber die in einer jeweiligen In-terpretation quantifiziert wird, nicht leer sein kann – es muss mindestens einElement vorhanden sein, auf das dieses Konstantensymbol abgebildet wird. Da-mit verhindert man, dass Quantifizierungen der Art ”∀x : (P ∧ ¬P )“ wahrgemacht werden konnen; indem die Menge, uber die quantifiziert wird, leer ist.Einige der logischen Verknupfungen, wie z.B. ⇒ und ⇔ sind redundant. Siekonnen durch die anderen dargestellt werden. Bei der Herstellung der Klau-selnormalform (Abschnitt 4.3) werden sie dann auch konsequenterweise wiedereliminiert. Nichtsdestotrotz erleichtern sie die Lesbarkeit von Formeln betracht-lich und sind daher mit eingefuhrt worden.

Definition 4.3 Konventionen:

• Da 0-stellige Funktionssymbole als Konstantensymbole dienen3, schreibtman im allgemeinen nicht ”a()“ sondern einfach nur a

• Variablen sind genau einem Quantor zugeordnet Insbesondere geltenahnlich wie in den meisten Programmiersprachen die schon gewohn-ten Bereichsregeln (lexical scoping) fur Variable. D. h. Formeln der Art∀x : ∃x : P (x) haben nicht die vermutete Bedeutung, namlich dass furalle x das gleiche x existiert, sondern x ist gebunden in ∃x : P (x) unddass außere x in alle ∀x : kann das innere x nicht beeinflussen. D.h. dieFormel ∀x : ∃x : P (x) ist zu ∃x : P (x) aquivalent. Da man unendlich vie-le Variablensymbole zur Verfugung hat, kann man in jedem Fall fur jedenQuantor ein anderes Variablensymbol wahlen.

• Meist haben die logischen Verknupfungssymbole die Bindungsordnung ⇒,⇔,∧,∨,¬ , d.h. ⇒ bindet am schwachsten und ¬ am starksten. Danachgilt eine Formel ¬A∧B∨C ⇒ D ⇔ E∧F als folgendermaßen strukturiert:((¬A)∧ (B∨C)) ⇒ (D ⇔ (E∧F )). Quantoren binden, soweit die quanti-fizierte Variable vorkommt. D.h. ∀x : P (x)∧Q steht fur (∀x : P (x))∧Qwahrend ∀x : P (x) ∧ R(x) fur (∀x : (P (x) ∧ R(x))) steht. Um Zweifelauszuschließen, werden aber meist die Klammern explizit angegeben.

3Indem man Konstantensymbole nicht extra ausweist, spart man sich in vielen Fallunter-scheidungen eben diesen speziellen Fall.

60

• Im folgenden wird die allgemein ubliche Konvention fur die Benut-zung des Alphabets verwendet: Buchstaben am Ende des Alphabets, d.h.u, v, w, x, y, z bezeichnen Variablensymbole. Buchstaben am Anfang desAlphabets, d.h. a, b, c, d, e bezeichnen Konstantensymbole. Die Buchsta-ben f, g, h werden fur Funktionssymbole benutzt. Die großen BuchstabenP,Q,R, T werden fur Pradikatensymbole benutzt.

Die Syntax der Terme und Formeln wurde induktiv definiert: Aus den einfa-chen Objekten, Variable im Fall von Termen und Atome im Fall von Formelnwurden mit Hilfe von Konstruktionsvorschriften die komplexeren Objekte auf-gebaut. Damit hat man eine Datenstruktur, die eine Syntaxbaum hat, der mitverschiedenen Konstruktoren aufgebaut wurde. Definitionen, Algorithmen, Ar-gumentation und Beweise mussen nun jeweils rekursiv (induktiv) gemacht wer-den, wobei man stets Fallunterscheidung und Induktion uber die Struktur derFormeln und Terme machen mussFolgende Definition (der freien Variablen) demonstriert eine Anwendung desrekursiven Definitionsschemas fur Terme und Formeln. Eine Variable wird alsfrei bezeichnet wenn sie sich nicht im Bindungsbereich (Skopus) eines Quantorsbefindet.

Definition 4.4 (Freie Variablen fur Terme und Formeln) Die Operation FV(.)sammelt alle nicht durch Quantoren gebundenen Variablensymbole in Termenund Formeln auf.

Definition von FV fur Terme:

FV(t) ={

t falls t eine Variable ist (Basisfall)FV(t1) ∪ . . . ∪ FV(tn) falls t = f(t1, . . . tn) (Rekursionsfall)

Definition von FV fur Formeln: Basisfall: H = P (t1, . . . tn) ist ein Atom,dann: FV(H) = FV(t1)∪ . . .∪FV(tn) (FV ist fur Terme schon definiert.)Rekursionsfalle: Fallunterscheidung nach der Struktur von H:

Fall: H = ¬F dann FV(H) := FV(F )Fall: H = F ∨G dann FV(H) = FV(F ) ∪ FV(G)Fall: H = F ∧G dann FV(H) = FV(F ) ∪ FV(G)Fall: H = F ⇒ G dann FV(H) = FV(F ) ∪ FV(G)Fall: H = F ⇔ G dann FV(H) = FV(F ) ∪ FV(G)Fall: H = ∀x : F dann FV(H) = FV(F ) \ {x}Fall: H = ∃x : F dann FV(H) = FV(F ) \ {x}

Beispiel 4.5 Unten sind x, y, z Variablensymbole

• FV(x) = FV(f(x)) = FV(g(x, g(x, a))) = {x}

• FV(P (x) ∧Q(y)) = {x, y}

• FV(∃x : R(x, y)) = {y}.

61

Zum Schluß des Abschnitts uber die Syntax von PL1 werden noch einige Sprech-weisen und Begriffe, die z.T. auch schon benutzt wurden, eingefuhrt. Da sie sehrhaufig gebraucht werden, muss man sie sich unbedingt einpragen.

Definition 4.6 Einige ubliche Sprechweisen:Atom: Eine Formel der Art P (t1, . . . tn) wobei P ein Pradikatensymbol

und t1, . . . , tn Terme sind heißt Atom.Literal: Ein Atom oder ein negiertes Atom heißt Literal. (Beispiele: P (a)

und ¬P (a))Grundterm: Ein Term t ohne Variablensymbole, d.h. FV(t) = ∅, heißt Grund-

term (engl. ground term).Grundatom: Ein Atom F ohne Variablensymbole, d.h. FV(F ) = ∅, heißt

Grundatom.geschlossene Formel: Eine Formel F ohne freie Variablensymbole, d.h. FV(F ) = ∅ heißt

geschlossen.Klausel Formel mit einem Quantorprafix nur aus Allquantoren besteht

. d.h F = ∀n.F ′ und F ′ ist eine Disjunktionen von Literalen.

Beispiel 4.7 Fur eine geschlossene Formel: ∀x : ∃y : P (x, y). Nicht geschlos-sen ist: ∃y : P (x, y), da FV(∃y : P (x, y)) = {y}) .

4.2 Semantik von PL1 (nach Tarski)

Durch die formale Definition der Syntax von PL1 ist man jetzt zwar in der Lage,Aussagen als Formeln hinzuschreiben und zu uberprufen ob das was man hin-geschrieben hat auch syntaktisch in Ordnung (wohlgeformt) ist. Man kann jetztauch Operationen zur Manipulation von Termen und Formeln definieren. Wasdiese Formeln, die ja bisher nur reine Zeichenketten sind, und die Operationen,die nur Zeichenketten manipulieren, aber bedeuten sollen ist bisher nur intuitivangedeutet worden. Um aber eine Zeichenkettenmanipulation als korrekte Ab-leitungsregel zu interpretieren braucht man einen Formalismus, der Termen undFormeln Bedeutung zuordnet, so dass man damit eine semantische Folgerungs-beziehung definieren kann. Dies ist eine Verallgemeinerung der entsprechendenKonzepte in der Aussagenlogik.Es gibt auch eine Analogie zu Programmiersprachen. Die reine Syntaxdefinitionin einer Backus-Naur Form zum Beispiel hilft zu entscheiden, ob ein gegebenesProgramm syntaktisch korrekt ist. Um aber einen Interpretierer oder Compilerfur die Sprache zu schreiben und insbesondere, um dessen Korrektheit nach-zuweisen, muss man sagen, was die Konstrukte, die in der Sprache auftreten,bedeuten sollen, d.h. man braucht eine formale Semantik. Dafur gibt es verschie-dene Moglichkeiten. Die abstrakteste ist wohl die denotationale Semantik, beider die Programmiersprachenkonstrukte im wesentlichen auf Mengenoperatio-nen abgebildet werden. Diese Operationen sind dann einfach und ubersichtlichzu erklaren. Hiermit hat man eine Moglichkeit, die Ausfuhrung von Programm-konstruktionen zu definieren bzw. zu uberprufen.Um die Semantik einer Logik zu definieren gibt es ebenfalls verschiedeneMoglichkeiten.

62

Eine operationale Methode der Definition einer Logik ist ein sogenannter Hil-bertkalkul. Dabei gibt man zunachst einen Satz von Formeln oder Formelsche-mata an, die man apriori als gultige Aussagen (Axiome) ansehen will (z.B.P ⇒ P ). Weiterhin braucht man einen Satz von (syntaktischen) Ableitungsre-geln, die aus den Axiomen neue Formeln generieren, welche man dann ebenfallsals gultige Formeln annimmt. Man muss nur aufpassen, dass diese Ableitungsre-geln nicht gleichzeitig eine Formel und deren Negation generieren (Korrektheit).Ein solcher Hilbertkalkul charakterisiert eine Logik zwar genau, ist aber i.a. zuindirekt. Eine Charakterisierung durch einen Hilbertkalkul eignet sich nicht, umandere, fur die Automatisierung besser geeignete Kalkule, zu entwickeln.Eine sehr naturliche Moglichkeit (die ”denotationale Semantik“ von PL1), dieSemantik einer Logik und insbesondere von PL1 anzugeben ist von Alfred Tarskientwickelt worden [Tar53]. Die Grundidee dabei ist, eine Abbildung der syntak-tischen Objekte auf mathematische Objekte (Mengen, Funktionen, Relationenetc.) anzugeben, so dass man unter dieser Abbildung Formeln zu Wahrheitswer-ten evaluieren kann. Gesucht sind daher:

• geeignete mathematische Objekte

• eine geeignete Abbildungsvorschrift, wobei die Abbildung in drei Schrittendefiniert wird:

1. Abbildung der Signatur (fur PL1 auf Funktionen und Relationen)

2. Abbildung der Terme auf Elemente einer Grundmenge Tragermenge,Universum)

3. Abbildung der Formeln auf Wahrheitswerte.

Fur PL1 wird diese Abbildung dann so aufgebaut, dass man zunachst eineMenge definiert, in die die Terme abgebildet werden sollen; Tragermenge, Do-main oder Universum genannt. Funktionssymbole werden auf Funktionen uberdieser Menge und Pradikatensymbole auf Relationen uber dieser Menge abge-bildet. Damit ist die Grundstruktur festgelegt. Die Abbildung von Termen undFormeln ergibt sich jetzt ganz naturlich aus ihrer syntaktischen Struktur. EinTerm f(a, b) zum Beispiel bezeichnet gerade eine Funktionsanwendung: Die demSymbol f zugeordnete Funktion wird auf die den Konstantensymbolen a undb zugeordneten Werte angewendet. Dem Term selbst wird gerade das Ergebnisdieser Funktionsanwendung zugeordnet. Wenn z.B. f die arithmetische Funk-tion + zugeordnet wird und a und b die Zahlen 3 und 4, dann wird damitautomatisch dem Term f(a, b) der Wert 7 zugeordnet. Mit Hilfe der Abbildungvon Pradikatensymbolen auf Relationen lassen sich Atome auf Wahrheitswerteabbilden. Wenn z.B. das Pradikatensymbol P auf die arithmetische <-Relationabgebildet werden und wie oben die Konstantensymbole a und b auf die Zahlen3 und 4, dann ist P (a, b) wahr, da ja 3 < 4 wahr ist. Wenn man dagegen a undb umgekehrt auf 4 und 3 abbildet, dann ist P (a, b) falsch. Ausgehend von die-ser Grundvorschrift fur Atome lassen sich dann zusammengesetzte Formeln ausden Werten fur ihre Komponenten und der Bedeutung des obersten logischen

63

Symbols auswerten. Wenn z.B. die Formel F zu falsch ausgewertet wird, dannwird ¬F zu wahr ausgewertet usw.Man beachte, dass die syntaktischen Objekte, wie z.B. der Term f(a, b), nichtsweiter sind als Zeichenketten. In einem Computer werden sie als Bitfolgen re-prasentiert, die fur den Computer keinerlei Bedeutung haben. Im Gegensatz da-zu ist mit + wirklich die arithmetische Additionsfunktion gemeint. Wenn manauf Papier einen Unterschied machen will zwischen der Darstellung von f alsFunktionssymbol und z.B. + als Funktion, dann muss man zunachst Konventio-nen zur Schreibweise einfuhren, um Datenstrukturobjekte und mathematischeDinge auseinander zu halten. Es sind aber vollig unterschiedliche Dinge damitgemeint. In rein mathematischen Texten sind mit den Zeichen, die auf demPapier innerhalb von Formeln erscheinen im allgemeinen die semantischen Ob-jekte, d.h. die Funktionen usw. gemeint. In logischen Texten wie auch in diesemSkript sind es dagegen die syntaktischen Objekte, um die es primar geht.Die Idee fur die Semantik von PL1 ist offensichtlich sehr einfach und naturlich.Der Formalismus ist umfangreich aber einfach und gibt ganz genau die obengeschilderten Prinzipien wieder.Fur eine Signatur Σ = (F ,P), die nach Definition 4.1 aus Funktions- und Pradi-katensymbolen besteht, definiert man zunachst Σ-Algebren 4 bestehend aus einerTragermenge und einer geeigneten Anzahl von Funktionen geeigneter Stelligkeit.Fur jedes in F vorkommende Funktionssymbol mit Stelligkeit n braucht man ge-nau eine n-stellige Funktion. Um auch die Pradikatensymbole zu interpretieren,werden die Σ-Algebren zu Σ-Strukturen erweitert, die fur jedes in Σ vorkom-mende Pradikatensymbol eine passende Relation enthalten. (Den Unterschiedzwischen Σ-Algebren und Σ-Strukturen macht man deshalb, weil Σ-Algebren zurInterpretation von Termen und auch fur Gleichheitslogiken und fur die Unifika-tion ausreichen, wahrend man fur Formeln Σ-Strukturen braucht.) Schematischsieht die Abbildung der Signatur dann so aus:

Σ-Struktur:{

Σ-Algebra : { Funktionssymbole → FunktionenPradikatensymbole → Relationen

Definition 4.8 Σ-Algebra, Σ-Struktur)Sei Σ = (F ,P) eine Signatur. A = (DA, FA) heißt eine Σ-Algebra gdw.

• DA ist eine nichtleere Menge (die Tragermenge von A)

• FA enthalt fur jedes Funktionssymbol in F eine passende totale Funktion, d.h. FA = {fA ∈ (DA)n → DA | f ∈ F , arity(f) = n}.

S = (DS , FS ,PS) heißt eine Σ-Struktur gdw.

• (DS , FS) ist eine Σ-Algebra und

• PS enthalt fur jedes Pradikatensymbol in P mit Stelligkeit ≥ 1 eine pas-sende Relation, d.h. PS = {PS ⊆ (DA)n | P ∈ P, arity(P ) = n}.

4Das Σ in Σ-Algebra bezieht sich auf die Signatur Σ: Fur jede Signatur Σ gibt es eineKlasse von Σ-Algebren

64

• Jedes Pradikatensymbol der Stelligkeit 0 wird auf 0 oder 1 abgebildet. Diekonstanten Formel werden abgebildet wie folgt: true auf 1 und false auf0.

Die zugeordneten Funktionen, Pradikate, Wahrheitswerte zu einem Symbol Rwerden i.a. mit einem Index S gekennzeichnet. Z.B. f → fS .

Fur eine Σ-Algebra oder Σ-Struktur S soll in Zukunft mit DS deren Trager-menge bezeichnet werden.

Beispiel 4.9 Σ-Algebren und Σ-StrukturenSei Σ = ({o, s}, {L}) mit arity(o) = 0, arity(s) = 1, arity(L) = 2.

Σ-Struktur S1 = (IN, {0, inc}, {<}) wobei (IN = naturliche Zahlen, inc(x) :=x + 1)

Σ-Struktur S2 = ({Mo,Di, Mi, Do, Fr, Sa}, {Mo,morgen}, {vor}) wobeimorgen(Mo) = Di, morgen(Di) = Mi, . . . und Mo vor Di, Di vorMi,. . . , Sa vor So, aber nicht Mo vor Mi usw. (d.h. vor ist nicht transi-tiv.)

Die Tragermenge in S1 sind die naturlichen Zahlen, dem Konstantensymbolo entspricht die Zahl 0, dem Funktionssymbol s entspricht die Funktion incund dem Pradikatensymbol L entspricht die <-Relation. Die Tragermenge inS2 sind die Wochentage, dem Konstantensymbol o entspricht der Montag, demFunktionssymbol s entspricht die Funktion morgen und dem PradikatensymbolL entspricht die vor-Relation.

Wenn man sagt, fur die Signatur Σ hat man die Σ-Algebra A, dann ist ganzgenau festgelegt, wie die Funktions- und Pradikatensymbole von Σ in A inter-pretiert werden. Die Interpretation der Variablensymbole ist jedoch vorlaufignoch offen. Auch ist noch nicht gesagt, wie die Abbildung der Terme formaldefiniert wird. Man will ja nicht irgendeine Abbildung, sondern eine, die zurStruktur der Terme paßt. Die eleganteste Formulierung dieser Abbildung, dieauch fur viele spatere Zwecke die richtige Begriffsbildung zur Verfugung stellt,geht von der Beobachtung aus, dass man fur eine Signatur Σ aus der Mengeder Terme T (Σ, V ) selbst zusammen mit einer Menge von ”Termkonstruktor-funktionen“ eine Σ-Algebra erhalt. Diese Termkonstruktorfunktionen nehmenn Terme t1, . . . , tn und bauen daraus einen neuen Term f(t1, . . . , tn) auf. DieseTermalgebra ist das geeignete Objekt, um eine Abbildung von Termen auf eineΣ-Algebra sauber zu definieren.

Definition 4.10 (Termalgebra) Fur eine Signatur Σ = (F ,P) und eine Men-ge von Variablen V sei T (Σ, V ) die Menge der Terme uber der Signatur Σ undden Variablen V . Sei FT die Menge der Funktionen {fΣ | f ∈ F , arity(f) =n, fΣ(t1, . . . , tn) := f(t1, . . . , tn)}). Dann nennt man (T (Σ, V ), FT ) die Termal-gebra uber der Signatur Σ.

65

Beachte, dass bei fΣ(t1, . . . , tn) die Klammern die n Argumente einklammern,auf die die Funktion fΣ angewendet wird, wahrend f(t1, . . . , tn) ein Datenstruk-turobjekt ist, d.h. ein Term in T (Σ, V ).

Aussage 4.11 (T (Σ, V ), FT ) ist eine Σ-Algebra .

Beweis. Da mindestens ein Konstantensymbol in der Signatur vorhanden ist,ist die Tragermenge T (Σ, V ) nicht leer. Fur jede Funktion fΣ ∈ T (Σ, V ) giltoffensichtlich, dass die Stelligkeit paßt und dass fΣ Terme auf Terme abbildet.Damit sind die Bedingungen der Definition 4.8 erfullt. 2

Termmengen lassen sich somit als Σ-Algebren interpretieren. Worauf es dabeiankommt ist, dass die Abbildung von Elementen der Tragermenge und denFunktionen und Relationen in bestimmter Weise vertraglich sind.Was bisher noch fehlt, ist die Interpretation von Variablensymbolen.

Definition 4.12 Interpretation Gegeben sei eine Signatur Σ = (F ,P) undeine Menge von Variablen V . Eine Interpretation I = (S, IV ) besteht aus einerΣ-Struktur S und einer Variablenbelegung IV . Die Variablenbelegung ist eineAbbildung IV : V → DS, die jedem Variablensymbol einen Wert in der Trager-menge von S zuordnet.Diese Interpretation wird vertraglich erweitert auf Terme5:

Ih(t) ={

IV (t) falls t eine Variable istfS(Ih(t1), . . . , Ih(tn)) falls t = f(t1, . . . tn)

Im Folgenden schreiben wir der Einfachheit halber I statt Ih.

Eine Interpretation wie sie in 4.12 definiert wurde, enthalt alle Informationen,um den in einer Signatur vorkommenden Symbolen eine Bedeutung zuzuord-nen. Die Belegung von Funktions- und Pradikatensymbolen wurde getrennt vonder Belegung von Variablensymbolen definiert, weil die Belegung von Varia-blensymbolen mit Werten aus der Tragermenge einer Σ-Algebra erst geschieht,wenn quantifizierte Formeln zu Wahrheitswerten ausgewertet werden, wobei dieBelegung der Variablen noch variiert wird. Fur eine Formel ”∀x : P (x)“ zumBeispiel wird die Belegung des Pradikatensymbols ”P“ durch eine Σ-Struktur fi-xiert, wahrend das Symbol x mit allen Werten der Tragermenge der Σ-Strukturbelegt werden muss, um herauszufinden, ob P (x) fur alle x gilt.Nachdem jetzt geklart ist, wie man Terme evaluiert, wird im nachsten Schrittfestgelegt, wie man Formeln auf Wahrheitswerte abbildet. Fur atomare For-meln, d.h. Formeln der Art P (t1, . . . , tn) funktioniert das einfach so, dass manzunachst die Terme t1, . . . , tn auf Elemente Ih(t1), . . . , Ih(tn) der Tragermengeder Σ-Struktur abbildet und dann pruft, ob diese Elemente in der dem Pradi-katensymbol zugeordneten Relation liegen. Wenn ja, ist das Atom wahr, wennnicht, dann ist das Atom falsch. Fur die zusammengesetzten Formeln wird dieAbbildung auf Wahrheitswerte entsprechend der intuitiven Bedeutung der logi-schen Verknupfungen und Quantoren definiert. (Dies ist die Stelle wo die Be-deutung der logischen Symbole prazisiert wird.)

5Man kann das auch als Homomorphismus von Algebren und Strukturen definieren.

66

Fur eine gegebene Interpretation I definieren wir eine weitere InterpretationI[a/x], mit gleicher Σ-Struktur und mit I[a/x](x) := a und I[a/x](y) := I(y)falls y 6= x.

Definition 4.13 Auswertung von Formeln: Sei I = (S, IV ) eine Interpretation.Basisfalle:

Fall: H = P (t1, . . . tn) falls (I(t1), . . . , I(tn)) ∈ PS6, dann I(H) := 1.

falls (I(t1), . . . , I(tn)) 6∈ PS , dann I(H) := 0.Fall H = P I(P ) := PS .

Rekursionsfalle:Fall: H = false dann I(H) = 0Fall: H = true dann I(H) = 1Fall: H = ¬F dann I(H) = 1 falls I(F ) = 0Fall: H = F ∨G dann I(H) = 1 falls I(F ) = 1 oder I(G) = 1Fall: H = F ∧G, dann I(H) = 1 falls I(F ) = 1 und I(G) = 1Fall: H = F ⇒ G dann I(H) = 1 falls I(F ) = 0 oder I(G) = 1Fall: H = F ⇔ G dann I(H) = 1 falls I(F ) = 1 gdw. I(G) = 1Fall: H = ∀x : F dann I(H) = 1 falls fur alle a ∈ DS : I[a/x](F ) = 1Fall: H = ∃x : F dann I(H) = 1 falls fur ein a ∈ DS : I[a/x](F ) = 1

Diese Definition erlaubt es, fur eine Formel und eine Interpretation I zu bestim-men, ob die Formel in dieser Interpretation wahr oder falsch ist. Im nachstenSchritt lassen sich dann die Formeln danach klassifizieren, ob sie in allen In-terpretationen wahr werden (Tautologien), in irgendeiner Interpretation wahrwerden (erfullbare Formeln), in irgendeiner Interpretation falsch werden (falsi-fizierbare Formeln) oder in allen Interpretationen falsch werden (unerfullbareoder widerspruchliche Formeln).

Definition 4.14 (Modelle, Tautologien etc.)Eine Interpretation I, die eine Formel F wahr macht (erfullt) heißt Modell vonF . Man sagt auch: F gilt in I (F ist wahr in I, I erfullt F ). Bezeichnung:I |= F .Eine Formel F heißt:

allgemeingultig (Tautologie, Satz) wenn sie von allen Interpretationenerfullt wird

erfullbar wenn sie von einer Interpretation erfullt wird, d.h. wenn es ein Mo-dell gibt

unerfullbar (widerspruchlich) wenn sie von keiner Interpretation erfulltwird.

falsifizierbar wenn sie in einer Interpretation falsch wird.6PS ist die in S dem Symbol P zugeordnete Relation

67

Es gibt dabei folgende Zusammenhange:

• Eine Formel F ist allgemeingultig gdw. ¬F unerfullbar

• Falls F weder allgemeingultig noch Widerspruch, dann gilt: F ist erfullbarund ¬F ist erfullbar

Die Menge der unerfullbaren und die Menge der allgemeingultigen Formeln sinddisjunkt. Formeln die weder unerfullbar noch allgemeingultig sind sind gleich-zeitig erfullbar und falsifizierbar.

Beispiel 4.15allgemeingultig: P ∨ ¬Punerfullbar P ∧ ¬Perfullbar, falsifizierbar: ∀x.P (x)

Fur den letzten Fall geben wir Interpretation an, die die Formel erfullt und einedie sie falsifiziert:

1. Als Menge wahlen wir {0, 1}, als Interpretation fur P ebenfalls die Men-ge {0, 1}. Dann ergibt eine Interpretation I bzgl. dieser Struktur S2:I(∀x.P (x)) gdw 0 ∈ PS2 und 1 ∈ PS1 . D.h. I(∀x.P (x)) = 1.

2. Als Menge wahlen wir {0, 1}, als Interpretation fur P die Menge {0}.Dann ergibt eine Interpretation I bzgl. dieser Struktur S2: I(∀x.P (x)) gdw0 ∈ PS2 und 1 ∈ PS1 . D.h. I(∀x.P (x)) = 0.

Als weiteren, einfachen Testfall untersuchen wir Klauseln.

Beispiel 4.16 Wann ist die Klausel {P (s),¬P (t)} eine Tautologie?Zunachst ist einfach zu sehen, dass {P (s),¬P (s)} eine Tautologie ist: Fur je-de Interpretation I gilt, dass I(P (s)) gerade der negierte Wahrheitswert vonI(¬P (s)) ist.Angenommen, s 6= t. Vermutung: dann ist es keine Tautologie. Um dies nach-zuweisen, muss man eine Interpretation finden, die diese Klausel falsch macht.Zuerst definieren wir eine Tragermenge und eine Σ-Algebra. Man startet miteiner Menge A0, die mindestens soviele Elemente enthalt, wie die Terme s, tKonstanten und Variablen enthalten. Also A0 := {a1, . . . , an, cx1 , . . . cxm

}, wobeiai die Konstanten in s, t sind und xi die Variablen.Danach definiert man alle Funktionen so, die in s, t vorkommen, so dass kei-nerlei Beziehungen gelten. D.h. man kann genau alle Terme nehmen, die sichaus den A0 als Konstanten und den Funktionssymbolen aufbauen lassen. D.h.es ist die Termmenge einer Termalgebra uber einer erweiterten Signatur Σ′.Danach wahlt man als Interpretation I(ai) := ai, I(xi) = cxi

, fS = f . Beachte,dass der Quantorprafix nur aus Allquantoren besteht.Damit gilt nun: I(S) 6= I(t). Da man die einstellige Relation (die Menge), dieP zugeordnet wird, frei wahlen kann, kann man dies so machen, dass I(s) 6∈ PS

und I(t) ∈ PS. Damit wird aber die Klausel falsch unter dieser Interpretation.D.h. es kann keine Tautologie sein.

68

Analog kann man diese Argumentation fur Klauseln mit mehrstelligen Pradika-ten verwenden.

Ubungsaufgabe 4.17 Jede Klausel die mehr als ein Literal enthalt ist erfull-bar. Wie nehmen an, dass die Formeln true, false nicht in Klauseln verwendetwerden.

Mit der Einfuhrung des Begriffs eines Modell (und einer Interpretation) sindalle Voraussetzungen gegeben, um – in Verallgemeinerung der Begriffe fur Aus-sagenlogik – eine semantische Folgerungsbeziehung |= zwischen zwei Formeln zudefinieren:

Definition 4.18 (Semantische Folgerung) F |= G gdw. G gilt (ist wahr) inallen Modellen von F .

Diese Definition ist zwar sehr intuitiv, da es aber i.a. unendlich viele Modelle fureine Formel gibt, ist sie jedoch in keiner Weise geeignet, um fur zwei konkreteFormeln F und G zu testen, ob G aus F semantisch folgt. Die semantische Folge-rungsbeziehung dient aber als Referenz; jedes konkrete, d.h. programmierbareTestverfahren muss sich daran messen, ob und wie genau es diese Beziehungzwischen zwei Formeln realisiert.

Bemerkung 4.19 Man muss sich folgendes klar machen: Bezuglich einer ge-gebenen Σ-Algebra ist eine gegebene geschlossene Formel F entweder wahr oderfalsch. Das heißt aber noch nicht, dass entweder F oder ¬F eine Tautologie ist,denn dieser Begriff ist definiert uber alle Σ-Strukturen.

Bemerkung 4.20 Das Beispiel der naturlichen Zahlen und der darin geltendenSatze ist nicht vollstandig mit PL1 zu erfassen. Der Grund ist, dass man nurvon einer einzigen festen Σ-Struktur ausgeht (die naturlichen Zahlen) und dannnach der Gultigkeit von Satzen fragt.Versucht man die naturlichen Zahlen in PL1 zu erfassen, so stellt sich heraus,dass man mit endlich vielen Axiomen nicht auskommt. Es ist sogar so, dass dieMenge der Axiome nicht rekursiv aufzahlbar ist.

Beispiel 4.21 Ein Beispiel fur eine in PL1 modellierbare Theorie sind dieGruppen. Man benotigt nur endlich viele Axiome. Und man kann dann danachfragen, welche Satze in allen Gruppen gelten.

Ein erster Schritt zur Mechanisierung der Folgerungsbeziehung liefert das so-genannte Deduktionstheorem, welches die semantische Folgerungsbeziehung inBeziehung setzt mit dem syntaktischen Implikationszeichen. Dieses Theoremerlaubt die Ruckfuhrung der semantischen Folgerung auf einen Tautologietest.

Satz 4.22 Deduktionstheorem Fur alle Formeln F und G gilt: F |= G gdw.F ⇒ G ist allgemeingultig (Tautologie).

69

Beweis. ”⇒“Es gelte F |= G. Sei I eine beliebige Interpretation. Wenn F in Iwahr ist, dann ist auch G wahr, nach Annahme. Damit ist aber auch die FormelF ⇒ G in I wahr. Wenn F in I falsch ist, dann ist die Formel F ⇒ G in I wahr.Also gilt F ⇒ G in allen Interpretationen I, d.h. F ⇒ G ist allgemeingultig.

”⇐“Annahme ist jetzt: F ⇒ G ist allgemeingultig. Sei I eine beliebige Inter-pretation. Wenn I die Formel F erfullt, dann gilt das auch fur G, da F ⇒ G istallgemeingultig ist.Da die Interpretation beliebig gewahlt war, gilt somit F |= G 2

Bemerkung 4.23 Will man wissen, ob eine Formel F aus einer Menge vonAxiomen A1, . . . , An folgt, so kann man dies zunachst auf die aquivalente Fragezuruckfuhren, ob F aus der Konjunktion der Axiome A1 ∧ . . . ∧ An folgt unddann auf die aquivalente Frage, ob die Implikation (A1 ∧ . . . ∧ An) ⇒ F eineTautologie ist.

Das Deduktionstheorem gilt in anderen Logiken i.a. nicht mehr. Das kann daranliegen, dass die semantische Folgerungsbeziehung dort anders definiert ist oderauch, dass die Implikation selbst anders definiert ist. Die Implikation, so wie siein PL1 definiert ist, hat namlich den paradoxen Effekt, dass aus etwas Falschemalles folgt, d.h. die Formel false ⇒ F ist eine Tautologie. Versucht man, diesenEffekt durch eine geanderte Definition fur ⇒ zu vermeiden, dann muss dasDeduktionstheorem nicht mehr unbedingt gelten. Da F eine Tautologie ist genaudann wenn ¬F unerfullbar ist, folgt unmittelbar:

F |= Ggdw.

¬(F ⇒ G) ist unerfullbar (widerspruchlich)gdw.

F ∧ ¬G ist unerfullbar.

Das bedeutet, dass man in PL1 den Test der semantischen Folgerungsbeziehungweiter zuruckfuhren kann auf einen Unerfullbarkeitstest. Genau dieses Verfah-ren ist die haufig verwendete Methode des Beweis durch Widerspruch: Umzu zeigen, dass aus Axiomen ein Theorem folgt, zeigt man, dass die Axiomezusammen mit dem negierten Theorem einen Widerspruch ergeben.

4.2.1 Berechenbarkeitseigenschaften der Pradikatenlogik

Es gilt die Unentscheidbarkeit der Pradikatenlogik:

Satz 4.24 Es ist unentscheidbar, ob eine geschlossene Formel ein Satz derPradikatenlogik ist.

Einen Beweis geben wir nicht. Der Beweis besteht darin, ein Verfahren anzu-geben, das jeder Turingmaschine M eine pradikatenlogische Formel zuordnet,die genau dann ein Satz ist, wenn diese Turingmaschine auf dem leeren Bandterminiert. Hierbei nimmt man TM, die nur mit einem Endzustand terminierenkonnen. Da das Halteproblem fur Turingmaschinen unentscheidbar ist, hat mandamit einen Beweis fur den Satz.

70

Satz 4.25 Die Menge der Satze der Pradikatenlogik ist rekursiv aufzahlbar.

Die Begrundung ist analog.Als Schlussfolgerung kann man sagen, dass es kein Deduktionssystem gibt (Al-gorithmus), das bei eingegebener Formel nach endlicher Zeit entscheiden kann,ob die Formel ein Satz ist oder nicht. Allerdings gibt es einen Algorithmus, derfur jede Formel, die ein Satz ist, auch terminiert und diese als Satz erkennt.Uber das theoretische Verhalten eines automatischen Deduktionssystems kannman daher folgendes sagen: Es kann terminieren und antworten: ist oder ist keinSatz. Wenn das System sehr lange lauft, kann das zwei Ursachen haben: DerSatz ist zu schwer zu zeigen (zu erkennen) oder die eingegebene Formel ist keinSatz und das System kann auch dies nicht erkennen.Die Einordnung der sogenannten quantifizierten Booleschen Formeln – Quan-toren uber null-stellige Pradikate sind erlaubt, aber keine Funktionssymbole,und keine mehrstelligen Pradikate – ist in PL1 nicht moglich. Diese QBF sindein ”Fragment“ von PL2. Es ist bekannt (aus Info-3+4), dass die Eigenschaft

”Tautologie“ fur QBF entscheidbar ist (PSPACE-vollstandig).

4.3 Normalformen von PL1-Formeln

Ziel diese Abschnitts ist es, einen Algorithmus zu entwickeln, der beliebige For-meln in eine Klauselnormalform (conjunctive normal form, CNF), d.h. eineKonjunktion (∧) von Disjunktionen (∨ ) von Literalen, transformiert. DieseKlauselnormalform ist nur ”ganz außen“ allquantifiziert, es gibt keine innerenQuantoren. Folgendes Lemma erlaubt die Transformation von Formeln, wobeidie Regeln in Tautologien entsprechen, aber als Transformationen benutzt wer-den. Diese sind Erweiterungen der Tautologien der Aussagenlogik.

Lemma 4.26 Elementare Rechenregeln

(F ⇔ G) ⇔ (F ⇒ G) ∧ (G ⇒ F ) (erlaubt Elimination von ⇔)(F ⇒ G) ⇔ (¬F ∨G) (erlaubt Elimination von ⇒)¬¬F ⇔ F¬(F ∧G) ⇔ ¬F ∨ ¬G¬(F ∨G) ⇔ ¬F ∧ ¬G¬∀x : F ⇔ ∃x : ¬F¬∃x : F ⇔ ∀x : ¬F(∀x : F ) ∧G ⇔ ∀x : (F ∧G) falls x nicht frei in G(∀x : F ) ∨G ⇔ ∀x : (F ∨G) falls x nicht frei in G(∃x : F ) ∧G ⇔ ∃x : (F ∧G) falls x nicht frei in G(∃x : F ) ∨G ⇔ ∃x : (F ∨G) falls x nicht frei in G∀x : F ∧ ∀x : G ⇔ ∀x : (F ∧G)∃x : F ∨ ∃x : G ⇔ ∃x : (F ∨G)F ∨ (G ∧H) ⇔ (F ∨G) ∧ (F ∨H) (Distributivitat)F ∧ (G ∨H) ⇔ (F ∧G) ∨ (F ∧H) (Distributivitat)

Beweis. Wir beweisen beispielhaft den Fall: ¬∀x : F ⇔ ∃x : ¬F

”⇒ ” Sei I eine Interpretation, die ¬∀x : F erfullt.

71

d.h. ∀x : F gilt nicht in I (4.13 ).

; D.h.: es gilt nicht: fur alle a aus der Tragermenge von I: I[a/x] erfullt F .

; Somit gibt es ein a aus der Tragermenge von I, so dass F nicht in I[a/x]gilt.

; Es gibt ein a aus der Tragermenge von I, so dass I[a/x] die Formel ¬Ferfullt (4.13, Fall ¬ )

; I erfullt damit ∃x : ¬F . (4.13, Fall ∃ )

”⇐“ Sei I eine Interpretation, die ∃x : ¬F erfullt. Die obige Folgerungskettekann auch ruckwarts durchlaufen werden. 2

Bemerkung 4.27 Mithilfe der obigen Tautologien kann man die sogenann-te Pranexform und auch die Negations-normalform einer Formel herstellen.Die Pranex-form ist dadurch gekennzeichnet, dass in der Formel zuerst alleQuantoren kommen (Quantorprafix), und dann eine quantorenfreie Formel. DieNegations-normalform ist dadurch gekennzeichnet, dass alle Negationszeichennur vor Atomen vorkommen und dass die Junktoren ⇒,⇔ eliminiert sind.Zur Umwandlung einer Formel in Pranexform braucht man nur die Aquiva-lenzen zu verwenden, die Quantoren nach außen schieben. Hierzu mussen allegebundenen Variablen verschiedene Namen haben. Die Aquivalenzen, die es er-lauben, Subformeln unter Quantoren ∀x. zu schieben, falls diese die Subformeldie Variable x nicht enthalt, spielen eine wichtige Rolle.Die Negationsnormalform wird erreicht, indem man zunachst ⇒,⇔ eliminiertund dann alle Aquivalenzen nutzt, um Negationszeichen nach innen zu schieben.

Die Elimination von Existenzquantoren ist die sogenannte Skolemisierung (NachThoralf Skolem).Idee: Ersetze in ∃x : P (x) das x, ”das existiert“ durch ein Konstantensymbola, d.h. ∃x : P (x) → P (a) Ersetze in ∀x1 . . . xn : ∃y : P (x1, . . . , xn, y) das ydurch eine Funktion von x1, . . . , xn, d.h. ∀x1 . . . xn : ∃y : P (x1, . . . , xn, y) →∀x1 . . . xn : P (x1, . . . , xn, f(x1, . . . , xn)).Im nachsten Theorem sei G[x1, . . . , xn, y] eine beliebige Formel, die die Varia-blensymbole x1, . . . , xn, y frei enthalt und G[x1, . . . , xn, t] eine Variante von F ,in der alle Vorkommnisse von y durch t ersetzt sind.

Satz 4.28 SkolemisierungEine Formel F = ∀x1 . . . xn : ∃y : G[x1, . . . , xn, y] ist (un-)erfullbar gdw. F ′ =∀x1 . . . xn : G[x1, . . . , xn, f(x1, . . . , xn)] (un-)erfullbar ist, wobei f ein n-stelligesFunktionssymbol ist, das nicht in G vorkommt.

Beweis. Wir zeigen die Erfullbarkeitsaquivalenz. Die Unerfullbarkeitsaquivalenzergibt sich dann automatisch.

”⇒“Sei I1 = (A1, IV ) eine Σ1-Interpretation mit I1 |= F , wobei Σ1 die Signaturfur F ist. Fur Σ2 = Σ1 plus zusatzliches n-stelliges Funktionssymbol f konstru-ieren wir ein Σ2-Modell I2 fur F ′ folgendermaßen: I2 = (A2, IV ) mit A2 := A1

72

plus eine neue n-stellige Funktion fA2 , wobei fA2 wie folgt arbeitet: fur allea1, . . . , an aus der Tragermenge von A2: fA2(a1, . . . , an) := c, so dass

I1[a1/x1, . . . , an/xn, c/y] |= G[x1, . . . , xn, y]

Da I1 ein Modell fur F ist, existiert so ein c immer.

; I2[a1/x1, . . . , an/xn] |= G[x1, . . . , xn, f(x1, . . . , xn)]

; I2 |= ∀x1, . . . , xn : G[x1, . . . , xn, f(x1, . . . , xn)]

; F ′ ist erfullbar.

Die ”⇐“ Richtung ist trivial. 2

Beispiel 4.29 Skolemisierung

∃x : P (x) → P (a)∀x : ∃y : Q(f(y, y), x, y) → ∀x : Q(f(g(x), g(x)), x, g(x))∀x, y : ∃z : x + z = y → ∀x, y : x + (x− y) = y.

Beispiel 4.30 Skolemisierung erhalt i.a. nicht die Allgemeingultigkeit (Falsifi-zierbarkeit):

∀x : P (x) ∨ ¬∀x : P (x) ist eine Tautologie

∀x : P (x) ∨ ∃x : ¬P (x) ist aquivalent zu

∀x : P (x) ∨ ¬P (a) nach Skolemisierung.

Eine Interpretation, die die skolemisierte Formel falsifiziert kann man konstru-ieren wie folgt: Die Tragermenge ist {a, b}. Es gelte P (a) und ¬P (b). Die Formelist aber noch erfullbar.

Beachte, dass es dual dazu auch eine Form der Skolemisierung gibt, bei der dieallquantifizierten Variablen skolemisiert werden. Dies wird verwendet, wenn manstatt auf Widerspruchlichkeit die Formeln auf Allgemeingultigkeit testet. ImBeweis ersetzt man dann die Begriff erfullbar durch falsifizierbar und unerfullbardurch allgemeingultig.Skolemisierung ist eine Operation, die nicht lokal innerhalb von Formeln verwen-det werden darf, sondern nur global, d.h. wenn die ganze Formel eine bestimmteForm hat. Zudem bleibt bei dieser Operation nur die Unerfullbarkeit der ganzenKlausel erhalten.

Satz 4.31 Allgemeinere SkolemisierungSei F eine geschlossene Formel, G eine existentiell quantifizierte Unterformel inF an einer Position p, Weiterhin sei G nur unter All-quantoren, Konjunktionen,und Disjunktionen. Die All-quantoren uber G binden die Variablen x1, . . . , xn.D.h. F ist von der Form F [∃y : G′[x1, . . . , xn, y]].Dann ist F [G] (un-)erfullbar gdw. F [G′[x1, . . . , xn, f(x1, . . . , xn)]] (un-)erfullbarist, wobei f ein n-stelliges Funktionssymbol ist, das nicht in G vorkommt.

73

Definition 4.32 Transformation in Klauselnormalform unter Erhaltungder Unerfullbarkeit.Folgende Prozedur wandelt jede pradikatenlogische Formel in Klauselform(CNF) um:

1. Elimination von ⇔ und ⇒: F ⇔ G → F ⇒ G ∧ G ⇒ F (Lemma 4.26)und

F ⇒ G → ¬F ∨G

2. Negation ganz nach innen schieben:

¬¬F → F¬(F ∧G) → ¬F ∨ ¬G¬(F ∨G) → ¬F ∧ ¬G¬∀x : F → ∃x : ¬F¬∃x : F → ∀x : ¬F

3. Skopus von Quantoren minimieren, d.h. Quantoren so weit wie moglichnach innen schieben

∀x : (F ∧G) → (∀x : F ) ∧G falls x nicht frei in G∀x : (F ∨G) → (∀x : F ) ∨G falls x nicht frei in G∃x : (F ∧G) → (∃x : F ) ∧G falls x nicht frei in G∃x : (F ∨G) → (∃x : F ) ∨G falls x nicht frei in G∀x : (F ∧G) → ∀x : F ∧ ∀x : G∃x : (F ∨G) → ∃x : F ∨ ∃x : G

4. Alle gebundenen Variablen sind systematisch umzubenennen, um Namens-konflikte aufzulosen.

5. Existenzquantoren werden durch Skolemisierung eliminiert

6. Allquantoren loschen (alle Variablen werden als allquantifiziert angenom-men.

7. Distributivitat (und Assoziativitat, Kommutativitat) iterativ anwenden,um ∧ nach außen zu schieben (”Ausmultiplikation“). F ∨ (G ∧ H) →(F ∨ G) ∧ (F ∨ H) (Das duale Distributivgesetz wurde eine disjunktiveNormalform ergeben.)

Das Resultat dieser Prozedur ist eine Konjunktion von Disjunktionen (Klauseln)von Literalen:

(L1,1 ∨ . . . ∨ L1,n1)∧ (L2,1 ∨ . . . ∨ L2,n2)∧. . .∧ (Lk,1 ∨ . . . ∨ L1,nk

)

74

oder in (Multi-)Mengenschreibweise:

{{(L1,1, . . . , L1,n1},{L2,1, . . . , L2,n2},. . .{Lk,1, . . . , L1,nk

}}

Beispiel 4.33 Der CNF-algorithmus (4.32) ist im schlechtesten Fall exponen-tiell, d.h. die Anzahl der Literale in der Klauselform wachst exponentiell mitder Schachtelungstiefe der Ausgangsformel (siehe 2.4).Analog zu 2.4 und unter den gleichen Bedingungen gibt es einen verbessertenAlgorithmus, der nur lineares Anwachsen der Formel zur Folge hat.

Beispiel 4.34A1: Dieb(Anton) ∨ Dieb(Ede) ∨ Dieb(Karl)A2: Dieb(Anton) ⇒ (Dieb(Ede) ∨ Dieb(Karl))A3: Dieb(Karl) ⇒ (Dieb(Ede) ∨ Dieb(Anton))A4: Dieb(Ede) ⇒ (¬ Dieb(Anton) ∧¬ Dieb(Karl))A5: ¬ Dieb(Anton) ∨¬ Dieb(Karl)

Klauselform:A1: Dieb(Anton), Dieb(Ede), Dieb(Karl)A2: ¬ Dieb(Anton), Dieb(Ede), Dieb(Karl)A3: ¬ Dieb(Karl), Dieb(Ede), Dieb(Anton)A4a: ¬ Dieb(Ede), ¬ Dieb(Anton)A4b: ¬ Dieb(Ede), ¬ Dieb(Karl)A5: ¬ Dieb(Anton),¬ Dieb(Karl)

Beispiel 4.35 verschiedene Typen von Normalformen:

Original Formel: ∀ε : (ε > 0 ⇒ ∃δ : (δ > 0 ∧ ∀x, y : (|x − y| < δ ⇒ |g(x) −g(y)| < ε)))

Negations Normalform : (Alle Negationen innen; ⇒,⇔ eliminiert)

∀ε : (¬ε > 0 ∨ ∃δ : (δ > 0 ∧ ∀x, y : (¬|x− y| < δ ∨ |g(x)− g(y)| < ε)))

Pranex Form : (Alle Quantoren außen)∀ε : ∃δ : ∀x, y : ε > 0 ⇒ δ > 0 ∧ (|x− y| < δ ⇒ |g(x)− g(y)| < ε)

Skolemisierte Pranex Form :ε > 0 ⇒ fδ(ε) > 0 ∧ (|x− y| < fδ(ε) ⇒ |g(x)− g(y)| < ε)

Disjunktive Normalform :(¬ε > 0) ∨ (fδ(ε) > 0 ∧ ¬|x− y| < fδ(ε)) ∨ (fδ(ε) > 0 ∧ |g(x)− g(y)| < ε)

Konjunktive Normalform :(¬ε > 0 ∨ fδ(ε) > 0) ∧ (¬ε > 0 ∨ ¬|x− y| < fδ(ε) ∨ |g(x)− g(y)| < ε)

Klauselform :{{¬ε > 0, fδ(ε) > 0}, {¬ε > 0,¬|x− y| < fδ(ε), |g(x)− g(y)| < ε}}.

75

5 Resolution und Unifikation

Ein Kalkul soll die semantische Folgerungsbeziehung durch syntaktische Mani-pulation nachbilden, d.h. genau dann wenn F |= G, soll es moglich sein, entwederG aus F durch syntaktische Manipulation abzuleiten (F ` G, positiver Beweis)oder F ∧ ¬G durch syntaktische Manipulation zu widerlegen (F ∧ ¬G ` false,Widerlegungsbeweis). Fur jeden Kalkul muss die Korrektheit gezeigt werden,d.h. wann immer F ` G, dann F |= G. Die Vollstandigkeit, d.h. wann immerF |= G, dann F ` G ist nicht notwendig. Was moglichst gelten sollte (aber beimanchen Logiken nicht moglich ist), ist die Widerlegungsvollstandigkeit, d.h.wann immer F |= G dann F ∧ ¬G ` false. Fur PL1 gibt es eine ganze Reiheunterschiedlicher Kalkule. Ein wichtiger und gut automatisierbarer ist der 1963von John Alan Robinson entwickelte Resolutionskalkul [Rob65]. Er arbeitet inerster Linie auf Klauseln.

5.1 Grundresolution: Resolution ohne Unifikation

Im folgenden schreiben wir Klauseln teilweise als Folge von Literalen: L1, . . . Ln

und behandeln diese als waren es Multimengen. (teilweise auch als Mengen).

Definition 5.1 Resolution im Fall direkt komplementarer Resolutionsliterale.Elternklausel 1: L,K1, . . . ,Km

Elternklausel 2: ¬L,N1, . . . , Nn

Resolvente: K1, . . . ,Km, N1, . . . , Nn

Hierbei kann es passieren, dass die Resolvente keine Literale mehr enthalt. DieseKlausel nennt man die leere Klausel; Bezeichnung: 2. Sie wird als ”falsch“ in-terpretiert und stellt i.a. den gesuchten Widerspruch dar.Beispiel 3.2.14 weiter fortgesetzt:

Beispiel 5.2 siehe Beispiel 4.34A1: Dieb(Anton), Dieb(Ede), Dieb(Karl)A2: ¬ Dieb(Anton), Dieb(Ede), Dieb(Karl)A3: ¬ Dieb(Karl), Dieb(Ede), Dieb(Anton)A4a: ¬ Dieb(Ede), ¬ Dieb(Anton)A4b: ¬ Dieb(Ede), ¬ Dieb(Karl)A5: ¬ Dieb(Anton),¬ Dieb(Karl)

Resolutionsableitung:

A2,2 & A4a,1 ` R1: ¬ Dieb(Anton), Dieb(Karl)R1,2 & A5,2 ` R2: ¬ Dieb(Anton)R2 & A3,3 ` R3: ¬ Dieb(Karl), Dieb(Ede)R3,2 & A4b,1 ` R4: ¬ Dieb(Karl)R4 & A1,3 ` R5: Dieb(Anton), Dieb(Ede)R5,1 & R2 ` R6: Dieb(Ede)

Also, Ede wars.

76

Aussage 5.3 Die Grund-Resolution ist korrekt:

C1 := L,K1, . . . ,Km

C2 :=: ¬L, N1, . . . , Nn

R = K1, . . . ,Km, N1, . . . , Nn

Dann gilt C1 ∧ C2 |= R.

Beweis. Wir mussen zeigen: Jede Interpretation, die die beiden Elternklauselnwahr macht, macht auch die Resolvente wahr. Das geht durch einfache Fallun-terscheidung:Falls L wahr ist, muss ¬L falsch sein. Da C2 wahr ist, muss ein Ni wahr sein.Da dieses Literal in R vorkommt, ist auch R (als Disjunktion betrachtet) wahr.Falls L falsch ist, muss ein Kj wahr sein. Da das ebenfalls in der Resolventevorkommt, ist R auch in diesem Fall wahr. 2

Bemerkung 5.4 Im Sinne der Herleitbarkeit ist Resolution unvollstandig:Nicht jede Formel, die semantisch folgt, laßt sich durch Anwenden der Reso-lution ableiten: Denn P |= P ∨Q. aber auf P alleine kann man keine Resolutionanwenden.

Fur den eingeschrankten Fall, dass die Klauselmenge keine Variablen enthalt(Grundfall) konnen wir schon die Widerlegungsvollstandigkeit der Resolutionbeweisen.

Satz 5.5 (Widerlegungsvollstandigkeit der Grundresolution) Jede endlicheunerfullbare Grundklauselmenge laßt sich durch Resolution widerlegen.

Beweis. siehe Beweis von Satz 2.36 2

5.1.1 Resolution im allgemeinen Fall

Fur den allgemeinen Fall, wenn in den Literalen auch Variablen vorkommen,benotigt man eine zusatzliche Operation, um potentielle Resolutionspartner,d.h. Literale mit gleichem Pradikat und verschiedenem Vorzeichen durch Ein-setzung von Termen fur Variablen komplementar gleich zu machen. Dazu fuhrenwir zunachst das Konzept der Substitution ein.

Definition 5.6 (Substitution)Eine Substitution σ ist eine Abbildung, die Terme auf Terme abbildet unddie nur endlich viele Variablen verandert. Zusatzlich gilt: σ(f(t1, . . . , tn)) =f(σ(t1), . . . , σ(tn)). D.h. die Substitution σ kann man sehen als gleichzeitigeErsetzung der Variablen x durch den Term σ(x).

Substitutionen werden meist geschrieben wie eine Menge von Variable - TermPaaren:

{x1 7→ t1, . . . , xn 7→ t1}

Mit Hilfe der rekursiven Definition:

77

σ(t) :={

ti falls t ≡ xi und σ(xi) = tif(σ(t1), . . . , σ(tn)) falls t ≡ f(t1, . . . tn))

lassen sich solche Mengen von Variable - Term Paaren korrekt als (mit Da-tenstruktur vertragliche) Abbildung auf beliebigen Termen definieren. Entspre-chend kann man die Anwendung von Substitutionen auf Literale und Klauselndefinieren.

Beispiel 5.7

σ = {x 7→ a} σ(x) = a, σ(f(x, x)) = f(a, a)σ = {x 7→ g(x)} σ(x) = g(x), σ(f(x, x)) = f(g(x), g(x)),

σ(σ(x)) = g(g(x))σ = {x 7→ y, y 7→ a} σ(x) = y, σ(σ(x)) = a,

σ(f(x, y)) = f(y, a)σ = {x 7→ y, y 7→ x} σ(x) = y, σ(f(x, y)) = f(y, x)

Definition 5.8 Fur eine Substitution σ = {x1 7→ t1, . . . , xn 7→ tn} heißt

dom(σ) := {x1, . . . , xn} die Domaincod(σ) := {t1, . . . , tn} die Codomain

Substitutionen σ mit σ(σ(t)) = σ(t) fur alle Terme t heißen idempotent.Die Komposition στ von Substitutionen σ und τ ist definiert als: στ(t) :=σ(τ(t)).Gleichheit (modulo einer Menge von Variablen W ) zwischen Substitutionen σund τ wird folgendermaßen definiert: σ = τ [W ] gdw. σx = τx fur alle x ∈ W .Eine Instantiierungrelation ≤ [W ] zwischen Substitutionen σ und τ (fur eineMenge von Variablen W ) ist folgendermaßen definiert:σ ≤ τ [W ] gdw. es existiert eine Substitution λ mit λσ = τ [W ]. Zwei Substitu-tionen σ und τ sind aquivalent, d.h. σ ≈ t[W ] gdw. σ ≤ τ [W ] und τ ≤ σ[W ]gilt.Ist W die Menge aller Variablen, so kann man W weglassen.

Bemerkung 5.9 Die Relationen ≤ [W ] ist reflexiv und transitiv, aber nichtantisymmetrisch. D.h. es ist eine Praordnung.Die Relation ≈ [W ] ist eine Aquivalenzrelation.Eine Substitution ist genau dann idempotent wenn die Variablen der Domainnicht in der Codomain vorkommen.

Beispiel 5.10

Komposition:

• {x 7→ a}{y 7→ b} = {x 7→ a, y 7→ b}• {y 7→ b}{x 7→ f(y)} = {x 7→ f(b), y 7→ b}• {x 7→ b}{x 7→ a} = {x 7→ a}

Instanziierungsrelation:

78

• {x 7→ y} ≤ {x 7→ a}[x]• {x 7→ y} ≤ {x 7→ a}[x, y] gilt nicht !• {x 7→ y} ≤ {x 7→ a, y 7→ a}• {x 7→ f(x)} ≤ {x 7→ f(a)}

Aquivalenz: {x 7→ y, y 7→ x} ≈ Id (Id ist die identische Substitution)

Fur die Aquivalenz von Substitutionen gilt: σ ≈ τ [W ] gdw. σ = ρτ [W ] fureine Variablenpermutation ρ. Eine Variablenpermutation ρ ist eine Substitution,die Variablen permutiert, d.h. Dom(ρ) = Cod(ρ) und ρ bildet Variablen aufVariablen ab. (Beweis Ubungsaufgabe)

Definition 5.11 (Resolution mit Unifikation)

Elternklausel 1: L,K1, . . . ,Km σ ist eine Substitution (Unifikator)Elternklausel 2: ¬L′, N1, . . . , Nn σ(L) = σ(L′)Resolvente: σ(K1, . . . ,Km, N1, . . . , Nn)

Die Operation auf einer Klauselmenge, die eine Klausel C auswahlt, auf dieseeine Substitution σ anwendet und σ(C) zur Klauselmenge hinzufugt, ist korrekt.Damit ist auch die allgemeine Resolution als Folge von Variableneinsetzung undResolution korrekt.

Beispiel 5.12 Dieses Beispiel (Eine Variante der Russelschen Antinomie)zeigt, dass noch eine Erweiterung der Resolution, die Faktorisierung, notwendigist. Die Aussage ist: Der Friseur rasiert alle, die sich nicht selbst rasieren:

∀x : ¬rasiert(x, x) ⇔ rasiert(Friseur, x)

rasiert(x, x), rasiert(Friseur, x) σ = {x 7→ Friseur, y 7→ Friseur}¬rasiert(Friseur, y),¬rasiert(y, y)rasiert(Friseur, Friseur),¬rasiert(Friseur, Friseur)

Die Klauseln sind widerspruchlich, was aber ohne eine Verschmelzung der Li-terale mittels Resolution nicht ableitbar ist. In der folgenden Herleitung werdendie Variablen mit ”Friseur“instanziiert, und dann die Literale verschmolzen.

rasiert(x, x), rasiert(Friseur, x) ` rasiert(Friseur, Friseur)¬rasiert(Friseur, y),¬rasiert(y, y) ` ¬rasiert(Friseur, Friseur)

Danach ist es moglich, diese beiden Literale durch Resolution zur leeren Klauselabzuleiten.

Definition 5.13 (Faktorisierung)

Elternklausel: L,L′,K1, . . . ,Km σ(L) = σ(L′)Faktor: σ(L,K1, . . . ,Km)

79

Damit besteht der Resolutionskalkul jetzt aus Resolution und Faktorisierung.

Definition 5.14 Der Resolutionskalkul transformiert Klauselmengen S wiefolgt:

1. S → S ∪ {R}, wobei R eine Resolvente von zwei (nicht notwendig ver-schiedenen) Klauseln aus S ist.

2. S → S ∪ {F}, wobei F ein Faktor einer Klausel aus S ist.

Der Resolutionskalkul terminiert mit Erfolg, wenn die leere Klausel abgeleitetwurde, d.h. wenn 2 ∈ S.

Bei Klauselmengen nehmen wir wie ublich an, dass die Klauseln variablendis-junkt sind.

Beispiel 5.15 Wir wollen die Transitivitat der Teilmengenrelation mit Reso-lution beweisen. Wir starten mit der Definition von ⊆ unter Benutzung von∈:

∀x, y : x ⊆ y ⇔ ∀w : w ∈ x ⇒ w ∈ y

Das zu beweisende Theorem ist:

∀x, y, z : x ⊆ y ∧ y ⊆ z ⇒ x ⊆ z

Umwandlung in Klauselform ergibt:H1: ¬x ⊆ y,¬w ∈ x,w ∈ y (⇒ Teil der Definition)H2: x ⊆ y, f(x, y) ∈ x (zwei ⇐ Teile der Definition,H3: x ⊆ y,¬f(x, y) ∈ y f ist die Skolem Funktion fur w)C1: a ⊆ b (drei Teile der negierten Behauptung,C2: b ⊆ c a, b, c sind Skolem Konstanten fur x, y, z)C3: ¬a ⊆ c

Resolutionswiderlegung:H1,1 & C1, {x 7→ a, y 7→ b} ` R1: ¬w ∈ a,w ∈ bH1,1 & C2, {x 7→ b, y 7→ c} ` R2: ¬w ∈ b, w ∈ cH2,2 & R1,1, {x 7→ a,w 7→ f(a, y)} ` R3: a ⊆ y, f(a, y) ∈ bH3,2 & R2,2, {y 7→ c, w 7→ f(x, c)} ` R4: x ⊆ c,¬f(x, c) ∈ bR3,2 & R4,2, {x 7→ a, y 7→ c} ` R5: a ⊆ c, a ⊆ cR5 & (Faktorisierung) ` R6: a ⊆ cR6 & C3 ` R7: 2

80

5.2 Unifikation

Die Resolutions- und Faktorisierungsregel verwenden Substitutionen (Unifika-toren), die zwei Atome syntaktisch gleich machen. Meist will man jedoch nichtirgendeinen Unifikator, sondern einen moglichst allgemeinen. Was das bedeutet,zeigen die folgenden Beispiele:

Beispiel 5.16 Unifikatoren und allgemeinste Unifikatoren.P (x), Q(x)¬P (y), R(y) σ = {x 7→ a, y 7→ a}Q(a), R(a) σ ist ein UnifikatorP (x), Q(x)¬P (y), R(y) σ = {x 7→ y}Q(y), R(y) σ ist ein allgemeinster Unifikator

Fragen:

• Was heißt ”allgemeinster“ Unifikator?

• Wieviele gibt es davon? (σ′ = {y 7→ x} im obigen Beispiel ist offensichtlichauch einer.)

• Wie berechnet man sie?

Ein allgemeinster Unifikator (von zwei Atomen) kann man intuitiv dadurch er-klaren, dass es eine Substitution ist, die zwei Terme oder Atome gleich macht,und moglichst wenig instanziiert. Optimal ist es dann, wenn alle Unifikato-ren durch weitere Einsetzung in den allgemeinsten Unifikator erzeugt werdenkonnen.

Definition 5.17 Unifikatoren und allgemeinste Unifikatoren.Seien s und t die zu unifizierenden Terme (Atome) und W := FV(s, t). EineSubstitution σ heißt Unifikator (von s, t), wenn σ(s) = σ(t). Die Menge allerUnifikatoren bezeichnet man auch mit U(s, t),Eine Substitution σ heißt allgemeinster Unifikator fur zwei Terme s und t wennσ ein Unifikator ist (Korrektheit)fur alle Unifikatoren τ gilt σ ≤ τ [W ] (Vollstandigkeit)

Der allgemeinste Unifikator ist i.a. nur eindeutig bis auf ≡ [W ]:

Beispiel 5.18 Es gibt (mindestens) zwei allgemeinste Unifikatoren fur x undy: {x 7→ y}, {y 7→ x}, die sich aber nur durch Variablenumbenennung unter-scheiden.

Die Beispiele legen die Vermutung nahe, dass es bis auf Variablenumbenennungimmer einen allgemeinsten Unifikator gibt. Wir geben den Unifikationsalgorith-mus in Form eines Regelpaketes an, das auf Mengen von Gleichungen operiert.

Definition 5.19 Unifikationsalgorithmus U1:

81

Eingabe: zwei Terme oder Atome s und t:

Ausgabe: ”nicht unifizierbar“ oder einen allgemeinsten Unifikator:

Zustande: auf denen der Algorithmus operiert: Eine Menge Γ von Gleichun-gen.

Initialzustand: Γ0 = {s ?= t}.

Unifikationsregeln:f(s1, . . . , sn) ?= f(t1, . . . , tn),Γ

s1?= t1 , . . . , sn

?= tn,Γ(Dekomposition)

x?= x, ΓΓ

(Tautologie)

x?= t,Γ

x?= t, {x 7→ t}Γ

x ∈ FV(Γ), x 6= t, x 6∈ FV(t) (Anwendung)

t?= x, Γ

x?= t,Γ

t 6∈ V (Orientierung)

Abbruchbedingungen:

f(. . .) ?= g(. . .),ΓFail

wenn f 6= g (Clash)

x?= t,Γ

Failwenn x ∈ FV(t) vorkommt (occurs check Fehler)

und t 6= x

Steuerung:Starte mit Γ = Γ0, und transformiere Γ solange durch (nichtdeterministische)Anwendung der Regeln, bis entweder eine Abbruchbedingung erfullt ist oder kei-ne Regel mehr anwendbar ist. Falls eine Abbruchbedingung erfullt ist, termi-niere mit ”nicht unifizierbar“. Falls keine Regel mehr anwendbar ist, hat dieGleichungsmenge die Form {x1

?= t1, . . . , xk?= tk}, wobei keine der Variablen

xi in einem tj vorkommt; d.h. sie ist in geloster Form. Das Resultat ist dann{x1 7→ t1, . . . , xk 7→ tk}. (siehe Lemma 5.22).

Beispiel 5.20 Unifikation von zwei Termen durch Anwendung der obigen Re-geln:

82

{k(f(x, g(a, y)), g(x, h(y))) ?= k(f(h(y), g(y, a)), g(z, z))}

→ {f(x, g(a, y)) ?= f(h(y), g(y, a)), g(x, h(y)) ?= g(z, z)} (Dekomposition)

→ {x ?= h(y), g(a, y) ?= g(y, a), g(x, h(y)) = g(z, z)} (Dekomposition)

→ {x ?= h(y), a ?= y, y?= a, g(x, h(y)) ?= g(z, z)} (Dekomposition)

→ {x ?= h(y), y ?= a, g(x, h(y)) ?= g(z, z)} (Orientierung)

→ {x ?= h(a), y ?= a, g(x, h(a)) ?= g(z, z)} (Anwendung, y)

→ {x ?= h(a), y ?= a, x?= z, h(a) ?= z} (Dekomposition)

→ {x ?= h(a), y ?= a, x?= z, z

?= h(a)} (Orientierung)

→ {x ?= h(a), y ?= a, z?= h(a)} (Anwendung)

Unifizierte Terme: k(f(h(a), g(a, a)), g(h(a), h(a))).

Satz 5.21 Der Unifikationsalgorithmus U1 terminiert, ist korrekt undvollstandig.

Beweis.Seien s und t die zu unifizierenden Terme. Sei W := FV(s, t).

Korrektheit: Wir mussen zeigen, dass die berechnete Substitution auch wirk-lich ein Unifikator fur die beiden Eingabeterme ist. Die Idee dazu ist fol-gende: Man zeige, dass fur jede Transformationsregel gilt: wenn die Glei-chungsmenge Γ′ nach einer Regelanwendung unifizierbar ist, dann ist auchdie entsprechende Menge vor der Regelanwendung unifizierbar. Per Induk-tion nach der Anzahl der Regelanwendungen ergibt sich dann: Wenn dieLosungsgleichungsmenge unifizierbar ist, dann sind auch die Ausgangster-me unifizierbar. Man muss jetzt jede Unifikationsregel daraufhin untersu-chen.

Wir machen das am Beispiel der Dekompositionsregel:

Angenommen, Γ′ = {s1?= t1, . . . , sn

?= tn} ∪ Γ ist unifizierbar, d.h. esexistiert eine Substitution τ ∈ U({s1

?= t1, . . . sn?= tn} ∪ Γ). Dann gilt

selbstverstandlich τf(s1, . . . , sn) ?= τf(t1, . . . , tn), d.h. das Gleichungssy-stem vorher ist unifizierbar. Fur die anderen Regeln ist die Argumentationanalog.

Terminierung Um zu zeigen, dass der Unifikationsalgorithmus immer termi-niert, mussen wir ein (fundiertes) Maß fur Gleichungssysteme finden, das

83

nach jeder Regelanwendung kleiner wird. Ein Maß ist das Tupel (Anzahlder ungelosten Variablen, Anzahl der Symbole, Anzahl der falsch orientier-ten Gleichungen) mit lexikographischer Ordnung. (Eine Variable x heißtgelost wenn sie nur noch in der Gleichung x

?= t, aber x nicht in t vor-kommt.). Dieses Maß wird nach jeder Regelanwendung kleiner: Wenn dieDekomposition oder Tautologieregel feuert, wird die Anzahl der Symbolekleiner, wenn die Anwendungsregel feuert, wird die Anzahl der ungelostenVariablen kleiner, und die Orientierungsregel verkleinert die dritte Kom-ponente und laßt die anderen fest.

Vollstandigkeit: Wir zeigen, dass alle Regeln die Menge der Unifikatoren nichtverandert. Da die Korrektheit schon gezeigt ist, d.h. die Menge vergroßertsich nicht, mussen wir jetzt nur noch zeigen, dass die Menge der Uni-fikatoren sich nicht verkleinert. Sei τ eine Substitution mit τ ∈ U(Γ)und sei Γ → Γ′ transformiert worden. Wenn die entsprechende Regel dieDekomposition, Tautologie oder die Orientierung war, dann sieht manleicht ein, dass τ ∈ U(Γ′). Betrachtung wir die Regel (Anwendung). Danngilt τx = τt. Hieraus folgt, dass τ = τ{x 7→ t} ist, denn fur x gilt:τ(x) = τ(t) und τ{x 7→ t}(x) = τ(t). Fur andere Variablen y 6= x giltoffenbar τ{x 7→ t}(y) = τ(y). Folglich gilt auch hier τ ∈ U(Γ′).

2

Lemma 5.22 Der Unifikationsalgorithmus U1 terminiert entweder mit einemUnifikator in geloster Form, oder er bricht ab mit ”nicht unifizierbar“.

Beweis. nach 5.21 terminiert U1 immer. Es gibt folgende Moglichkeiten: entwe-der bricht er ab mit ”nicht unifizierbar“ oder es ist keine Regel mehr anwendbar.Wenn keine Regel mehr anwendbar ist, dann gibt es nur noch Gleichungen x

?= t,Dekomposition ist nicht mehr anwendbar, die Gleichungen sind richtig orientiertund x kommt nur einmal in Γ vor, insbesondere nicht in t. 2

Lemma 5.23 Sei Γ = {x1?= t1, . . . , xk

?= tk} ein Gleichungssystem in gelosterForm. Dann ist σ := {x1 7→ t1, . . . , xk 7→ tk} ein allgemeinster Unifikator.

Beweis. Offenbar ist σ ein Unifikator. Zum Nachweis der Allgemeinstheit sei τein Unifikator von Γ. Dann gilt τσ = τ : τσxi = τti = τxi fur i = 1, . . . , n undfur eine Variable x 6∈ {x1, . . . , xn} gilt τσx = τx. Also ist σ allgemeiner als τ . 2

Satz 5.24 Fur jedes unifizierbare Gleichungssystem Γ gibt es bis auf Umbe-nennung von Variablen genau einen allgemeinsten Unifikator und U1 berechneteinen solchen.

5.3 Komplexitat des Unifikationsalgorithmus

Aussage 5.25 Der Unifikationsalgorithmus U1 hat exponentielle Laufzeit inder Anzahl der Symbole der zu unifizierenden Terme:

84

Beispiel 5.26 Zu unifizieren sei:

f(x2, x3, x4, . . . , xn) ?= f(g(x1, x1), g(x2, x2), g(x3, x3), . . . , g(xn−1, xn−1))

Der Unifikationsalgorithmus arbeitet dann folgendermaßen:

f(x2, x3, x4, . . . , xn) ?= f(g(x1, x1), g(x2, x2), g(x3, x3), . . . , g(xn − 1, xn − 1))

→ x2?= g(x1, x1), x3

?= g(x2, x2), x4?= g(x3, x3), . . . , xn

?= g(xn−1, xn−1)

(Dekomposition)

→ x2?= g(x1, x1), x3

?= g(g(x1, x1), g(x1, x1)), . . . , xn?= g(xn−1, xn−1)

(Anwendung, x2)

→ x2?= g(x1, x1), x3

?= g(g(x1, x1), g(x1, x1)),

x4?= g(g(g(x1, x1), g(x1, x1)), g(g(x1, x1), g(x1, x1))), . . . , xn

?= g(xn−1, xn−1)

(Anwendung, x3)

Da die Terme exponentiell anwachsen, benotigt man in diesem Beispiel expo-nentiell viel Platz.

Eine Verbesserung ist die Verwendung von Sharing, d.h.gerichteten Graphenstatt Baumen). Danach wird der Platzbedarf stark verbessert (linear), allerdingsbenotigt der (naive) occurs-check exponentiellen Aufwand. Auch diesen kannman verbessern durch Verwendung von optimierten Graph-algorithmen, so dassman nach Optimierung einen im schlimmsten Fall quadratischen Algorithmuserhalt.Es gibt jedoch Unifikationsalgorithmen, die durch geschickte Reprasentation derTerme eine lineare Komplexitat haben [PM68]. Allerdings sind fur praktischeZwecke die Varianten des Algorithmus von Martelli und Montanari geeigneter[MM82].

5.4 Der allgemeine Resolutionskalkul

Wir konnen nun zusammenfassend sagen, wie der Resolutionskalkul auf Klau-selmengen arbeitet:

Definition 5.27 Der Resolutionskalkul ist ein Kalkul, der Klauselmengen inKlauselmengen transformiert mit den folgenden beiden Regeln:

1. Sei C eine Menge von Klauseln. Sei R eine Resolvente von zwei (nichtnotwendig verschiedenen) Klauseln in CS, wobei der zugehorige Unifikatorein allgemeinster ist. Dann bilde C ′ := C ∪ {R}

85

2. Sei C eine Menge von Klauseln. Sei F ein Faktor einer der Klauselnin CS, wobei der zugehorige Unifikator ein allgemeinster ist. Dann bildeC ′ := C ∪ {F}

5.5 Schritte zum Vollstandigkeitsbeweis der allgemeinenResolution

Definition 5.28 Herbrand Interpretation: Sei C eine Klauselmenge uber derSignatur Σ und V die Menge der Variablen. Eine Herbrand Interpretation isteine Interpretation (IV , T (Σ, ∅), P ) wobei

• T (Σ, ∅) die Grundtermalgebra ist (ohne Variablensymbole) (auch Her-brand Universum genannt) und

• IV eine Variablenbelegung in T (Σ, ∅), d.h. eine Abbildung auf Grundterme

• P fur jedes Pradikatensymbol eine Relation auf Grundtermen festlegt.

(Fur jedes Pradikatensymbol kann man die Relation dadurch festlegen, dass maneine Menge von Atomen angibt, die als wahr in der Interpretation angenommenwerden sollen.)

Bemerkung: Fur eine feste Klauselmenge unterscheiden sich die Herbrand-Interpretationen nur durch die Interpretation der Variablen und Pradikaten-symbole.

Satz 5.29 (Herbrand Theorem) Fur eine unerfullbare Menge C von Klauselngibt es eine endliche unerfullbare Menge von Grundinstanzen

Beweis. 1.) Die Menge Cgr aller Grundinstanzen von C ist unerfullbar:Wir nehmen an, dass die Menge Cgr aller Grundinstanzen von C erfullbar ist,von einer Interpretation I. Wir konstruieren eine Herbrandinterpretation IH

fur Cgr wie folgt: In jeder Grundklausel wird mindestens ein Literal von I wahrgemacht. All diese Literale zusammen ergeben dann genau eine (Herbrand) In-terpretation der Pradikatensymbole, die in C vorkommen.Um zum Widerspruch zu kommen, mussen wir jetzt zeigen, dass diese Herbran-dinterpretation auch die ursprungliche Klauselmenge C erfullt. Das heißt, furjede Klausel D und fur jede Belegung der Variablen x1, . . . , xn in der Klauselmit Grundtermen muss gelten, dass IH [t1/x1, . . . , tn/xn] |= D. Es ist jedoch{x1 7→ t1, . . . , xn 7→ tn}C gerade eine der Grundklauseln, die von IH erfulltwird. Da bei Herbrand-Interpretationen Variablenbelegungen dasselbe sind wieSubstitutionen, gilt: IH [t1/x1, . . . , tn/xn] |= C. Also wird die Klauselmenge Cvon IH erfullt, und das ist der gesuchte Widerspruch.2.) Es gibt eine endliche unerfullbare Teilmenge von Cgr:Annahme: jede endliche Teilmenge von Cgr ist erfullbar. Wir konstruieren da-mit eine Interpretation von von Cgr. Sei A1, A2, . . . eine Aufzahlung der Atomeeiner Herbrandbasis (alle Grundatome).Sei B :=

⋃Bn wobei Bn := {B | B : {A1, A2, . . . , An} → {0, 1}}. Das ist die

86

Menge aller moglichen (Teil-) Belegungen von Atomen. Dies ergibt einen Baummit den Belegungen als Knoten; von B nach B′ geht genau dann eine gerich-tete Kante, wenn B ∈ Bn, B′ ∈ Bn+1 und B und B′ auf {A1, A2, . . . , An}ubereinstimmen. Ein Knoten B ∈ Bn in diesem Baum heißt abgeschlossen,wenn es eine Klausel in Cgr gibt, so dass alle in Cgr vorkommenden Atome in{A1, A2, . . . , An} sind und B diese Klausel zu falsch evaluiert. Offenbar ist auchjeder Nachfolgeknoten eines abgeschlossenen Knotens wieder abgeschlossen. Furjedes n gibt es einen nicht abgeschlossenen Knoten in Bn, denn anderenfalls gibtes fur jeden Knoten in Bn eine Klausel in Cgr, die zu falsch evaluiert wird. Diessind endlich viele Klauseln, deren Konjunktion konnte dann von keiner Inter-pretation erfullt werden, was ein Widerspruch zur obigen Annahme ist. DerTeilbaum der nicht abgeschlossenen Knoten ist ein unendlicher Baum mit end-licher Verzweigungsrate. Nach Konig’s Lemma gibt es einen unendlichen Pfadin diesem Baum. Dieser unendliche Pfad stellt gerade eine Interpretation vonCgr dar. Dies ist ein Widerspruch zur Annahme, dass Cgr unerfullbar ist. Damithaben wir gezeigt, dass es eine endliche unerfullbare Teilmenge von Cgr gibt. 2

Das hier nicht bewiesene Kompaktheitstheorem fur PL1 sagt aus, dass jede un-erfullbare unendliche Menge von Aussagen eine endliche, unerfullbare Teilmengehat. Unter Ausnutzung dieses Satzes kann man im zweiten Teil des obigen Be-weises sofort schließen, dass es eine unerfullbare endliche Teilmenge von Cgr

geben muss.Das Herbrand Theorem konnen wir jetzt fur folgende Argumentation benutzen:Fur eine unerfullbare Klauselmenge gibt es offensichtlich eine endliche Mengevon Grundinstanzen, so dass diese Grundklauselmenge unerfullbar ist. DieseGrundklauselmenge konnen wir durch Resolution ohne Unifikation widerlegen,das sagte gerade das Theorem 5.5. Was wir jetzt noch brauchen ist die Moglich-keit, diese Widerlegung auf der variablenfreien Ebene zu einer Widerlegung aufder Ebene der Originalklauseln zu ”liften“, d.h. wir mussen zeigen, dass es furjeden Grundresolutionsschritt eine entsprechende allgemeine Resolution gibt, sodass die Grundresolvente eine Instanz der allgemeinen Resolvente ist. Das leistetdas sogenannte Lifting Lemma

Lemma 5.30 Lifting LemmaSeien C und D zwei beliebige Klauseln ohne gemeinsame Variablen, Cgr undDgr zwei Grundinstanzen davon. Fur jede Resolvente Rgr zwischen Cgr und Dgr

gibt es eine entsprechende Resolvente R von (evtl. iterierten) Faktoren (sieheDefinition. 5.13) von C und D, so dass Rgr eine Grundinstanz von R ist.

Beweis. siehe einschlagige Literatur. 2

Satz 5.31 Vollstandigkeit der Resolution und Faktorisierung mit allgemeinstenUnifikatoren: Fur jede unerfullbare Klauselmenge gibt es einen Widerlegungsbe-weis mittels Resolution und Faktorisierung.

Beweis. Wir sammeln einfach alle bisherigen Ergebnisse auf: Nach dem Her-brand Theorem (5.29) gibt es eine endliche unerfullbare Grundklauselmenge,

87

fur die man nach Theorem 5.5 eine Resolutionswiderlegung findet. Durch In-duktion nach der Anzahl der Grundresolutionen bekommt man jetzt mittels desLifting Lemmas, dass es fur jede dieser Grundresolutionen eine entsprechendeSequenz von Faktorisierungen und Resolution mit allgemeinsten Unifikatorengibt, so dass die Resolvente allgemeiner ist als die Grundresolvente. Fur die al-lerletzte Grundresolvente, die leere Klausel, ist die einzige allgemeinere Klauselebenfalls die leere Klausel. Daher wird auf der allgemeineren Ebene ebenfallsdie leere Klausel produziert. 2

C

C1,gr

1

C2,gr

C2

…LiftingHerbrandTheorem

Grundebene

allgemeine Ebene

5.6 Ein Beispiel fur Resolutionsbeweise: Hilbertkalkul

Der Hilbertkalkule gibt es fur viele Logikvarianten. Die Idee ist stets, eine Men-ge von Axiomen: die als bereits wahr angenommenen Theoreme der Logik, undals einzige Schlussregel den Modus ponens zu nehmen. Die Menge der herleitba-ren Formeln sind dann die Satze der entsprechenden Hilbertlogik. Diese Kalkulebieten eine rein operationale Definition von Logik(en), die keine Semantik er-fordert.Wir formulieren in PL1 Aussagen uber eine andere Logik, nennen wir sie MINI.Dies ist eine Implementierung einer Variante des Hilbertkalkuls fur Aussagenlo-gik. Die Syntax dieser Logik MINI lasse nur nullstellige Pradikatensymbole undeinen Implikationsjunktor IMP zu. Wir betrachten einen Kalkul fur MINI mitzwei logischen Axiomen:

X IMP (Y IMP X)

(X IMP (Y IMP Z)) IMP ((X IMP Y ) IMP (X IMP Z))

und der einzigen Schlussregel Modus Ponens

X, (X IMP Y )Y

D.h. der Kalkul arbeitet auf Mengen von Formeln, und fugt entsprechend derSchlussregel Modus ponens neue Formeln hinzu. Allerdings ist diese Schlussregelmit Instanziierung verbunden, so dass diese korrekter lauten sollte:

X1, (X2 IMP Y )σ(Y )

σ ist allgemeinster Unifikator von X1, X2

Dabei stehen X1, X2, Y, Z jeweils fur beliebige MINI-Formeln.

88

Wir wollen zeigen, dass im MINI-Kalkul die Formel (X IMP X) fur beliebigeMINI-Formeln X aus den Axiomen ableitbar ist.Um die Aussagen uber MINI in PL1 zu formulieren, benutzen wir einPL1-Pradikatensymbol ableitbar und kodieren den Junktor als ein PL1-Funktionssymbol ”imp“ (in Prafixschreibweise). Dadurch werden MINI-Formelnals PL1-Terme dargestellt. Der MINI-Kalkul laßt sich dann folgendermaßendurch PL1-Formeln beschreiben:

F1: ∀x, y : ableitbar(imp(x, imp(y, x)))

F2: ∀x, y, z : ableitbar(imp(imp(x, imp(y, z)), imp(imp(x, y), imp(x, z))))

F3: ∀x, y : ableitbar(x) ∧ ableitbar(imp(x, y)) ⇒ ableitbar(y)

Wir wollen zeigen, dass daraus folgende Formel folgt:

B : ∀x : ableitbar(imp(x, x))

Die Klauselform von F1 ∧ F2 ∧ F3 ∧ ¬B ist eine Menge von vier Klau-seln, wobei die Variable in ¬B durch eine nullstellige Skolemfunktion, also eineSkolemkonstante c ersetzt ist:

C1 = ableitbar(imp(x1, imp(y1, x1)))

C2 = ableitbar(imp(imp(x2, imp(y2, z2)), imp(imp(x2, y2), imp(x2, z2))))

C3 = ¬ableitbar(x3),¬ableitbar(imp(x3, y3)), ableitbar(y3)

B = ¬ableitbar(imp(c, c))

Im folgenden bezeichne C, n das n-te Literal einer Klausel C, das KurzelC, n+D,m ` R steht fur eine Anwendung der Resolutionsregel mit den entspre-chenden Resolutionsliteralen der Elternklauseln C und D und der Resolvente R.Die Variablen jeder Resolvente werden systematisch umbenannt, um Namens-konflikte zu vermeiden.Wir fuhren folgende Resolutionsableitung durch:

89

C1 + C3, 1{x3 7→ imp(x1, imp(y1, x1))}

` R1′ = ¬ableitbar(imp(imp(x1, imp(y1,x1)), y3)), ableitbar(y3)

→ R1 = ¬ableitbar(imp(imp(x4, imp(y4, x4)), z4)), ableitbar(z4)

C2 + R1, 1{z4 7→ imp(imp(x4, y4), imp(x4, x4)), x2 7→ x4, y2 7→ y4, z2 7→ x4}

` R2′ = ableitbar(imp(imp(x4, y4), imp(x4, x4)))

→ R2 = ableitbar(imp(imp(x5, y5), imp(x5, x5)))

R2 + C3, 2{x3 7→ imp(x5, y5), y3 7→ imp(x5, x5)}

` R3′ = ¬ableitbar(imp(x5, y5)), ableitbar(imp(x5, x5))

→ R3 = ¬ableitbar(imp(x6, y6)), ableitbar(imp(x6, x6))

C1 + R3, 1{x6 7→ x1, y6 7→ imp(y1, x1)}

` R4′ = ableitbar(imp(x1, x1))

→ R4 = ableitbar(imp(x7, x7))

B + R4 ` R5 = 2

90

6 Loschregeln: Subsumtion, Tautologie und Iso-liertheit

Wenn man einen automatischen Beweiser, der nur mit Resolution und Faktori-sierung arbeitet, beobachtet, dann wird man sehr schnell zwei Arten von Redun-danzen feststellen: Der Beweiser wird Tautologien ableiten, d.h. Klauseln, dieein Literal positiv und negativ enthalten, z.B. {P,¬P, . . .}. Diese Klauseln sindin allen Interpretationen wahr und konnen daher zur Suche des Widerspruchs(leere Klausel) nicht beitragen. Man sollte entweder ihre Entstehung verhindernoder sie wenigstens sofort loschen. Weiterhin wird der Beweiser Klauseln ab-leiten, die Spezialisierungen von schon vorhandenen Klauseln sind. Z.B. wennschon {P (x), Q} vorhanden ist, dann ist {P (a), Q} aber auch {P (y), Q,R}, ei-ne Spezialisierung. Alles was man mit diesen (subsumierten) Klauseln machenkann, kann man genausogut oder besser mit der allgemeineren Klausel machen.Daher sollte man subsumierte Klauseln sofort loschen. Es kann auch passieren,dass eine neue abgeleitete Klausel allgemeiner ist als schon vorhandene Klauseln(die neue subsumiert die alte).Pragmatisch gesehen, muss man auch verhindern, dass bereits hergeleitete undhinzugefugte Resolventen (Faktoren) noch einmal hinzugefugt werden. D.h. eineBuchfuhrung kann sinnvoll sein.Im folgenden wollen wir uns die drei wichtigsten Loschregeln und deren Wir-kungsweise anschauen und deren Vollstandigkeit im Zusammenhang mit derResolution zeigen.

Definition 6.1 Isoliertes LiteralSei C eine Klauselmenge, D eine Klausel in C und L ein Literal In D. L heißtisoliert, wenn es keine Klausel D′ 6= D mit einem Literal L′ in C gibt, so dassL und L′ verschiedenes Vorzeichen haben und L und L′ unifizierbar sind.

Die entsprechende Reduktionsregel ist:

Definition 6.2 ISOL: Loschregel fur isolierte LiteraleWenn D eine Klausel aus C ist mit einem isolierten Literal, dann losche dieKlausel D aus C.

Der Test, ob ein Literal in einer Klauselmenge isoliert ist, kann in ZeitO(n3log(n)) durchgefuhrt werden.Daß diese Regel korrekt ist, kann man mit folgender prozeduralen Argumenta-tion einsehen: Eine Klausel D, die ein isoliertes Literal enthalt, kann niemals ineiner Resolutionsableitung der leeren Klausel vorkommen, denn dieses Literalkann mittels Resolution nicht mehr entfernt werden und ist deshalb in allennachfolgenden Resolventen enthalten. Dies gilt auch fur eine eventuelle spate-re Resolution mit einer Kopie von D. Also kann ein Resolutionsbeweis in derrestlichen Klauselmenge gefunden werden. Somit gilt:

Satz 6.3 Die Loschregel fur isolierte Literale kann zum Resolutionskalkul hin-zugenommen werden, ohne die Widerlegungsvollstandigkeit zu verlieren.

91

Die Loschregel fur isolierte Literale gehort gewissermaßen zur Grundausstattungvon Deduktionssystemen auf der Basis von Resolution. Sie kann mogliche Einga-befehler finden und kann Resolventen mit isolierten Literalen wieder entfernen.Der Suchraum wird im allgemeinen jedoch nicht kleiner, denn die Eingabefor-meln enthalten normalerweise keine isolierten Literale. Das Loschen von Resol-venten mit isolierten Literalen ist noch nicht ausreichend. Denn ein nachfolgen-der Resolutionsschritt konnte genau denselben Resolutionsschritt noch einmalmachen. Das Klauselgraphverfahren z.B.hat diese Schwachen nicht.

Beispiel 6.4 Betrachte die Klauselmenge

C1 : P (a)

C2 : P (b)

C3 : ¬Q(b)

C4 : ¬P (x), Q(x)

Diese Klauselmenge ist unerfullbar. Am Anfang gibt es keine isolierten Literale.Resolviert man C1 + C4 so erhalt man die Resolvente {Q(a)}. Das einzigeLiteral ist isoliert. Somit kann diese Resolvente gleich wieder geloscht werden.D.h. dieser Versuch war eine Sackgasse in der Suche.

Eine weitere mogliche Redundanz ist die Subsumtion

Definition 6.5 Seien D und E Klauseln. Wir sagen dass D die Klausel Esubsumiert, wenn es eine Substitution σ gibt, so dass σ(D) ⊆ E

D subsumiert E wenn D eine Teilmenge von E ist oder allgemeiner als eineTeilmenge von E ist. Zum Beispiel {P (x)} subsumiert {P (a), P (b), Q(y)}. Daßeine Klausel E, die von D subsumiert wird, redundant ist, kann man sich fol-gendermaßen klarmachen:Wenn eine Resolutionsableitung der leeren Klausel irgendwann E benutzt, dannmussen in nachfolgenden Resolutionsschritten die ”uberflussigen“ Literale wie-der wegresolviert werden. Hatte man statt dessen D benutzt, waren diese extraSchritte uberflussig.Die entsprechende Reduktionsregel ist:

Definition 6.6 SUBS: Loschregel fur subsumierte KlauselnWenn D und E Klauseln aus C sind, D subsumiert E und E hat nicht wenigerLiterale als D, dann losche die Klausel E aus C .

Beispiel 6.7

• P subsumiert {P, S}.

92

• {Q(x), R(x)} subsumiert {R(a), S,Q(a)}

• {E(a, x), E(x, a)} subsumiert {E(a, a)} D.h eine Klausel subsumiert einenihren Faktoren. In diesem Fall wird nicht geloscht.

• {¬P (x), P (f(x))} impliziert {¬P (x), P (f(f(x))} aber subsumiert nicht.

Die Subsumtionsloschregel unterscheidet man manchmal noch nach Vorwarts-und Ruckwartsanwendung. Vorwartsanwendung bedeutet, dass man gerade neuerzeugte Klauseln, die subsumiert werden, loscht. Ruckwartsanwendung bedeu-tet, dass man alte Klauseln loscht, die von gerade erzeugten Klausel subsumiertwerden. Die Bedingung, dass D nicht weniger Literale als C haben muss, ver-hindert, dass Elternklauseln ihre Faktoren subsumieren. Die Einschrankung aufdas syntaktische Kriterium θ(C) ⊆ D fur Subsumtion ist zunachst mal pragma-tischer Natur. Es ist namlich so, dass man die allgemeine Implikation, C ⇒ D,nicht immer entscheiden kann. Selbst wenn man es entscheiden konnte, warees nicht immer geschickt, solche Klauseln zu loschen. Z.B. folgt die Klausel{¬P (x), P (f(f(f(f(f(x))))))} aus der Klausel {¬P (x), Pf(x))}. Um eine Wi-derlegung mit den beiden unaren Klauseln P (a) und ¬P (f(f(f(f(f(a)))))) zufinden, benotigt man mit der ersten Klausel gerade zwei Resolutionsschritte,wahrend man mit der zweiten Klausel 6 Resolutionsschritte benotigt. Wurdeman die implizierte Klausel loschen, wurde der Beweis also viel langer werden.Ein praktisches Problem bei der Loschung subsumierter Klauseln ist, dass derTest, ob eine Klausel C eine andere subsumiert, NP-vollstandig ist. Die Kom-plexitat steckt in den Permutationen der Literale beim Subsumtionstest. In derPraxis macht das keine Schwierigkeiten, da man entweder die Lange der Klau-seln fur die Subsumtion testet, beschranken kann, oder den Subsumtionstestunvollstandig ausfuhret, indem man nicht alle moglichen Permutationen vonLiteralen mit gleichem Pradikat ausprobiert.Um zu zeigen, dass man gefahrlos subsumierte Klauseln loschen kann, d.h. dassman Subsumtion zu einem Resolutionsbeweiser hinzufugen kann ohne dass dieWiderlegungsvollstandigkeit verlorengeht, zeigen wir zunachst ein Lemma.

Lemma 6.8 Seien D,E Klauseln in der Klauselmenge C, so dass D die KlauselE subsumiert. Dann wird jede Resolvente und jeder Faktor von E von einerKlausel subsumiert, die ableitbar ist, ohne E zu verwenden, wobei statt E dieKlausel D oder Faktoren von D verwendet werden.

Beweis. Faktoren von E werden offensichtlich von D subsumiert. Seien E ={K} ∪ ER und F = {M} ∪ FR, wobei K und M komplementare Literale sindund sei R := τER ∪ τFR die Resolvente.Sei σ(D) ⊆ E.

1. σ(D) ⊆ ER.Dann ist τσ(D) ⊆ FR, d.h. D subsumiert die Resolvente R.

2. D = {L} ∪DR, σDR ⊆ ER und σ(L) = KDie Resolvente von D mit F auf den Literalen L,M und dem allgemein-sten Unifikator µ ist dann µDR ∪ µFR. Sei τ ′ die Substitution, die auf E

93

wie τσ wirkt und auf F wie τ . Diese Definition ist moglich durch Abande-rung auf Variablen, da wir stets annehmen, dass verschiedene Klauselnvariablendisjunkt sind. Da µ allgemeinst ist, gibt es eine Substitution λmit λµ = τ ′. Dann ist λµDR ∪ λµFR = τσDR ∪ τFR ⊆ τER ∪ τFR. Alsowird die Resolvente Rvon E und F subsumiert von einer Resolvente vonD und F .

3. σDR ⊆ E aber nicht σDR ⊆ ER.Dann ist DR = {L1, . . . , Lm} ∪D′

R und σLi = σL = K. Mit einer Argu-mentation ahnlich zu der in Fall 1 sieht man, dass es einen Faktor D′ vonD gibt, der L und alle Li verschmilzt und immer noch E subsumiert. Aufdiesen kann dann Fall 1 angewendet werden.

2

Satz 6.9 Der Resolutionskalkul zusammen mit der Loschung subsumierterKlauseln ist widerlegungsvollstandig.

Beweis. Induktion nach der Lange einer Resolutionsableitung mit Lemma 6.8 alsInduktionsschritt und der Tatsache, dass die einzige Klausel, die die leere Klauselsubsumiert, selbst nur die leere Klausel sein kann, liefert die Behauptung. 2

Definition 6.10 Sei D eine Klausel. Wir sagen dass D eine Tautologie ist,wenn D in allen Interpretationen wahr ist.

Beispiele fur Tautologien sind {Pa,¬Pa}, {Qa, P (f(x)),¬P (f(x), Qb} oder{Px,¬Px}. Keine Tautologien sind {Px,¬Pf(y)} und {¬P (x, y), P (y, x)}.Ein syntaktisches Kriterium zur Erkennung von tautologischen Klauseln ist derTest, ob zwei komplementare Literale L,L′ enthalten sind mit gleichen Atomen.(siehe Beispiel 4.16). Dieser Test ist fur die ganze Klauselmenge in Zeit O(n3)durchfuhrbar.Die entsprechende Reduktionsregel ist:

Definition 6.11 TAUT: Loschregel fur tautologische KlauselnWenn D eine tautologische Klausel aus der Klauselmenge C ist, dann losche dieKlausel D aus C.

Da tautologische Klauseln in allen Interpretationen wahr sind, ist die Loschungvon Tautologien unerheblich fur die Unerfullbarkeit.

Satz 6.12 Die Loschregel fur tautologische Klauseln ist widerlegungs-vollstandig.

Beweis. Hierzu zeigt man, dass ein Beweis, der eine tautologische Klausel be-nutzt, verkurzt werden kann:Sei C = C1 ∨ L ∨ ¬L eine tautologische Klausel, die im Beweis benutzt wird.Sei D = D1 ∨ L′ die Klausel, mit der als nachstes resolviert wird. Wir konnenannehmen, dass L′ und ¬L komplementar sind mit allgemeinstem Unifikator σ.Das Resultat ist σ(C1 ∨L∨D1). Diese Resolvente wird von D subsumiert. Mit

94

Lemma 6.8 konnen wir den Resolutionsbeweis verkurzen, indem D statt dieserResolvente genommen wird. Mit Induktion konnen so alle Tautologien aus einerResolutionsherleitung der leeren Klausel eliminiert werden. 2

Es gilt:

Satz 6.13 Der Resolutionskalkul zusammen mit Loschung subsumierter Klau-seln, Loschung von Klauseln mit isolierten Literalen und Loschung von Tauto-logien ist widerlegungsvollstandig.

Die Loschung von subsumierten Klauseln kann sehr zur Verkleinerung vonSuchraumen beitragen. Umgekehrt kann das Abschalten der Subsumtionsre-gel einen Beweis dadurch praktisch unmoglich machen, dass mehr als 99% allerabgeleiteten Resolventen subsumierte Klauseln sind. Es gibt noch verschiedenedestruktive Operationen auf der Menge der Klauseln, die als Zusammensetzungvon Resolution, Faktorisierung und Subsumtion verstanden werden konnen.Zum Beispiel gibt es den Fall, dass ein Faktor eine Elternklausel subsumiert,wie in {P (x, x), P (x, y)}. Faktorisierung zu {P (x, x)} und anschließende Sub-sumtionsloschung kann man dann sehen als Ersetzen der ursprunglichen Klauseldurch den Faktor. Diese Operation wird auch Subsumtionsresolution genannt.Die Prozedur von Davis und Putnam (siehe Abschnitt 2.6) zum Entscheidender Unerfullbarkeit von aussagenlogische Klauselmengen kann man jetzt leichtaus Resolution, Subsumtionsregel, Isolationsregel und Fallunterscheidung zu-sammenbauen.

95

7 Einschrankung der Resolution

Der Resolutionskalkul hat durch die Verwendung allgemeinster Unifikatoren denVorteil, dass die Verzweigungsrate im Suchraum endlich ist, d.h. fur jede Klau-selmenge gibt es nur endlich viele, und i.a. nicht allzu viele Moglichkeiten, Resol-venten abzuleiten. Trotzdem gibt es noch nicht ”den super-Resolutionsbeweiser,der alle machbaren Verifikations- und mathematischen Probleme lost. EinerGrund ist, dass immer noch sehr viele offensichtliche Redundanzen im Kalkulstecken, die die Suche erschweren.

7.1 Set-of-Support

Die am meisten benutzte und oft sehr wirkungsvolle Restriktionsstrategie istSet-of-Support. Dazu teilt man die Klauselmenge auf in die Klauseln, die ausden Voraussetzungen entstanden sind, und die Klauseln, die von der negiertenBehauptung stammen. Man geht davon aus, dass die Voraussetzungen nichtselbst bereits widerspruchlich sind und deshalb ein Widerspruch nur unter Be-teiligung der Behauptung erzielt werden kann. Die Restriktion verbietet deshalbdie Erzeugung von Resolventen zwischen zwei Voraussetzungs-Klauseln.Wenn im Beispiel {P,Q}, {¬P,Q}, {P,¬Q}, {¬P,¬Q} die Klausel {P,Q} alsSet-of-Support definiert ist, dann darf man nicht innerhalb der restlichen Klau-selmenge resolvieren.Im allgemeinen hat man die Axiome A1, . . . An und einen Satz der FormB1 ∧ . . . ∧ Bn ⇒ F . Wenn Bi, F Literale sind, dann ist in der Klauselformnur ¬F im set-of-support. Die Resolution mit SOS kann also nur damit anfan-gen zu schließen. Die Einschrankung ist am Anfang einer Beweissuche mittelsResolution sehr wirksam. Allerdings vergroßert sich die SOS-Menge nach einigenResolutionsschritten, so dass die Wirkung nachlaßt.Etwas allgemeiner kann man die Klauselmenge, gegeben eine Struktur S in dieMenge der Klauseln aufteilen, die von S erfullt werden, und das Komplement.Ein Widerspruch kann nicht entstehen, wenn zwischen in S gultigen Klauselnresolviert wird.

7.2 UR-Resolution

Bei der UR-Resolution (englisch: unit resulting resolution) wird jeweils eineKlausel mit n + 1 Literalen, der sogenannte ”Nukleus“, simultan mit n unarenKlauseln resolviert, so dass eine neue unare Klausel entsteht. Seien beispielsweisefolgende Klauseln gegeben:

C1 {¬P (x, y),¬P (y, z), P (x, z)}

C2 {P (a, b)}

C3 {P (b, c)}

96

Damit sind u.a. folgende Resolutionsschritte moglich:

C1, 1 + C2 ` R1 = {¬P (b, z), P (a, z)}

R1, 1 + C3 ` R2 = {P (a, c)}

Die zweite Resolvente entsteht aber auch mit einer anderen Ableitung, die sichnur durch eine unwesentliche Vertauschung der Reihenfolge der Schritte von derersten unterscheidet:

C1, 2 + C3 ` {R1′ = ¬P (x, b), P (x, c)}

R1, 1 + C2 ` R2 = {P (a, c)}

Die UR-Resolution faßt die beiden Schritte so zusammen, dass R2 unmittelbarabgeleitet wird und die Reihenfolge der Schritte keine Rolle mehr spielt. Dasallgemeine Schema fur UR-Resolution sieht in graphischer Darstellung folgen-dermaßen aus:

K1 Kn

…simultanerUnifikator σ

s Ln+1 UR-Resolvente

UnäreKlauseln

L1 … Ln Ln+1… „Nukleus“

reso

lvie

rbar

reso

lvie

rbar

Diese Darstellung verdeutlicht, dass die unaren Klauseln in der Ausgangssitua-tion gleichberechtigt sind, und dass daher die Reihenfolge, in der sie bearbeitetwerden, keine Auswirkung auf das endgultige Resultat haben sollte. Der ge-meinsame Unifikator wird berechnet, indem man durch Aneinanderhangen derTermlisten der unaren Klauseln und der Termlisten der Partnerliterale im Nu-kleus zwei große Termlisten bildet und diese ganz normal unifiziert. Im Tran-sitivitatsbeispiel von oben sind die beiden Termlisten (x, y, y, z) und (a, b, b, c).Deren Unifikator ist {x 7→ a, y 7→ b, z 7→ c}. Es gibt allerdings auch effizientereMethoden.Die Wirkung der UR-Resolution ist nicht nur, dass von der Reihenfolge dern unaren Resolutionsschritte abstrahiert wird. Obendrein werden die als Zwi-schenergebnisse anfallenden n−1 Klauseln gar nicht erzeugt, im obigen Beispielwurden also R1 oder R1′ nicht in die Klauselmenge eingefugt. Da es dafur

97

zunachst keinen Grund gibt, jedenfalls nicht mit irgendeiner gangigen Redukti-onsregel, entspricht die UR-Resolution genaugenommen sogar einer ganz neuenSchlussregel, fur die wieder dieselben Eigenschaften gezeigt werden mussen wiefur die Resolutionsregel.Die UR-Resolution ist korrekt, da sie immer das gleiche Ergebnis liefert wie ei-ne entsprechende Folge von normalen Resolutionen. Sie ist nicht widerlegungs-vollstandig wie die folgende unerfullbare Klauselmenge zeigt:

{{P,Q}, {P,¬Q}, {¬P,¬Q}, {¬P,¬Q}}

Diese Klauselmenge enthalt uberhaupt keine unaren Klauseln und kann damitnicht mit UR-Resolution widerlegt werden. Fur eine eingeschrankte Klasse vonKlauseln ist sie jedoch widerlegungsvollstandig, und zwar fur die sogenanntenunar widerlegbare Klauselmengen. Diese Klauselmengen kann man widerlegen,indem man die Resolution dahingehend einschrankt, dass man fordert, dass eineder beteiligten Elternklauseln immer eine unare Klausel ist, d.h. aus einem Li-teral besteht. Es gibt (bis jetzt) keine geeignete syntaktische Charakterisierungdieser Eigenschaft. Eine wichtige Unterklasse der unar widerlegbaren Klausel-mengen sind Mengen von Hornklauseln, die in dieser Vorlesung noch behandeltwerden.Erinnerung: Eine Hornklausel ist eine Klausel mit maximal einem positivenLiteral. Eine Hornklauselmenge ist eine Klauselmenge die nur aus Hornklauselnbesteht.

Beispiel 7.1 UR-Resolution zur Aktionsplanung Typische ”Blockswelt“:

BA1 2

initialstate A

B1 2

goalstate

Gesucht ist eine Aktionsfolge, die den initialen Zustand in den Zielzustand trans-formiert.Axiomatisierung des Problems:Es wird verwendet:

• at(z, x, l): im Zustand z ist Block x auf Position l.

• on(z, x, y): im Zustand z ist Block x auf Block y.

• cl(z, x): im Zustand z ist Block x frei.

• M(x, l): Block x geht nach Position l.

• n(x, y): Zustand nach Aktion y vom Zustand x aus.

• Konstanten: S: Startzustand, A,B: Bausteine.

98

Allgemeine Regel:

C1 : 1 6= 2

Ausgangszustand:

C2 : at(S, A, 1)

C3 : at(S, B, 1)

C4 : cl(S, B)

C5 : on(S, B, A)

Axiomatisierung der Aktion M(x, l) :

C6 : ∀s, x, l : (cl(s, x) ⇒ at(n(s,M(x, l)), x, l))

C7 : ∀s, x, y, l1, l2 : (on(s, x, y) ∧ at(s, x, l1) ∧ l1 6= l2 ⇒ cl(n(s,M(x, l2)), y))

C8 : ∀s, x, y, l(at(s, x, l) ⇒ at(n(s,M(y, l)), x, l))

Ziel:

∃z(at(z,A, 2) ∧ at(z,B, 2))

Klauselform:

99

C1 : 1 6= 2

C2 : at(S, A, 1)

C3 : at(S, B, 1)

C4 : cl(S, B)

C5 : on(S, B, A)

C6 : ¬cl(s, x), at(n(s,M(x, l)), x, l)

C7 : ¬on(s, x, y),¬at(s, x, l1), l1 = l2, cl(n(s,M(x, l)), y)

C8 : ¬at(s, x, l), at(n(s,M(y, l)), x, l)

Z : ¬at(z,A, 2),¬at(z,B, 2)

UR-Resolutionsfolge:

C6 + C4 ` R1 : at(n(S, M(B, l)), B, l)

{s 7→ S, x 7→ B}

C7 + C5, C2, C1 ` R2 : cl(n(S, M(B, 2)), A)

{s 7→ S, x 7→ B, y 7→ A, l1 7→ 1, l2 7→ 2}

C6 + R2 ` R3 : at(n(n(S, M(B, 2)),M(A, l)), A, l)

{s 7→ n(S, M(B, 2)), x 7→ B}

C8 + R1 ` R4 : at(n(n(S, M(B, l)),M(y, l)), B, l)

{s 7→ n(S, M(B, l)), x 7→ B}

Z + R3, R4 ` R5 : 2

{l 7→ 2, z 7→ n(n(S, M(B, 2)),M(A, 2))}

Die gesuchte Aktionsfolge ist also M(B, 2)M(A, 2).

100

7.3 Hyperresolution

Die Hyperresolution kann man als Verallgemeinerung der UR-Resolution ansehen. Sie wurde ebenfalls von John Alan Robin-son entworfen und wird durch folgendes Schema beschrieben:

…simultanerUnifikator σ

… … „Nukleus“+L1 -L n+1+Ln -L n+m… …

-Kn „Elektronen“

σ -Ln+1 σ -Ln+m… …… … Hyperresolvente

-K1

σ σ

Als ”Nukleus“ dient eine Klausel, die mindestens ein positives Literal enthalt.Solche Klauseln gibt es in unerfullbaren Klauselmengen immer. Fur jedespositive Literal des Nukleus benotigt man ein sogenanntes ”Elektron“, eineKlausel mit nur negativen Literalen. Rein negative Klauseln kommen inunerfullbaren Klauselmengen ebenfalls immer vor. Der Nukleus wird wiedersimultan mit allen Elektronen resolviert, wodurch eine rein negative Klauselentsteht, die wiederum als Elektron im nachsten Hyperresolutionsschritt dienenkann. Die rein negativen Klauseln ubernehmen hier also die gleiche Rollewie die unaren Klauseln in der UR-Resolution. Dual zu dieser sogenanntennegativen Hyperresolution definiert man die positive Hyperresolution, bei derdie Vorzeichen der Literale in Nukleus und Elektronen gerade vertauscht sind.Da im Normalfall eine negierte Behauptung nur negative Literale enthalt unddamit als Elektron fur negative Hyperresolution verwendbar ist, eignet sichdiese fur Ruckwartsschließen von der Behauptung in Richtung Voraussetzungen,wahrend positive Hyperresolution gerade umgekehrt von den Voraussetzungenin Richtung auf die Behauptung arbeiten kann. Beide Varianten der Hyper-resolution (mit eingebauter Faktorisierung) sind widerlegungsvollstandig furbeliebige Klauselmengen.

7.4 Input-Resolution und Unare Resolution

unare Resolution (englisch unit resolution) verbietet die Erzeugung von Resol-venten zwischen zwei Elternklauseln, wenn beide mehr als ein Literal enthal-ten. Positiv formuliert muss also jede Resolvente mindestens eine unare Eltern-klausel besitzen. Faktorisierung ist ebenfalls erlaubt. Diese Restriktion schranktdie moglichen Nachfolgezustande einer Klauselmenge stark ein, fuhrt außerdemstets zu Resolventen mit weniger Literalen als sie die langere Elternklausel be-sitzt. Sie ist die Basisvariante zur UR-Resolution.

Beispiel 7.2 ( Unare Resolution)

101

Wir widerlegen die Klauselmenge {{P (a)}, {¬P (x), P (f(x))}, {¬P (f(f(f(f(a)))))}},einmal mit unarer Resolution und dann ohne eine feste Strategie. Zur Dar-stellung benutzen wir einen sogenannten Widerlegungsbaum, bei dem jederKnoten genau die beiden Elternklauseln als Vorganger hat. Die Wurzel (diesmalwirklich unten) ist die leere Klausel.

Widerlegungsbaume

mit unarer Resolution mit allgemeiner Resolution

¬P(x) P(f(x)) ¬P(x) P(f(x))

¬P(x) P(f(f(x)) ¬P(x) P(f(f(x)))

¬P(x) P(f(f(f(f(x))))) P(a)

P(f(f(f(f(a))))) ¬P(f(f(f(f(a)))))

P(a) ¬P(x) P(f(x))

P(f(a))

P(f(f(a)))

P(f(f(f(a))))

P(f(f(f(f(a))))) ¬P(f(f(f(f(a)))))

Wie man sieht, ist die unare Widerlegung langer als die uneingeschrankte. Mankann das Beispiel leicht erweitern, so dass man sieht, dass die unare Widerle-gung exponentiell langer ist. Das bedeutet aber nicht, dass der Suchraum auchexponentiell großer ist, im Gegenteil: meist ist der Suchraum erheblich viel klei-ner.

Die unare Resolution ist im allgemeinen nicht widerlegungsvollstandig, dasheißt, die leere Klausel ist mit dieser Strategie nicht von allen unerfullbarenKlauselmengen aus ableitbar. Immerhin ist die Widerlegungsvollstandigkeit fureine wichtige Klasse von Klauselmengen gewahrleistet, die die Klasse der Horn-klauselmengen umfaßt und die man mangels einer syntaktischen Charakterisie-rung die unar widerlegbare Klasse nennt.

102

7.5 Eingabe-Resolution

Fur die Klasse der unar widerlegbaren Klauselmengen ist auch eine andere wich-tige Restriktionsstrategie widerlegungsvollstandig, die Eingaberesolution (eng-lisch input resolution). Diese verbietet die Erzeugung von Resolventen, derenElternklauseln beide Resolventen sind. Positiv formuliert muss also jede Resol-vente wenigstens eine Elternklausel aus der initialen Klauselmenge besitzen. Derwesentliche Vorteil dieser Restriktion besteht daran, dass von allen moglichenResolutionsschritten ein Resolutionsliteral a priori bekannt ist. Faktorisierungist ebenfalls erlaubt. Insbesondere treten damit nur Unifikationen zwischen je-weils einem beliebigen und einem a priori bekannten Term auf, so dass manfur jeden dieser bekannten Terme aus den initialen Klauseln einen speziellenUnifikationsalgorithmus ”kompilieren“ kann. Dieser ist in der Regel wesentlicheffizienter als einer, der zwei beliebige Terme unifizieren konnen muss.Es gilt: Eine Klauselmenge ist genau dann mit unarer Resolution widerlegbar,wenn sie mit Inputresolution widerlegbar ist. In diesem Sinne sind beide Stra-tegien gleichwertig.

7.6 Lineare Resolution

Es gibt eine Reihe von Restriktionsstrategien, die die Grundidee der Eingabere-solution moglichst weitgehend erhalten wollen, aber widerlegungsvollstandig furbeliebige Klauselmengen sind. Die meisten basieren auf der linearen Resolution.Man arbeitet immer mit einer aktuellen Klausel, der Zentralklausel. Resolutionmit Eingabe-Klauseln ist erlaubt, ebenso Faktorisierung, wobei diese auch impli-zit sein kann. Außerdem werden Resolutionsschritte zwischen zwei Resolventenin den Fallen zugelassen, in denen eine ein ”Vorganger“ der anderen ist.

Beispiel 7.3 Lineare ResolutionWir widerlegen die Klauselmenge {P,Q}, {¬P,Q}, {P,¬Q}, {¬P,¬Q}, einmalmit linearer Resolution und einmal mit allgemeiner Resolution:

103

P Q ¬Q P

P ¬P Q

Q ¬Q ¬P

¬P

VorgängerSchritt

P Q ¬Q P ¬P Q ¬Q ¬P

P ¬P

lineare Resolutionallgemeine Resolution

Beispiel 7.4 Folgendes Beispiel zeigt, dass man Faktorisierung braucht. DieKlauselmenge sei {{P (x), P (y)}, {¬P (x),¬P (y)}}. Lineare Resolution ohneFaktorisierung ergibt immer eine Zentralklausel der Lange zwei, wobei auch kei-ne automatische Verschmelzung auftritt.

Durch Verscharfungen dieser Bedingung sowie durch Beschrankungen fur die alsResolutionsliterale zulassigen Literale einer Klausel ergeben sich verschiedeneVarianten der linearen Resolution, zum Beispiel die sogenannte SL-Resolution .

7.7 SL-Resolution

SL-Resolution ist eine Restriktionsstrategie, die i.a. gekoppelt ist mit einer Ord-nungsstrategie [KK71]. Die Bedeutung der SL-Resolution liegt darin, dass sie ei-ne prozedurale ”goal/subgoal“ Sichtweise der Resolution erlaubt. SL-Resolutionist die Strategie, die der logischen Programmiersprache PROLOG zugrundeliegt.Im folgenden wird die SL-Resolution fur Horn Klauseln behandelt. Im Falle derHornklauselmengen ist die Faktorisierung nicht notwendig.

7.8 SL-Resolution fur Horn Klauseln

Angenommen, wir haben eine Menge von initialen Horn Klauseln und eine ”Ziel-klausel“, d.h. ein negiertes Theorem ohne Kopfliteral. Beginnend mit der Ziel-klausel als ”Zentralklausel“ wahlt SL-Resolution in jedem Schritt die letzte Re-solvente als neue Zentralklausel und bestimmt die zulassigen Resolutionsschrittewie folgt: Wenn die aktuelle Zentralklausel C = C1∨C2 ist, wobei C2 der Blockvon Literalen ist, der von der letzten ”Seitenklausel“ abstammt, wird aus C2

ein Literal L ausgewahlt und dafur eine Resolvente mit einer passenden Klausel

104

aus der initialen Klauselmenge generiert. Daher resolviert SL-Resolution nurzwischen der letzten Resolvente und den Eingabeklauseln. Daruberhinaus wer-den diejenigen Literale zuerst wegresolviert, die als letzte in die Klausel hineinkamen. Die Auswahl des Literals in der Zentralklausel durch eine Selektionsfunk-tion ist deterministisch. Dem liegt die Erkenntnis zugrunde, dass die Reihenfol-ge, in der man Literale einer Klausel ”wegresolviert“ unerheblich ist – wennes in einer Reihenfolge nicht geht, geht es auch in keiner anderen. Die Aus-wahl des Resolutionspartners ist dagegen nichtdeterministisch: eine erfolgreicheResolutionskette ist ausreichend.

Beispiel 7.5 SL-Resolution mit Horn Klauseln

Prolog Notation: Klausel Notation:

C1: A(x, y) ⇐ P (x, y) A(x, y) ∨ ¬P (x, y)

C2: A(x, z) ⇐ P (x, y) ∧A(y, z) A(x, z) ∨ ¬P (x, y) ∨ ¬A(y, z)

C3: P (a, b)

C4: P (b, c)

C5: P (c, d)

Theorem: ∃v : A(a, v) ∧ P (v, d)?

Negiertes Theorem: ¬A(a, v) ∨ ¬P (v, d)In den beiden folgenden Bildern wird der Suchraum fur dieses Beispiel undfur zwei verschiedene Selektionsfunktionen dargestellt. Die Selektionsfunktionensind:

1. Das am starksten instanziierte Literal zuerst

2. Das am wenigsten instanziierte Literal zuerst.

Die zuletzt eingefuhrten Literale, die zuerst wegresolviert werden, sind unterstri-chen. Da SL-Resolution einen normalen Suchbaum generiert, konnen die nor-malen Suchalgorithmen angewendet werden [Nil80]. Zum Beispiel Tiefensuche,wie sie in Prolog angewendet wird, hat den Vorteil, dass nur ein Ast zu ei-ner Zeit entwickelt wird. Backtracking zu fruheren Zustanden kann leicht durchStacks implementiert werden. Tiefensuche ist jedoch nicht vollstandig wenn derSuchraum unendliche Aste enthalt. Bei Breitensuche und bei heuristischer Su-che muss man dagegen alle offenen Knoten abspeichern, was sehr aufwendigsein kann.

105

¬A(a, v) ¬P(v, d)

¬P(a, v) ¬P(v, d) ¬P(a, y) ¬A(y, v) ¬P(v, d)

¬P(b, d) ¬A(b, v) ¬P(v, d)

C1 C2

v → b C3

Fehler ¬P(b, v) ¬P(v, d) ¬P(b, y´) ¬A(y´, v) ¬P(v, d)

C3 y fi b

C1 C2

¬P(c, d) ¬A(c, v) ¬P(v, d)

v fi c C4 C4

Erfolg

C1 C2

¥ Rekursion

Selektionsfunktion:

Am meisten instantiierte

Literale zuerst

Suchbaum

¬P(c, v) ¬P(v, d)

¬P(d, d)

Fehler

vfi d C5

C5

106

Suchbaum¬A(a, v) ¬P(v, d)

¬P(,a v) ¬P(v, d) ¬P(a, y) ¬A(y, v) ¬P(v, d)

¬P(b, d) ¬P(y, v) ¬P(a, y) ¬P(v, d) ¬P(y, y´) ¬A(y´, v) ¬P(a, y) ¬P(v, d)

C1 C2

v→b C3

Fehler ¬P(a, a) ¬P(b, d) ¬P(a, b) ¬P(c, d) ¬P(a, c) ¬P(d, d)

Selektionsfunktion:

Am wenigsten instantiierte

Literale zuerst

C1

C3 C4 C5

Fehler ¬P(c, d) Fehler

C3

Erfolg

C5

unendliche Rekursionv fi b

C2

107

8 Grundlagen der logischen Programmierung:deklarative Programmierung

8.1 Einfuhrende Beispiele

Beispiel 8.1 Wie man in Prolog eine Datenbank der Verwandtschaftsbeziehun-gen programmiert:

vater(peter,maria).mutter(susanne,maria).vater(peter,monika).mutter(susanne,monika).vater(karl, peter).mutter(elisabeth, peter).vater(karl, pia).mutter(elisabeth, pia).vater(karl, paul).mutter(elisabeth, paul).frau(maria).frau(elisabeth).frau(susanne).frau(monika).frau(pia).mann(peter).mann(karl).mann(paul).

eltern(X,Y) :- vater(X,Y).eltern(X,Y) :- mutter(X,Y).

%%%%% einfach aber nicht termninierendvorfahrtrans(X,Y) :- eltern(X,Y).vorfahrtrans(X,Z) :- vorfahrtrans(X,Y),vorfahrtrans(Y,Z).

%%%%% einfach und termninierendvorfahr(X,Y) :- eltern(X,Y).vorfahr(X,Z) :- eltern(X,Y),vorfahr(Y,Z).

bruder(X,Y) :- mann(X),vater(Z,X),vater(Z,Y),not(X == Y), mutter(M,X),mutter(M,Y).schwester(X,Y) :- frau(X),vater(Z,X),vater(Z,Y),not(X == Y),mutter(M,X),mutter(M,Y).geschwister(X,Y) :- vater(Z,X),vater(Z,Y),not(X == Y),mutter(M,X),mutter(M,Y).

Ein anderes, aber im Prinzip ahnliches Beispiel ist ein ungerichteter Graph:

Beispiel 8.2 ungerichteter Graph.

108

a b

c d

e f

g

kante(a,b).kante(a,c).kante(c,d).kante(d,b).kante(b,e).kante(f,g).

verbunden(X,Y) :- kante(X,Y).verbunden(X,Y) :- kante(Y,X).verbunden(X,Z) :- kante(X,Y),verbunden(Y,Z).verbunden(X,Z) :- kante(Y,X),verbunden(Y,Z).

%%% verbunden2 terminiert

verbunden2(X,Y) :- verb(X,Y,[]).ungkante(X,Y) :- kante(X,Y).ungkante(X,Y) :- kante(Y,X).verb(X,Y,_) :- ungkante(X,Y).verb(X,Z,L) :- ungkante(X,Y), not(member(Y,L)), verb(Y,Z,[Y|L]).

member(X,[X|_]).member(X,[_|L]) :- member(X,L).

Beispiel 8.3 Listen und Mengen:

member(X,[X|_]).member(X,[_|Y]) :- member(X,Y).

append([],X,X).append([X|R],Y,[X|Z]) :- append(R,Y,Z).

listtoset([],[]).listtoset([X|R],[X|S]) :- remove(X,R,S1),listtoset(S1,S).

remove(E,[],[]).remove(E,[E|R],S):- remove(E,R,S).remove(E,[X|R],[X|S]):- not(E == X), remove(E,R,S).

union(X,Y,Z) :- append(X,Y,XY), listtoset(XY,Z).

109

intersect([],X,[]).intersect([X|R],S,[X|T]) :- member(X,S),intersect(R,S,T1),listtoset(T1,T).intersect([X|R],S,T) :- not(member(X,S)),intersect(R,S,T1),listtoset(T1,T).

reverse([],[]).reverse([X|R],Y) :- reverse(R,RR), append(RR,[X],Y).

reversea(X,Y) :- reverseah(X,[],Y).reverseah([X|Xs],Acc,Y):- reverseah(Xs,[X|Acc],Y).reverseah([],Y,Y).

8.2 Formale Grundlagen von Prolog

Logisches Programmieren (z.B. Prolog) hat als theoretische Basis die Pradi-katenlogik erster Stufe, und als Ausfuhrung der Programme eine Variante derResolution.Programme in logischen Programmierens verwenden spezielle Klauseln, soge-nannte Horn-Klauseln.

Definition 8.4

• Eine Hornklausel ist eine Klausel mit maximal einem positiven Literal7.

• Eine definite Klausel ist eine Klausel mit genau einem positiven Literal.D.h. die Klausel ist von der Form: ¬A∨B1 ∨ . . .∨Bm oder in der in derlogischen Programmierung verwendeten Notation:

A ⇐ B1, . . . , Bm bzw. A :- B1, . . . , Bm

Man nennt A den Kopf, {B1, . . . , Bm} den Rumpf der Klausel.

• Eine Klausel ohne positive Literale nennt man definites Ziel (Anfra-ge,Query,goal). Notation:

⇐ B1, . . . , Bn

Die Bi werden Unterziele (Subgoals) genannt.

• Eine Unit-Klausel (oder Fakt) ist eine definite Klausel mit leerem Rumpf.Notation: A ⇐.

• Ein definites Programm ist eine Menge von definiten Klauseln.

• Die Menge aller Klauseln, deren Kopfliteral das Pradikat Q hat, nennenwir Definition von Q.

7Ein positives Literal ist ein Atom; ein negatives Literal ist ein negiertes Atom

110

Ein definites Programm entspricht einer Und-Verknupfung aller definiten Klau-seln. Beachte, dass jede Hornklausel entweder eine definite Klausel oder eindefinites Ziel ist.In den Beispielen oben sind wir etwas uber dieses Ziel hinausgeschossen: Mankann alles bis auf die Negationen in dieses Schema einpassen. Folgende Literalepassen nicht:

not(X == Y)not(member(Y,L))not(E == X)not(member(X,S))

Ein definites Ziel kann man in PL1 so hinschreiben:

∀x1, . . . , xn : ¬B1 ∨ . . . ∨ ¬Bn

Dies ist aquivalent zu:

¬∃x1, . . . , xn : B1 ∧ . . . ∧Bn

D.h. dass man eine Anfrage als eine existentiell quantifizierte Aussage sehenkann:

∃x1, . . . , xn : B1 ∧ . . . ∧Bn

deren Negation zum Programm hinzugefugt wird. Die Herleitung besteht in derErzeugung eines Widerspruchs (der leeren Klausel 2).Die Herleitung des Widerspruchs kann bei Hornklauseln immer so gemacht wer-den, dass man die existierenden Objekte angeben kann, bzw einen Term mitdem man die Objekte bezeichnet. Das wirkt sich in Implementierungen so aus,dass man die Einsetzungen als (durch SLD-Resolution berechnete) Antwortenerhalt.Das ist falsch, wenn man allgemeine Formeln der Pradikatenlogik verwendet:

Beispiel 8.5 Die Formel sei Q(a) ∨Q(b).Die zu zeigende Aussage ∃x.Q(x).

Die Klauselmenge dazu ist : {{Q(a) ∨Q(b)}, {¬Q(x)}}Resolution ergibt die leere Klausel, aber man muss sowohl {x 7→ a} als auchsowohl {x 7→ b} verwenden. Es gibt keine eindeutige Antwortsubstitution.

8.3 SLD-Resolution

SLD-Resolution ist die prozedurale Semantik von definiten Programmen. D.h.SLD-Resolution definiert die Ausfuhrung von logischen Programmen:

S: selection function

L: lineare Resolution

D: definite clauses

111

Zunachst erklaren wir die SLD-Resolution in ihrer allgemeinen (nicht-deterministischen) Form:

Definition 8.6 Sei G = ⇐ A1, . . . , Am, . . . , Ak ein definites Ziel und C =A ⇐ B1, . . . , Bq eine definite Klausel. Dann kann man aus G und C ein neuesZiel G′ wie folgt mit Resolution herleiten:

1. Am ist das selektierte Atom des definiten Ziels G.

2. θ ist ein allgemeinster Unifikator von Am und A, dem Kopf von C.

3. G′ ist das neue Ziel: θ(A1, . . . , Am−1, B1, . . . , Bq, Am+1, . . . , Ak).

Man sieht: G′ ist eine Resolvente von G und C. Die Ableitungsrelation seibezeichnet durch G →P,C,m G′ , wobei man die genaue Kennzeichnung P,C,mauch weglassen kann, wenn diese aus dem Kontext hervorgehen.

Definition 8.7 Sei P ein definites Programm und und G ein definites Ziel.Eine SLD-Ableitung von P ∪ {G} ist eine Folge

G →C1,m1 G1 →C2,m2 G2 . . .

von SLD-Schritten, wobei Ci jeweils eine Variante einer Klausel aus P ist mitneuen Variablen.Die SLD-Ableitung ist eine SLD-Widerlegung, wenn sie mit einer leeren Klauselendet.Im Sinne der linearen Resolution nennt man die Klauseln Ci die Eingabe-klauseln.

Weitere Sprechweisen:

erfolgreiche SLD-Ableitung: Wenn es eine SLD-Widerlegung ist.

fehlgeschlagene SLD-Ableitung: Wenn diese nicht fortsetzbar ist.

unendliche SLD-Ableitung

Definition 8.8 Sei P ein definites Programm und G ein definites Ziel.

• Eine korrekte Antwort ist eine Substitution θ, so dass P |= θ(¬G) gilt.

• Eine berechnete Antwort θ fur P ∪ {G} ist eine Substitution, die mandurch Einschrankung von θn ◦ . . . ◦ θ1 auf die Variablen von G erhalt,wobei θ1 . . . θn die allgemeinsten Unifikatoren (in dieser Reihenfolge) zueiner SLD-Widerlegung von G sind.

Satz 8.9 Soundness der SLD-ResolutionSei P ein definites Programm und G ein definites Ziel. Dann ist jede berechneteAntwort θ auch korrekt. D.h. P |= θ(¬G)

112

8.4 Vollstandigkeit der SLD-Resolution

Wir werden verschiedene Vollstandigkeitsaussagen fur die SLD-Resolution for-mulieren.

Satz 8.10 (Widerlegungsvollstandigkeit)Sei P ein definites Programm und G ein definites Ziel. Wenn P∪{G} unerfullbarist, dann gibt es eine SLD-Widerlegung von P ∪ {G}.

Es gilt der folgende starkere Satz uber die Vollstandigkeit der berechneten Ant-worten, namlich dass es zu jeder Antwortsubstitution eine berechnete Antwortgibt, die allgemeiner ist.

Satz 8.11 (Vollstandigkeit der SLD-Resolution)Sei P ein definites Programm und G ein definites Ziel. Zu jeder korrekten Ant-wort θ gibt es eine berechnete Antwort σ fur P ∪ {G} und eine Substitution γso dass fur alle Variablen x ∈ FV(G): γσ(x) = θ(x).

8.5 Strategien zur Berechnung von Antworten

Definition 8.12 Der folgende Algorithmus berechnet alle Antworten mit einerbreadth-first Strategie:

1. Gegeben ein Ziel ⇐ A1, . . . , An:

(a) Probiere alle Moglichkeiten aus, ein Unterziel A aus A1, . . . , An aus-zuwahlen

(b) Probiere alle Moglichkeiten aus, eine Resolution von A mit einemKopf einer Programmklausel durchzufuhren.

2. Erzeuge neues Ziel B: Loschen von A, Instanziieren des restlichen Ziels,Hinzufugen des Rumpfs der Klausel.

3. Wenn B = 2, dann gebe die Antwort aus.

Sonst: mache weiter mit 1 mit dem Ziel B.

Dieser Algorithmus hat zwei Verzweigungspunkte pro Resolutionsschritt:

• Die Auswahl eines Atoms

• Die Auswahl einer Klausel

Es stellt sich heraus, dass bei der Auswahl des Atoms die restlichen Alternativennicht betrachtet werden mussen.

Aussage 8.13 Vertauscht man in einer SLD-Widerlegung die Abarbeitungzweier Atome in einem Ziel, so sind die zugehorigen Substitutionen bis auf Va-riablenumbenennung gleich und die Widerlegung hat die gleiche Lange.Weiterhin: die Suchstrategie, die irgendein Atom auswahlt, dann alle Klauselndurchprobiert, usw. ist vollstandig bzgl der Antworten.

113

D.h.man kann leicht zu losende Atome zuerst auswahlen und schwerer zu losendezuruckstellen.Es kann aber sein, dass bei gunstiger Auswahl nur endlich viele Alternativenausprobiert werden mussen, aber bei ungunstiger Auswahl evtl. eine unendlicheAbleitung ohne Losungen mitbetrachtet werden muss. Dies betrifft nichtdie Reihenfolge, in der Klauseln ausgewahlt werden, diese ist nach wie vornichtdeterministisch.

8.6 Implementierung logischer Programmiersprachen:Prolog

In Implementierung wird i.a. die Suche durch verschiedene Vereinfachungen undFestlegungen deterministisch gemacht:

• Die Anfrage wird als geordnete Liste von Literalen implementiert. Es wirdimmer das erste Unterziel zuerst bearbeitet.

• Die Programmklauseln werden in der Reihenfolge abgesucht, in der sie imProgramm stehen.

• Bei Ausfuhrung eines SLD-Resolutionsschritts wird der Rumpf an die Stel-le des Unterziels gesetzt, und zwar in der Reihenfolge der Literale in derProgrammklausel.

Weitere Veranderungen gegenuber der theoretischen Fundierung sind:

• Der occurs-check wird i.a. nicht durchgefuhrt.

• Es gibt extra Operatoren zum Beeinflussen des Backtracking (Cut), deru.a. bewirken kann dass fur ein Unterziel statt vielen Losungen maximaleine berechnet wird.

• Assert/Retract: Damit konnen Programmklauseln zum Programm hinzu-gefugt bzw. geloscht werden.

• Negation: Negation wird definiert als Fehlschlagen der Suche.

• Es wird z.T. Typinformation zu Programmen hinzugefugt.

• Argumente von Pradikaten kann man mit dem Zusatz I bzw. O versehen.Diese Angaben bedeuten, dass das jeweilige Argument nur als Eingabebzw. nur als Ausgabe verwendet wird. z.B.

• Zusatzlich kann man ein Pradikat als Funktion definieren, wenn die erstenArgumente die Eingabe sind, das letzte Argument die Ausgabe, wobeidie Funktion noch zusatzlich als deterministisch (d.h. als mathematischeFunktion) deklariert werden muss.

Folgende Tabelle vergleicht die theoretischen Eigenschaften mit denen imple-mentierter logischer Programmiersprachen.

114

Pures Prolog nichtpures Prolog nichtpur, ohne occurs-check

Definite Programme Cut, Negation,

Klauselreihenfolge fest

SLD: ist korrekt SLD: korrekt SLD: i.a. nicht korrekt

vollstandig unvollstandig unvollstandig

Gibt man eine Reihenfolge der Klauseln vor, wie in einer Prolog-implementierung, dann ist die SLD-Resolution nicht mehr vollstandig: MancheLosungen werden gefunden und aufgezahlt, aber:

• es kann ein Schleife auftreten ohne ein weitere Antwort, obwohl es nochwelche gibt.

• Es werden unendlich viele Antworten aufgezahlt, aber nicht alle korrektenAntworten werden abgedeckt.

Es folgt auch, dass die Reihenfolge der Literale im Rumpf keinen Einfluß aufdie Vollstandigkeit hat.Ein Beispiel fur die Unvollstandigkeit der festgelegten Reihenfolge der Klauseln:

P(a,b).P(c,b).P(X,Y) :- P(Y,X).P(X,Z) :- P(X,Y), P(Y,Z).

Die symmetrische-transitive Hulle kann nicht berechnet werden, da das Pro-gramm in Schleifen gerat. Aber eine SLD-Widerlegung existiert, da diese nicht-deterministisch vorgehen darf, und insbesondere sich eine Programmklausel aus-suchen darf.

8.7 SLD-Baume

Aufgrund der obigen Vollstandigkeitsaussage konnen wir SLD-Baume definie-ren, die den ganzen Suchraum reprasentieren fur ein Ziel, gegeben ein definitesProgramm.

Definition 8.14 Gegeben ein definites Programm P, und ein definites Ziel G:Ein SLD-Baum fur P ∪ {G} ist ein Baum der folgendes erfullt:

1. Jeder Knoten ist markiert mit einem definiten Ziel

2. die Wurzel ist markiert mit G

115

3. In jedem Knoten mit nichtleerem Ziel wird ein Atom A des Ziels aus-gewahlt. die Sohne dieses Knoten sind dann die moglichen Ziele nach ge-nau einem SLD-Resolutionsschritt mit einer Regel in P .

4. Knoten, die mit der leeren Klausel markiert sind, sind Blatter.

5. Ein Blatt ist entweder mit dem leeren Ziel markiert, oder es gibt von demBlatt aus keine SLD-Resolution.

Aste entsprechen SLD-Ableitungen. Erfolgreiche Widerlegungen sind Erfolgs-pfade, unendliche SLD-Ableitungen entsprechen unendliche Pfaden. Fehlschlageentsprechen Pfaden zu Blattern, die mit einem nichtleeren Ziel markiert sind.

Beispiel 8.15 Programm:

P(X,Z) :- Q(X,Y), P(Y,Z).P(X,X).Q(a,b).

P(x,b)

Q(x,y),P(y,b) {}{x→b}

P(b,b)

Q(b,u), P(u,b) {}{xfi a}

Nimmt man eine andere Auswahl, dann kann der Baum unendlich werden:

116

P(x,b)

Q(x,y),P(y,b) {}{x→b}

{}{xfi a}

Q(x,b)Q(x,y),Q(y,u),P(u,b)

Q(x,y),Q(y,b)

Q(x,a)

An diesen SLD-Baumen kann man (im Prinzip) den ganzen Suchraum ablesen.

8.8 Beispielprogramme und Ausfuhrung

Programm 1:

likes(maria, essen).likes(maria, wein).likes(peter, maria).likes(peter,wein).

Einfache Anfragen:

> ?- likes(peter,maria)yes

Konjunktive Anfragen (mit logischem und verknupfte)

> ?- likes(peter,maria), likes(maria,peter)no

Zuerst wird das erste Unterziel bearbeitet: Antwort:. ja, Dann zweite: nein.Konjunktive Anfragen mit Instanziierung.

> ?- likes(peter, X), likes(maria,X)

Abarbeitung: 1. X = maria, likes(maria,maria): no

2. X = wein: likes(maria,wein). yes

X = wein

117

Backtracking ist notwendig (Zurucksetzen) zum Finden weiterer Losungen.

Programm 2:

vater(peter,maria).mutter(susanne,maria).vater(karl, peter).mutter(elisabeth, peter)....

vorfahr(X,Y) :- vater(X,Y).vorfahr(X,Y) :- mutter(X,Y).vorfahr(X,Z) :- vorfahr(X,Y),vorfahr(Y,Z).

Anfragen:

?- vorfahr(elisabeth,maria)

Abarbeitung :

1. vorfahr(elisabeth,maria)1.1 vater(elisabeth,maria). nein1.2 mutter(elisabeth,maria): nein1.3 vorfahr(elisabeth, X0), vorfahr(X0,maria)1.3.1 vater(elisabeth, X0), vorfahr(X0,maria): nein1.3.2 mutter(elisabeth, X0), vorfahr(X0,maria): X0 = peter1.3.2 vorfahr(peter,maria):1.3.2.1 vater(peter,maria): ja

usw.

Beispiel 8.16 ungerichteter Graph.a b

c d

e f

g

kante(a,b).kante(a,c).kante(c,d).kante(d,b).kante(b,e).kante(f,g).

verbunden(X,Y) :- kante(X,Y).verbunden(X,Y) :- kante(Y,X).verbunden(X,Z) := verbunden(X,Y),verbunden(Y,Z).

118

?- verbunden(c,e)

verbunden(c,Y1), verbunden(Y1,e)...verbunden(c,a), verbunden(a,e)

verbunden(a,Y2), verbunden(Y2,e)

verbunden(a,b), verbunden(b,e)yes.

Ubungsaufgabe 8.17 was passiert bei folgender Eingabe?

?- verbunden(e,f)

8.9 Syntaxkonventionen von Prolog

Namen konnen aus Großbuchstaben, Kleinbuchstaben, Ziffern und (Unter-strich) gebildet werden, oder nur aus Sonderzeichen.Konstanten sind Namen, die mit Kleinbuchstaben beginnen Variablen sind Na-men die mit Großbuchstaben beginnen, oder mit einem Unterstrich : . DerUnterstrich alleine ist der Name einer anonymen Variablen (wildcard, joker,Leerstelle)zusammengesetzte Terme (komplexe Terme) haben die Form

Functor(component1, . . . , componentn)

Die Stelligkeit des Funktors ist nicht variabel. Verwendet man den gleichen Na-men mit verschiedener Stelligkeit, so werden diese Vorkommen als verschiedeneObjekte interpretiertFunktoren, die auf oberster Ebene stehen, nennt man auch Pradikate. Z.B.besitzt(peter, buch(lloyd, prolog)).

8.10 Darstellung arithmetischer Ausdrucke:

Die Zeichen +,−, ∗, / sind erlaubt.Ausdrucke der Form a∗b+c sind lesbare Abkurzungen fur den Term +(∗(a, b), c).Hier kann zur Darstellung abhangig von der Prolog-Implementierung Infix, Post-fix, Prafix, Assoziativitat, Prioritat benutzt werden.Zahlen sind erlaubt und in Prolog bekannt. Der Zahlbereich ist abhangig vonder Implementierung.Spezialpradikat = (Gleichheit) kann definiert werden durch

X = X.

Z.B.

?- besitzt(peter, X) = besitzt(peter,buch(lloyd,prolog))yes; X = buch(lloyd,prolog)

119

Diese Operation der Berechnung der Instanzen von Variablen wird mittels Uni-fikation durchgefuhrt.arithmetische Vergleiche:

=, /=, <, >, =<, >= , =\=, =:=

sind moglich zwischen instanziierten Werten.D.h.: wenn exp1 op exp2 ausgewertet wird, muss exp1 und exp2 zu einer Zahlauswertbar sein. Beachte:

3 + 4 = 7 ergibt: no

3 + 4 =:= 7 ergibt yesD.h., es gibt einen Unterschied zwischen Term und Wert.Will man einer Variablen einen Wert zuweisen, so benotigt man das ”ist“ Pradi-kat:

X is 3 + 5 danach: X 7→ 8

X = 3 + 5 danach X 7→ ”3 + 5“

8.11 Datenstrukturen und Unifikation in Prolog

Intuition: Die Baume werden gleich gemacht durch Instanziierung der Variablen.

k(X, a) = k(b, Y ) ergibt X = b, Y = a

Auch Unterstrukturen konnen Wert von Variablen sein:

k(X, h(a, Z)) = k(b, Y ) ergibt X = b, Y = h(a, Z)

Etwas schwierigere Falle sind:

k(X, h(a, Z), X) = k(h(Y, b), U, U)

ergibt zunachst:X = h(Y, b), U = h(a, Z), X = U

Endergebnis:X = h(a, b), U = h(a, b), Y = a, Z = b

Dieses Ergebnis kann man z.B. im Prolog-Interpreter direkt verifizieren.

k(X,h(a,Z),X) = k(h(Y,b),U,U).

X = h(a,b)Z = bY = aU = h(a,b)yes

120

Behandlung des occurs-check:

k(X, X) = k(Y, h(Y ))

erfordert Unifikation von X = h(X).Mit unendlichen Baume als Termen ist die Unifikation moglich: X = h(X)kann gleichgemacht werden durch: X = h(h(h(. . .))). Dieses Objekt kann als

gerichteter Graph dargestellt werden:

h

Prolog-Implementierungen vermeiden den occurs-check. Teilweise wird er durchstatische Analyse eliminiert. Bzw. wird ganz abgeschaltet. In diesem Falle nimmtman in Kauf, dass das Programm bzgl der PL1-Semantik inkorrekt wird.

8.12 Listen:

Diese konnen in logischen Programmiersprachen direkt dargestellt werden. Manbenutzt im allgemeinen eine abkurzende Syntax:

[1, 2, 3] entspricht cons(1,cons(2,cons(3,NIL)))

[] entspricht NILBeispiel fur den Element-Test:

member(X,[X|_]).member(X,[_|Y]) :- member(X,Y).

Terminiert member in allen moglichen Situationen?

• member(s,t): wenn t keine Variablen enthalt. dann wird t′ beim nachstenmal kleiner.

• member(Y,Y): Die erste Klausel unifiziert nicht, wenn occurs-check einge-schaltet ist, (aber unifiziert, wenn occurs-check aus ist: Antwort: ja) Diezweite Klausel ergibt:

member(X_1,[_|Y_1]) :- member(X_1,Y_1).X_1 = Y = [_|Y_1]

Die neue Anfrage ist:

member([_|Y_1] ,Y_1)

Nachste Unifikation ebenfalls mit zweiter Klausel

121

member(X_2,[_|Y_2]) :- member(X_2,Y_2)X_2 = [_|Y_1] , Y_1 = [_|Y_2]

usw. Man sieht: das terminiert nicht.

islist([_|X]) :- islist(X).islist([]).

Diese Funktion terminiert ebenfalls fur Listen ohne Variablen aber nicht furislist(X).Eine Umstellung der Klauseln ergibt:

islist([]).islist([_|X]) :- islist(X).

Dieses Programm terminiert fur die Anfrage islist(X).Antwort: X = [], falls die Eingabe eine Liste ist. Antwort ist dann ja.

laenge([],0).laenge([_|X],N) :- laenge(X,N_1), N is N_1 + 1.

Damit kann man folgende Beispiele rechnen:

?- laenge([1,2,3], N).N = 3.

Die Anfrage

?- laenge(X,2).

terminiert in manchen Implementierungen nicht: Wenn is auch ruckwarts funk-tioniert, dann ergibt diese Anfrage als Antwort X = [ 1, 2].Beispiel sortierte Listen von Zahlen:

sortiert([]).sortiert([X]).sortiert([X,Y|Z]) :- X <= Y, sortiert([Y|Z]).

sortiert_einfuegen(X,[],[X]).sortiert_einfuegen(X,[Y|Z], [X,Y|Z]) :- X =< Y.sortiert_einfuegen (X,[Y|Z], [Y|U]) :- Y < X, sortiert_einfuegen(X,Z,U).

ins_sortiere(X,X) :- sortiert(X).ins_sortiere([X|Y], Z) :- ins_sortiere(Y,U), sortiert_einfuegen(X,U,Z).

Programmierung von append: in Prolog:

append([],X,X).append([X|Y],U,[X|Z]) :- append(Y,U,Z).

122

9 Relationale und Deduktive Datenbanken

Datalog kann man als eingeschranktes Prolog sehen: Es ist eine Kombinationvon Datenbanken und Logik, auch Deduktive Datenbanken genannt.

9.1 Relationale Datenbanken und Anfragen

Die Zuordnung der Begriffe ist:

Relationsname = Pradikat

Relation = Menge von Grundfakten zu einem Pradikatjedes Attribut entspricht einer Stelle eines Pradikats In Prolog gibt es keineZugriffe mittels Attribut-Namen.

Beispiel 9.1 Im Beispiel

vater(peter,maria).mutter(susanne,maria).vater(peter,monika).mutter(susanne,monika).vater(karl, peter).mutter(elisabeth, peter).vater(karl, pia).mutter(elisabeth, pia).vater(karl, paul).mutter(elisabeth, paul).frau(maria).frau(elisabeth).frau(susanne).frau(monika).frau(pia).mann(peter).mann(karl).mann(paul).

eltern(X,Y) :- vater(X,Y).eltern(X,Y) :- mutter(X,Y).

sind die Relationen: vater,mutter, frau,mann. Die Relation eltern ist einehergeleitete (s.u. intensionale DB).

Darstellung von Operationen der relationalen DB mittels Prolog:

Vereinigung: R ∪ S: beide n.-stellig

r_union_s(X1,...,Xn) :- r(X1,...,Xn).r_union_s(X1,...,Xn) :- s(X1,...,Xn).

123

alternativ:

r_union_s(X1,...,Xn) :- r(X1,...,Xn) ; s(X1,...,Xn) .

Mengen-Differenz R \ S

r_minus_s((X1,...,Xn) :- r((X1,...,Xn), not(s((X1,...,Xn)).

Kartesisches Produkt R sei n-stellig und S sei m-stellig. Dann berechnetman R× S:

r_kp_s(X1,...,Xn,Y1,...,Ym):- r(X1,...,Xn), s(Y1,...,Ym).

Projektion von R r_proj(X_{i1},...,X_{im}) :- r(X1,...,Xn).

wenn alle i, j verschieden sind und {i1, . . . , im} ⊆ {1, ..., n}.

Selektion selektion_r(Xi1,...,Xim) :- r(X1,...,Xn), f(X1,...,Xn).

wobei f(X1,...,Xn) ein Pradikat ist.

Schnitt: r_intersect_s(X1,...,Xn) :- r(X1,...,Xn), s(X1,...,Xn).

Quotient R sei n-stellig, S sei m-stellig.R÷ S ist k stellig mit k = n−m

Das ist die Menge aller k-Tupel t, so dass fur alle Tupel u in S, t.u in R

Dies laßt sich nicht so einfach darstellen als Hornklauseln. Man benotigteine Kombination von Operationen:

T1 = Projektion von R auf die ersten k Argumente

T2 = (T1 × S) \R

(die Tupel mit Anfang in R, Rest in S, aber nicht in R

T3 = T2 projizieren auf die ersten k Elemente

T4 = T1 \ T3

R÷ S := T4

Die Programmierung in Prolog benotigt vier Hilfs-Pradikate.

Join: (sogenannter θ-join)

r_join_s (X1,...,Xk) :- r(X1,...,Xm), s(Y1,...,Yn), q(Xi, Yj).

124

Es gibt auch hier Alternativen der Implementierung von Anfragen: Jede definiteAnfrage ist bereits eine komplizierte Anfrage an eine Datenbank.Anfragen, die Quantoren enthalten wie

Welche Lieferanten liefern alle Artikel die Herr Brooks bestellt hat

(siehe auch Quotient) sind nicht direkt abbildbar. Sie sind aber programmierbarmittels Mengen.

9.2 Datalog ist einfaches Prolog

In Datalog erlaubt man nur eingeschrankte Prolog-Programme:

• Es gibt keine Funktionssymbole d.h. nur Pradikate (Relationen), Konstan-ten, Variablen,

• Ein Datalog-Programm besteht aus:

– definiten Hornklauseln (Regeln) ohne Funktionssymbole, Jede Regelhat Kopf und Rumpf. Die Variablen des Kopfes sind im Rumpf ent-halten (d.h. Regeln sind bereichsbeschrankt)

– Fakten: die zugehorige Faktenmenge hat keine Variablen. Auch ”re-lationale Datenbank“ genannt .

Ein Pradikat ist intensional, wenn es in einem Kopf einer Regel vorkommt,ansonsten extensional.Extensionale Pradikate sind solche, die nur in der Datenbasis vorkommen. DieDatalog-Programme berechnen die intensionalen Pradikate.Der Abhangigkeitsgraph eines Datalog-Programms ist definiert durch:

• Knoten sind die Pradikate.

• Wenn P im Rumpf und Q im Kopf einer Klausel vorkommt, gibt es einegerichtete Kante von P nach Q.

Ein Programm ist rekursiv, wenn der Abhangigkeitsgraph einen Zyklus hat. EineRegel ist rekursiv, wenn das Kopfpradikat im Rumpf vorkommt.Rekursive Pradikate konnen nur intensionale sein.Die Eingabe in ein Datalog-Programm P ist eine endliche Menge von Fakten, dienur extensionale Pradikate hat. Diese Eingabe nennt man EDB (extensionaleDatenbank)Die von P erzeugten Fakten nennt man Ausgabe, IDB (intensionale Datenbank)Die erzeugte Datenbank DB ist die Vereinigung von EDB und IDB.Beachte: die Ausgabe ist eine endliche Menge.Die Ausgabe wird mittels SLD-Resolution berechnet, aber durch die etwas ein-fachere Syntax gibt es andere, effizientere Verfahren.

Aussage 9.2 Die Ausgabe eines Datalog-Programms kann in polynomialer Zeitberechnet werden.

125

Begrundung: Die Menge der in der EDB vorhandenen Konstanten ist O(n),wobei n = Große der EDB. Also ist die Große der IDB hochstens O(nk), d.h.beschrankt, wobei k die großte Stelligkeit eines intensionalen Pradikats ist. DieHerleitung eines neuen Fakts erfordert: Suche in einer schon berechnet MengeO(nk). maximal so oft wir Literale im Rumpf einer Klausel (m) also O(nk ∗m).2

9.3 Negation und Defaults

Hornklauselmengen eignen sich zum Schließen mit Defaultannahmen. Insbeson-dere ist es moglich, fehlende Eintrage in der Faktenmenge zu interpretieren alsNegation der entsprechenden Fakten.

Definition 9.3 Semantik von Datalog (bzw. Prolog) unter der ”Closed-World-Assumption“Sei s ein Grund-Fakt (ohne Variablen), P ein definites Programm. Dann gilt:

• Wenn P ` s, dann wird s als wahr definiert.

• Wenn ¬(P ` s), dann wird s als falsch definiert.

Damit hat man, da P eine Hornklauselmenge ist, eine konsistente Semantik derFakten definiert.Es ist damit auch moglich, dies fur die intensionale DB einer deduktiven Da-tenbank zu machen. D.h. auch Fakten als falsch anzusehen, wenn sie nicht auseinem Datalog-Programm herleitbar sind.In Datalog ist das unproblematisch, da ` entscheidbar ist. Bei allgemeinen defi-niten Programmen ist ` unentscheidbar, damit hat man kein effektives Verfah-ren mehr (und auch kein semi-entscheidbares mehr) um Negation von Faktenherzuleiten.

Satz 9.4 In Datalog ergibt die CWA eine konsistente und entscheidbare Defi-nition der Falschheit von Fakten.

Es ist zu beachten, dass durch Hinzufugen von Fakten zur Datenbank sich dieMenge der falschen Fakten verringern kann. Diesen Effekt nennt man:

nichtmonotones Verhaltennichtmonotones Schließen

Denn die Menge der Satze wird unter einer solchen Defaultannahme nicht au-tomatisch großer, wenn man Axiome hinzufugt.In der Aussagenlogik und Pradikatenlogik (ohne Defaultannahmen bzw. CWA)gilt diese Monotonie.

Beispiel 9.5 In der Definition des ungerichteten Graphen mit den Klauseln.

126

kante(a,b).kante(b,c).kante(c,d).....

hat man diese Annahme bereits gemacht. und man kann verwenden, dass z.B.a und e nicht verbunden sind.

Aber Achtung: wenn man in den Regeln bereits Negation verwendet, dann ist dieAnnahme der CWA moglicherweise inkonsistent. Der Effekt, der dann auftretenkann, ist: Nach Hinzufugen von (positiven) Fakten sind andere positive Faktenplotzlich nicht mehr herleitbar.

Beispiel 9.6 In allgemeiner Pradikatenlogik ist diese Vorgehensweise falsch:Nimmt man als Formelmenge

hier(a) ∨ dort(a)

dann kann man keine Fakten ableiten. Nimmt man an, dass nicht herleitbareFakten falsch sind, dann ergibt sich:

¬(hier(a))

¬(dort(a))

Die Formelmenge

¬(hier(a))

¬(dort(a))

hier(a) ∨ dort(a)

ist aber widerspruchlich. Das ist kein Problem fur unsere Definition , dennhier(a) ∨ dort(a) ist ja auch keine Hornklausel.

In Prolog kann man die CWA bereits ausnutzen, wenn man keine Negation inden Regeln hat.Benotigt man Negation in den Regeln, dann ist die Verwendung der CWA nurunter Einschrankungen moglich.Eine Einschrankung ist die sogenannte Stratifikation (Schichtung), in der ver-langt wird, dass verschiedene Negationen in unterschiedlichen Schichten (imSinne der Herleitung) sind, und sich nicht storen.

127

9.4 Sprachverarbeitung und Parsen in Prolog

Eine haufige Anwendung der speziellen Abarbeitungsstrategie von Prolog istdie Verwendung als Implementierungssprache fur Parser zu gegebenen Gram-matiken, insbesondere fur naturliche Sprachen [Bra90, GLSDS91, PS87]. Diesist auch historisch gesehen die erste Anwendung von Prolog gewesen. Prologverwendet als Suchstrategie Tiefensuche mit Backtracking. Dies kann direkt fureinen rekursiv absteigenden Parser verwendet werden, wobei man nicht nur kon-textfreie Grammatiken verwenden kann, sondern auch erweiterte Grammatiken,z.B. fur (schriftliche) Eingabe in naturlicher Sprache. Diese konnen bestimmteAttribute der Terminale testen, die bei bestimmten Satzgliedern ubereinstim-men mussen, z.B. Geschlecht, Fall, Zeit, usw. und die Akzeptanz einer Phrasesteuern konnen.Deutsch (Latein auch) z.B. bauen auf Wortendungen zum Anzeigen der Falle,Singular/Plural Geschlecht an und erlauben somit auch eine freiere Wahl derSatzstellung. Als Beispielsprache ist Englisch einfacher, da es fast keine Worten-dungen gibt, und die Reihenfolge der Worte eines Satzes fast nicht umstellbarist.

9.4.1 Kontextfreie Grammatiken fur Englisch

Eine Tabelle der syntaktischen Kategorien ist:

Det Determiner (Artikel) (the, a, some)

N Noun (Nomen) (table, computer, John)

V verb (writes, eats, having)

ADJ adjectives (big, fast)

ADV adverbs (very, slowly, yesterday)

AUX auxiliaries (Hilfsverben) (ist, do, has will)

CON conjunctions (and, or)

PREP prepositions (to, on, with)

PRON Pronouns (Pronomen) (he, who, which)

Weitere Bezeichnungen (Subkategorisierung und Komponenten):

128

S Sentence (Satz)

PN proper noun (”a .. . .“ ist verboten)

IV intransitive verb hat kein Objekt

TV transitives verb hat Objekt.

Komponenten eines Satzes (Phrasen, Satze):

S (Sentence) Satz

NP Nounphrase Nominalphrase das dicke Buch

VP Verbphrase schreibe ein Buch

PP Prapositionalphrase mit einem Fernglas

ADJP adjective phrase großer als man erwartet

ADVP adverbial phrase (yesterday evening, gestern abend)

OptRel relative clause, optional

Die (erste Annaherung an eine) Beschreibung der Grammatik einer naturlichenSprache erfolgt mit Phrasenstrukturregeln. Diese konnen mit CFGs zur Kon-struktion sowie zur Analyse von Satzen bzw. Phrasen verwendet werden. DieseGrammatik ist naturlich abhangig von der beschriebenen Sprache (Deutsch,Englisch, Franzosisch, Russisch, usw.).Eine kontextfreie Grammatik (CFG) zum Erzeugen einfacher englischer Satzekann man wie folgt schreiben:

129

S → NP VP

NP → Det N OptRel

NP → PN

Optrel → ε

Optrel → that VP

VP → TV NP

VP → IV

Lexikoneintrage:

PN → terry

PN → shrdlu

Det → a

N → program

IV → halts

TV → writes

Beispiel 9.7S

NP

PN

SHRDLU

VP

IV

halts

S

NP

program

VP

IV

halts

NDET OptRel

a

Der Anfang des Prologprogramms, das eine als Liste von Worten gegebenenSatz parst (erkennt), sieht so aus:

istsatz(Ein) :- s(Ein,[]).s(Ein,Rest) :- np(Ein,Rest1),vp(Rest1, Rest).

130

np(Ein,Rest) :- det(Ein,Rest1), n(Rest1,Rest2), optrel(Rest2,Rest).np(Ein,Rest) :- pn(Ein,Rest).optrel(Ein,Rest) :- Ein = Rest.optrel(Ein,Rest) :- terminal(that,Ein,Rest1), vp(Rest1,Rest)....terminal(Wort,Ein,Rest1) := Ein = [Wort | Rest1],%%% oder: terminal(Wort, [Wort | Rest1], Rest1) .

Man erkennt, dass die Grammatik eins-zu-eins ubersetzt wird, wobei nur die Be-handlung der Eingabe- und Restliste hinzukommt. Diese Methode nennt manauch Verwendung von Differenzlisten, wobei man manchmal auch das Paar(Ein, Rest) als Datentyp ”Differenzliste“ beschreibt.Dieser Parser antwortet nur mit ja/nein bzw. terminiert nicht.Man teilt die Grammatik normalerweise ein in die eigentliche Grammatik unddas Lexikon, das die Terminale beschreibt. Teilweise zahlt man auch die Prater-minale wie z.B. N (Nomen) zum Lexikon.

9.4.2 Definite Clause Grammars

Definite Clause Grammars (DCG’s) sind eine Erweiterung der kontextfreienGrammatiken um Argumente (Attribute) von Nichtterminalen. Z.B. sollte derNumerus von NP und VP ubereinstimmen, d.h. beides sollte entweder im Sin-gular oder Plural sein: ”sie gehen. er geht“, aber nicht ”*er gehen“.Dies ergibt z.B. folgendes Grammatikfragment, in dem das Lexikon der Ein-fachheit halber in der DCG enthalten ist.In der Syntax der DCGs sieht das folgendermaßen aus, wobei Attribute alsArgumente geschrieben werden. Diese Syntax ist in den meisten Prologimple-mentierungen zulassig.

s --> np(Number), vp(Number).np(Number) --> pn(Number).vp(Number) --> tv(Number), np(_).vp(Number) --> iv(Number).pn(singular) --> [shrdlu].pn(plural) --> [they].iv(singular) --> [halts].iv(plural) --> [halt].

Dies wird von Prolog ubersetzt in einen Top-Down-Parser, wie oben, der diejeweiligen Ein- und Restlisten als Argumente syntaktisch hinzufugt. Es ergibtsich:

s(P0,P) :- np(Number,P0,P1), vp(Number,P1,P).np(Number,P0, P) :- pn(Number,P0,P).vp(Number,P0, P) :- tv(Number, P0, P1), np(_, P1, P).vp(Number,P0, P) :- iv(Number, P0, P).

131

pn(singular,P0,P) :- terminal(shrdlu, P0, P).pn(plural, P0, P) :- terminal(they,P0, P).iv(singular, P0, P):- terminal(halts, P0, P).iv(plural, P0, P) :- terminal(halt, P0, P).

Benutzung von Differenzlisten

Verwendet man das Minuszeichen als Konstruktor fur Differenzlisten, so ergibtsich:

s(P0 - P) :- np(Number,P0-P1), vp(Number,P1-P).np(Number,P0- P) :- pn(Number,P0-P).vp(Number,P0- P) :- tv(Number, P0- P1), np(_, P1- P).vp(Number,P0-P) :- iv(Number, P0- P).pn(singular,P0-P) :- terminal(shrdlu, P0-P).pn(plural, P0- P) :- terminal(they,P0- P).iv(singular, P0-P) :- terminal(halts, P0-P).iv(plural, P0-P) :- terminal(halt, P0- P).

Die Definition fur terminal ist:

terminal(X, [X|P] - P).

Die Anfrage s([shrdlu, halts]-[]) hat folgende Verarbeitung:

s([shrdlu, halts]-[])np(N,[shrdlu, halts]-P1), vp(N,P1-[])pn(N,[shrdlu, halts]-P1), iv(N,P1-[])

terminal(shrdlu,[shrdlu, halts]-P1), iv(singular,P1-[])%%% (N = singular)

terminal(shrdlu,[shrdlu, halts]-P1), terminal(halts,P1-[])%%% (Unifikation mit terminal ergibt P1 = [halts])

terminal(halts,[halts]-[]).Ergibt \glqq{}yes\grqq.

Es gibt noch weitere dieser Attribute8 z.B. Person (erste, zweite, dritte) mussubereinstimmen (ich bin; du bist; er, sie, es ist); bei NP und VP muss dasGeschlecht ubereinstimmen: das Haus (nicht *die Haus), ebenso gibt es eineUbereinstimmung bei Det und N.Im Deutschen kann man aus der Endung den Casus (teilweise) ablesen mit-tels morphologischer Verarbeitung. Die sogenannte morphologische Verarbei-tung dient dazu, Worte zu analysieren: auf Endungen, Zerlegung zusammenge-setzter Worte, . . . . In dieser Vorlesungen werden wir darauf nicht weiter einge-hen.

8Attribute werden in der Computerlinguistik auch features genannt; Die zugehorigen Gram-matiken Unifikationsgrammatiken

132

Bestimmte Satzkonstruktionen erfordern Dativ, bzw. Akkusativ, . . . die eben-falls als erforderliche Attribute entweder direkt in die Grammatikregeln ein-gefugt werden oder als entsprechende Verbmarkierungen im Lexikon.Auch die Zeit oder (Aktiv/Passiv) kann man hinzufugen.Lexikon

Aus heutiger Sicht ist das Lexikon nicht nur eine Sammlung von Worten, sonderndie zentrale Struktur der linguistischen Verarbeitung. Man kann sehr viel bereitsim Lexikon kodieren und dann mit einfachen weiteren Regeln auskommen. D.h.dass z.B.viele Eigenschaften eines Wortes im Lexikoneintrag stecken, auch solcheAngaben, die besagen in welchen Satzkonstruktionen bestimmte Verben erlaubtsind. Z.B. Passiv-verbot: (*ich werde gelaufen). z.B. dass ein Verb transitiv bzwintransitiv ist oder in beiden Versionen benutzt werden kann. Die Kontextinfor-mation, die ein bestimmtes Wort benotigt, kann im Lexikon kodiert sein. Auchinhaltliche Informationen (semantics) konnen dort enthalten sein.

Beispiel 9.8

take: verbverbtype = transitivesubject: role = agent, semfeat= humanobject: role = instrument, semfeat=vehicleprep-obj: prep = to, role=goalprep-obj: prep = from, role=source, ...

Berechnung von Parse-Baumen

Man kann den Nichtterminalen und Terminalen ein Argument mitgeben, das denParsebaum mitberechnet. (Dies geht auch in einer attributierten Grammatik.)

S ---> NP VPNP ---> PNOptrel ---> []Optrel ---> that VPVP ---> IV

Die Implementierung kann dafur z.B. jedes Pradikat um ein Argument erweitern,das den (berechneten) Syntaxbaum aufnimmt.

s(sent(TR_np, TR_vp), Ein, Rest) :- np(TR_np,...), vp(TR_vp,...).np(nphrase(TR_pn),...) :- PN(TR_pn,...).optrel(kein_relativesatz,...).optrel(relativ_satz(TR_iv),...) :- iv(TR_iv,...).....

Hier sollte z.B. der Satz ”Shrdlu halts“ als Ausgabe den Syntaxbaumsent(nphrase(propernounn(shrdlu)), verbphrase(intransverb(halts)))

133

erzeugen.DCG’s erweitert um Prologaufrufe

Man kann in der Implementierung von DCGs Prolog-aufrufe einbetten, die beider Ubersetzung in Prolog mitubernommen werden. Syntaktisch macht man dasdurch Klammerung mit geschweiften Klammern:

s --> np,vp,{teste(X)}.

s,np,vp werden um die Ein- und Ausgabelisten erganzt, das Literal in derKlammer wird ubernommen.DCG’s als formales System

DCG’s (ohne eingebettete Literale) sind als formales System aufzufassen, dasanalog zu CFGs eine formale Sprache definiert. Zusatzlich zu CFGs sind an denNichtterminalen Argumente erlaubt, die Variablen und Konstanten sein konnenund auf Gleichheit getestet werden durfen.Die formale Sprache die zu einer DCG gehort, entspricht genau den erfolgreichenParses nach der Ubersetzung in definite Klauseln, wenn man SLD-Resolutionals operationale Semantik nimmt.Allerdings ist das nicht dasselbe wie die Gleichsetzung mit der Prologimplemen-tierung derselben, da nach der Ubersetzung das Parsen als rekursiv absteigendfestgelegt ist.DCGs kann man zu attributierten Grammatiken dadurch abgrenzen, dass dieletzteren kontextfreie Grammatiken sind, die in den Regeln Berechnungsalgo-rithmen fur eine festgelegte Menge von Attributen enthalten, aber aufgrund derBerechnungen keine Eingabe ablehnen konnen.Eine theoretische Klassifizierung zwischen DCGs und CFG bzgl der erkanntenformalen Sprachen ist: Offenbar sind DCGs eine Erweiterung der CFGs. Mankann aber mit DCG’s uber kontextfrei hinausgehen:DCG-Grammatik fur die nicht-kontextfreie formale Sprache {anbncndn | n ∈ IN}

s --> aa(X),bb(X),cc(X),dd(X).aa(s(X)) --> [a], aa(X).aa(0) --> [a].bb(s(X)) --> [b], bb(X).bb(0) --> [b].cc(s(X)) --> [c], cc(X).cc(0) --> [c].dd(s(X)) --> [d], dd(X).dd(0) --> [d].

%% Anfrage: s([a,a,b,b,c,c,d,d],[]).

134

10 Tableau Kalkul fur PL1

Den aussagenlogischen Tableaukalkul kann man auf PL1 erweitern (siehe[Fit90]). Zu den α (konjunktiven) und β-Formeln (disjunktiven) kommen nochdie Quantorformeltypen γ und δ. Bei den α- und β-Formeltypen brauchte maneine Definition der direkten Unterformeln α1, α2 (bzw. β1, β2). Bei quantifizier-ten Formeln benotigt man Instanzen der Formeln.

All-quantor Ex-quantor

γ γ(t) δ δ(t)

∀x : Φ Φ[t/x] ∃x : Φ Φ[t/x]

¬∃x : Φ ¬Φ[t/x] ¬∀x : Φ ¬Φ[t/x]

10.1 Tableau mit Grundtermen

Zunachst eine Variante des Tableau-kalkuls, der mit Grundtermen arbeitet.Im Laufe eines Beweises ist es bei dieser Variante notwendig, neue Konstanteneinzufuhren. Diese werden auch Parameter genannt. Mindestens eine Konstantewird immer automatisch erzeugt, da wir annehmen, dass Domains nichtleer sind.Die Tableau-Erweiterungsregeln, die fur die Pradikatenlogik erster Stufe not-wendig werden, sind:

γ

γ(t)δ

δ(a)

t ist geschlossener Term a ist ein neuer Parameter

der Parameter enthalten kann

Die Eingabe und die Schließungsregeln sind wie beim aussagenlogischen Ta-bleau. D.h. ein Tableau ist geschlossen, wenn jeder Pfad geschlossen ist, unddies wiederum heißt, dass in jedem Pfad ein Paar direkt komplementarer Lite-rale vorkommt

Beispiel 10.1 Im folgenden ein Tableaubeweis der Formel(∀x : (P (x) ∨Q(x)) ⇒ (∃x : P (x) ∨ ∀x : Q(x))

)Auch hier wird, wie beim aussagenlogischen Tableau, mit der Negation der For-mel gestartet.

135

¬(∀x : (P (x) ∨Q(x)) ⇒ (∃x : P (x) ∨ ∀x : Q(x))

)∀x : (P (x) ∨Q(x))

¬(∃x : P (x) ∨ ∀x : Q(x))

¬(∃x : P (x))

¬(∀x : Q(x))

¬Q(c) δ-Expansion

¬P (c) γ-Expansion mit t = c

P (c) ∨Q(c) γ-Expansion mit t = c

P (c) | Q(c) β-Expansion

Diese Beweisprozedur terminiert i.a. nicht, im Gegensatz zum aussagenlogischenTableau, da man fur die γ-Formeln beliebige Terme einsetzen kann, und es auchnicht ausreicht, sich auf eine endliche Menge zu beschranken.In dieser Form entspricht der Tableaukalkul der Resolution ohne Unifikation,aber mit Raten von Klauselinstanzen. Beim Tableaukalkul bleibt die Strukturder Formeln erhalten, so dass man ohne Normalform und (zunachst) ohne Sko-lemisierung auskommt.

Aussage 10.2 Das Grund-Tableau-Verfahren fur PL1 ist widerlegungs-vollstandig.Im Falle, dass es nicht terminiert, wird in mindestens einem Pfad ein Modellgeneriert, sofern Fairnessbedingungen erfullt sind: Jede Formel muss in jedemPfad und mit jeder Regel (insbesondere jede γ-Instanz) expandiert werden.

Beweis. siehe [Fit90] 2

Die Eigenschaft, dass im Falle der Erfullbarkeit ein Modell erzeugt wird, istein Vorteil gegenuber resolutionsbasierten Methoden. Allerdings ist dies ehertheoretisch zu sehen, denn i.a. ist der Pfad dann unendlich lang.Eine einfache Heuristik zum Expandieren des Tableaus ist: zuerst α-Regeln,dann β-Regeln, dann δ-Regeln und dann erst die γ-Regeln. Es ist auch erlaubt,Mehrfachexpansion von Formeln auf dem gleichen Pfad zu verhindern.Es ist moglicherweise ausreichend, die δ-Regel pro Formel und Pfad nur einmalzu verwenden. Allerdings gibt es dann immer noch eine Quelle der Nichtterminie-rung: Jede γ-Formel muss im Prinzip mit jedem Parameter einmal instanziiertwerden. Dies kann darauf hinauslaufen, dass man immer mehr Parameter erzeu-gen muss: Nach Erzeugung eines neuen Parameters d muss eine Formel oben im

136

Tableau unten neu angehangt werden; Diese ergibt nach einigen Schritten eineneue δ-Formel, die einen neuen Parameter erzeugt, usw.

10.2 Tableau mit freien Variablen

Um den ausufernden Nichtdeterminismus der γ-Regel zu verhindern, kann manUnifikation ausnutzen, muss dazu aber die Datenstruktur des Tableaus leichtverandern, und freie Variablen zulassen.Gleichzeitig werden statt Parametern Skolemterme bei der Expansion verwen-det:

γ

γ(x)δ

δ(f(x1, . . . , xn))

x ist neue freie Variable f neue Skolemfunktion und

x1, . . . , xn

sind alle bisher benutzten freien Variablen

Definition 10.3 (Instanziierungsregel) Ein Tableau darf verandert werden,indem man eine Substitution σ auf das ganze Tableau anwendet. Hierbei mussdie Substitution frei fur das Tableau sein. D.h. es werden nur die freien Variablenersetzt, und die eingesetzten Terme durfen keine Variablen enthalten, die inden Bindungsbereich eines Quantors geraten (von einem Quantor eingefangenwerden).

Die Schlussregel ist auch hier, dass nach der Instanziierung alle Pfade ein Paarkomplementarer Literale enthalten mussen.Z.B. ist die Substitution {x 7→ f(y)} nicht frei fur die Formel ∀y :P (x, f(x), a, z), da das y in f(y) nach der Einsetzung gebunden ware.Die Instanziierungsregel und die Schlussregel kann man ersetzen durch eine mitUnifikation kombinierte Schlussregel:

Definition 10.4 Das Tableau ist geschlossen, wenn es eine Substitution σ gibt(frei fur das Tableau), die das Tableau nach Instanziierung im herkommlichenSinne schließt.

D.h. statt einer Instanziierung macht man einen Unifikationsversuch, der einenUnifikator berechnet, der nach Anwendung alle Pfade gleichzeitig schließt. Dafurmuss der Unifikationsalgorithmus geeignete Kandidatenliterale verwenden, unddiese unifizieren.D.h. hier ist doch noch ein Nichtdeterminismus verborgen, da man auf sehr vieleWeisen solche Kandidaten auswahlen kann.

137

Beispiel 10.5 Im folgenden ein Tableaubeweis mit freien Variablen fur die glei-che Formel wie in Beispiel 10.1(

∀x : (P (x) ∨Q(x)) ⇒ (∃x : P (x) ∨ ∀x : Q(x)))

¬(∀x : (P (x) ∨Q(x)) ⇒ (∃x : P (x) ∨ ∀x : Q(x))

)∀x : (P (x) ∨Q(x))

¬(∃x : P (x) ∨ ∀x : Q(x))

¬(∃x : P (x))

¬(∀x : Q(x))

¬Q(a) δ-Expansion

¬P (y1) γ-Expansion mit y1

P (y2) ∨Q(y2) γ-Expansion mit y2

P (y2) | Q(y2) β-Expansion

Geschlossen mit σ = {y1 7→ a, y2 7→ a}

Folgendes Beispiel zeigt, wie ein Modell erzeugt wird:

Beispiel 10.6 Betrachte die Formel (∃x : P (x)) ⇒ (∀x : P (x)). Diese ist keineSatz. Versucht man einen Tableaubeweis, so erhalt man ein Gegenbeispiel (bzw.ein Modell fur die Negation).

¬(∃x : P (x)) ⇒ (∀x : P (x))

∃x : P (x)

¬(∀x : P (x)

P (a)

¬P (b)

Das erzeugte Modell hat zwei Elemente: a, b. Die Struktur ist {P (a),¬P (b)},und in dieser Struktur ist die obige Formel falsch.

138

Beispiel 10.7 Beweis der Formel

(∃w : ∀x : R(x, w, f(x,w))) ⇒ (∃w : ∀x : ∃y : R(x, w, y))

(1) ¬((∃w : ∀x : R(x,w, f(x,w))) ⇒ (∃w : ∀x : ∃y : R(x,w, y))

)(2) ∃w : ∀x : R(x, w, f(x,w))

(3) ¬(∃w : ∀x : ∃y : R(x, w, y))

(4) ∀x : R(x, a, f(x, a)) aus (2) mit δ

(5) ¬(∀x : ∃y : R(x, v1, y)) aus (3) mit γ

(6) ¬(∃y : R(g(v1), v1, y)) aus (3) mit δ

(7) R(v2, a, f(v2, a)) aus (4) mit γ

(8) ¬(R(g(v1), v1, v3)) aus (6) mit γ

geschlossen mit Unifikator σ = {v1 7→ a, v2 7→ g(a), v3 7→ f(g(a), a)}

Die Frage nach der Terminierung und der Anzahl der notwendigen Kopien wirddurch folgendes Beispiel illustriert:

Beispiel 10.8 Widerlege die Formelmenge {{P (a) ∨ P (b)}, {∀x : ¬P (x)}}.

(1) P (a) ∨ P (b)

(2) ∀x : ¬P (x)

(3) ¬P (y)

(4) P (a) | P (b)

Dieses Tableau laßt sich nicht schließen, da a 6= b. Erst mit einer weiterenγ-Expansion der Formel ∀x : ¬P (x) auf dem rechten Pfad ist das Tableau ge-schlossen.Eine Umstellung der Expansionen zeigt aber, dass man in diesem Fall mit einerExpansion pro Pfad auskommt.

Vermutlich gilt somit, dass eine γ-Formel, die keine inneren Disjunktionenenthalt, nur einmal pro Pfad expandiert werden muss.

139

Beispiel 10.9 Widerlege die Formelmenge

{{P (a)}, {¬P (f(f(a)))}, {∀x : P (x) ⇒ P (f(x))}}

(1) P (a)

(2) ¬P (f(f(a)))

(3) ∀x : P (x) ⇒ P (f(x))

(4) P (y1) ⇒ P (f(y1))

mmmmmmmmmmmmaus (3)

(5) ¬P (y1) P (f(y1))

(6) P (y2) ⇒ P (f(y2))

RRRRRRRRRRRRRaus (3)

(7) ¬P (y2) P (f(y2))

Das Tableau ist geschlossen mit {y1 7→ a, y2 7→ f(a)}.

Man sieht, dass es nicht moglich ist, das Tableau vorher zu schließen bzw. mitnur einer Kopie der Formel ∀x : P (x) ⇒ P (f(x)) pro Pfad. Eine Erweiterungdieses Beispiels zeigt auch, dass man die Anzahl der notwendigen γ-Expansionenpro Pfad im Prinzip nicht begrenzen kann. Aufgrund der Unentscheidbarkeitkann man durch keinen Trick die Tableau-methode in ein Entscheidungsverfah-ren verwandeln. D.h. es gibt immer eine Regel, die fur das Nichtterminierenverantwortlich ist.Die Anzahl der δ-Expansionen kann man auf eine pro Formel und Pfad be-schranken. Beschrankt man die Anzahl der erlaubten Kopien pro Formel undPfad willkurlich von vorneherein durch die sogenannte ”Q-Tiefe“, dann termi-niert das Verfahren.Die Terminierung kann man wie im aussagenlogischen Fall begrunden, wobeiman das verwendete Maß leicht variieren muss:

• Basis ist das Paar (Anzahl der Quantoren, Große der Formel).

• Pro Pfad die Multimenge der obigen Paare, wobei man fur jede Formelmit Quantoren das Paar sooft in die Multimenge einfugt, wie man dieFormel noch expandieren kann: (Q-Tiefe − wie oft γ-expandiert). Furα, β, δ-Formeln ist diese Zahl jeweils 1.

140

• Multimenge der Maße aller Pfade.

Unter Beschrankung der Q-Tiefe ist das Verfahren nicht mehr vollstandig. Al-lerdings wird es wieder vollstandig, wenn man das Verfahren mehrfach ablaufenlaßt mit jeweils großerer Q-Tiefe. Dies ergibt dann ein Semientscheidungsver-fahren.

141

11 Modallogik (aussagenlogisch)

11.1 Einfuhrung

Die Modallogik erlaubt Formulierung und Reprasentation von Aussagen, dieuber die Aussagenlogik hinausgehen: Beispielsweise kann man Aussagen uberAussagen machen: ”bald wird es regnen“ oder ”moglicherweise ist die Erdeeine Kugel“ . Damit kann man eine Form des Meta-Schließens in die Aussagen-logik und in die Logik erster Ordnung einbringen. Die Aussage ”bald wird esregnen“ kann man sich zusammengesetzt vorstellen aus einem Modaloperator

”bald wird gelten“ und der Aussage ”es regnet“.Es gibt verschiedene Interpretationen und Anwendungen dieser modalenErweiterungen von Logik in ganz unterschiedlichen Bereichen, die wir kurz inBeispielen vorstellen wollen. Wie alle Modellierungen, haben diese logischenModellierungen auch ihre Schwachen. Diese wollen wir eher am Rande disku-tieren, und uns mehr auf das Verstandnis der Formalisierung konzentrieren.Zudem kann man die moglichen Schwachen bei praktischen Anwendung erstherausfinden, wenn man diese Formalisierung verstanden hat.

Die philosophische Logik verwendet und betrachtet ebenfalls modale Logiken,wobei hier die Diskussion im Vordergrund steht, welche Variante fur welchenZweck adaquat ist und die richtigen Schlusse zulasst.

Beispiele:

1. Modellierung der Zeit. Eine bekannte Modellierung ist die diskrete Zeit,diese hat keine Zeitmessung, sondern kann nur ”vorher“, ”nachher“, ”im-mer“, ”manchmal“ usw. formulieren.

2F : F gilt immer in der Zukunft

3F : F gilt irgendwann in der Zukunft.

Intuitiv gilt in dieser Modellierung : 22F ⇔ 2F

Man kann deterministische oder nicht-deterministische Prozesse zeitlichmodellieren. Deterministischer Ablauf entspricht einer linearen Ordnungder moglichen Zustande auf der Zeitachse, ein nichtdeterministischer Ab-lauf ergibt verzweigende Zustande auf der Zeitachse, d.h. einen Baum bzweinen azyklischen gerichteten Graphen.

Bei linearer Zeit bzw. deterministischen Prozessen sollte gelten:

(32F ) ⇒ (23F )

D.h. irgendwann gilt F immer impliziert: es gilt fur jeden zukunftigenZeitpunkt, dass irgendwann danach F gilt.

142

Dies gilt bei verzweigender Zeit nicht mehr.Es gibt eine Logik CTL* (computation tree logic), die eine Verallgemeine-rung einer Modallogik zu einer verzweigenden Zeit entspricht, und die z.B.in der Hardwareverifikation verwendet wird. Diese Logik und ihre Spezia-lisierungen dienen in diesem Bereich als logische Basis von verschiedenen

”model checking“ -Verfahren.

2. Logik des Erlaubten und Verbotenen (Normative Logik, Deontic Logic)

2F : F ist geboten; F muss gelten; bzw. F ist obligatorisch.

3F : F ist erlaubt.

In dieser Logik sollte gelten, dass obligatorisches auch erlaubt sein sollte.D.h.

2F ⇒ 3F

3. Logik des Wissens (epistemische Logik)

2F : F ist bekannt.

3F : F ist glaubhaft.

In dieser Logik sollte gelten, dass bekannte Fakten richtig sind: D.h.

2F ⇒ F

.

Dies ware in einer Zeitlogik mit 2 = ”im nachsten Zustand“ nicht immerrichtig, denn das wurde bedeuten.

4. Variante einer Logik des Wissens (autoepistemische Logik)

Diese modelliert den Glauben an gewisse Fakten.

2F : F wird geglaubt.

3F : F ist moglich (¬F wird nicht geglaubt).

Die Axiome, die in einem Artikel verwendet werden (schwaches S5, s.u.)sind:

2(F ⇒ G) ⇒ (2F ⇒ 2G)

2F ⇒ 22F

¬2F ⇒ 2(¬2F )

143

Damit kann man z.B. eine sogenannte ”nichtmonotone“ Logik modellie-ren, die folgende Schlussweise verwenden: Wenn ich etwas nicht glaube,dann gilt diese Tatsache auch nicht:

¬2F ⇒ ¬F

5. Erweiterungen sind parametrisierte Modaloperatoren, die dann im Ex-tremfall zur dynamischen Logik fuhren. Diese erlaubt z.B. P F mit derBedeutung: nach (jeder) Ausfuhrung des Programms P gilt, falls das Pro-gramm terminiert, die Formel F .

6. parametrisierte Modaloperatoren in einer Logik des Wissens mit mehrerenAkteuren: A F bedeutet A weiß, dass F gilt, usw. Damit kann man auchformulieren: A (¬ B F ) : A weiß, dass B nicht weiß, dass F wahr ist.

11.2 Syntax der aussagenlogischen Modallogik

Die Basis ist die Aussagenlogik. Es gibt zwei zusatzliche einstellige Modal-Operatoren, die in Prafixschreibweise verwendet werden: 2 und 3, die man aufAussagen anwenden kann, aber auch schachteln kann, man kann z.B. die Formel2((3X)∨Y ) bilden. Ansonsten ist alles wie in der zweiwertigen Aussagenlogik.Diese Modal-Operatoren sind jedoch semantisch gesehen grundsatzlich verschie-den von Junktoren, da sie nicht wahrheitsfunktional sind. D.h. man kann keineWahrheitstabelle angeben. 9

11.2.1 Kripke-Semantik

Da man uber verschiedene Belegungen (Interpretationen) der Wahrheitswertevon Variablen spricht, (z.B. jetzt und in der Zukunft) fuhrt man explizit ei-ne Entsprechung ein. Man spricht von ”moglichen Welten“ (Zustanden). Die(nichtleere) Menge dieser Welten nennen wir W. Ferner sind die Welten mitein-ander (evtl.) verbunden mittels einer Erreichbarkeitsrelation R. Wenn w1 R w2

fur zwei Welten w1, w2 gilt, dann sagen wir, w2 ist von w1 aus erreichbar.Das Paar (W,R) aus Menge W der Welten und binarer Relation R nennen wirKripke-Rahmen (Kripke-frame). Wenn jeder Welt eine (klassische) Interpretati-on zugeordnet wird, dann bezeichnen wir dies mit (W,R, I), wobei I jeder Welteine Interpretation zuordnet. Das Tripel K = (W,R, I) nennt man (aussagen-logische) Kripke-Struktur.Um die Gultigkeit von modallogischen Aussagen F in einer Kripke-StrukturK = (W,R, I) zu definieren, benotigen wir zuerst den semantischen Begriff

”ist gultig in einer Welt w“9Das wurde zwar teilweise mit mehrwertigen Logiken versucht, ist aber im wesentlichen

gescheitert.

144

Definition 11.1 Sei w ∈ W eine der moglichen Welten. Dann definieren wirdie Gultigkeit |= wie folgt, wobei wir statt I(w) |= A einfach w |= A schreiben,wobei A eine Formel ist.

w |= 1

w 6|= 0

w |= A gdw. I(w)(A) fur eine Variable A

w |= F ∨G gdw. w |= F oder w |= G

w |= F ∧G gdw. w |= F und w |= G

w |= F ⇒ G gdw. nicht (w |= F ) oder w |= G

w |= ¬F gdw. nicht w |= F

w |= 2F gdw. ∀w′ : w R w′ ⇒ w′ |= F

w |= 3F gdw. ∃w′ : w R w′ ∧ w′ |= F

Eine Formel F heißt gultig in einer Kripke-Struktur K = (W,R, I), falls furalle w ∈ W gilt: w |= F . Wir schreiben das als K |= F .Eine Formel F heißt Tautologie, falls fur alle Kripke-Strukturen K = (W,R, I)gilt: K |= F .Eine Formel F heißt erfullbar, falls es eine Kripke-Struktur K = (W,R, I) gibt,so dass gilt: K |= F .Wir definieren auch Gultigkeit in einem Kripke-Rahmen: (W,R). Eine Formel Fheißt gultig in einem Kripke-Rahmen (W,R), falls fur alle I gilt: (W,R, I) |= F .

Sei G eine Menge von Formeln und F eine Formel. Dann ist F eine semantischeFolgerung (logische Konsequenz) von G, falls fur alle Kripke-Strukturen K gilt:Wenn K |= G, dann auch K |= F . Dies schreiben wir als G |= F .

Aussage 11.2 F1 ∧ . . . ∧ Fn ⇒ F ist eine Tautologie ⇒ F1, . . . , Fn |= FAber die Umkehrung ist falsch.

Beweis. Sei F1 ∧ . . .∧Fn ⇒ F eine Tautologie. Dann gilt diese Aussage in altenKripkestrukturen. Wenn F1, . . . , Fn in einer Kripke-Struktur K gelten, dannwegen der Voraussetzung gilt auch F .Die Umkehrung ist falsch: Betrachte

3X |= 33X

Dies gilt: Sei K eine Kripkestruktur, mit K |= 3X. Dann gibt es von jeder Weltaus eine erreichbare, in der X ebenfalls gilt. Daraus kann man leicht schließen,

145

dass auch 33X in K gilt, dann von jeder Welt w1 aus gibt es eine erreichbarew2, in der X gilt, und von dieser aus wieder eine erreichbare w3, in der X gilt.Aber: die Aussage 3X ⇒ 33X ist keine Tautologie. Dazu reicht es aus, einGegenbeispiel anzugeben: Die Struktur besteht aus zwei Welten w1, w2, wobeiw1 6|= X, und w2 |= X. Dann gilt die Formel nicht in der Welt w1, denn 3Xgilt, aber es gibt keine Welt, die von w1 aus in zwei Schritten erreichbar ist. 2

Damit hat man gezeigt, dass das Deduktionstheorem nicht gilt.Man erhalt modallogische Tautologien aus schon bekannten, wenn man die aus-sagenlogischen Variablen durch beliebige Formeln ersetzt:

Lemma 11.3 (Ersetzung).Sei F eine modallogische Tautologie, sei A eine aussagenlogische Variable in Fund sei G eine beliebige Formel. Dann ist F [G/A] ebenfalls eine modallogischeTautologie.

Lemma 11.4 Wenn F eine Tautologie in einem Rahmen ist, dann ist auch 2Feine Tautologie.

Beispiel 11.5 Die Aussage 20 bzgl einer Welt w bedeutet, dass es von w auskeine erreichbare Welt mehr gibt, denn es darf in keiner Interpretation der Wert0 wahr sein.Wenn 2220 in einer Welt w wahr ist, dann bedeutet das, dass man von w aushochstens 2 R-Schritte machen kann.Die Aussage 21 ist eine Tautologie in allen Modallogiken.

Zur Modellierung der verschiedenen Modallogiken werden i.a. die Eigenschaftender Erreichbarkeitsrelation eingeschrankt. Historisch ererbt sind einige Namenfur bestimmte Modallogiken, wobei diese Namensgebung auch z.T. nicht ganzeindeutig ist.Die Vorgehensweise ist so, dass man eine Eigenschaft E der Erreichbarkeitsrela-tion fordert. Die Semantik der zugehorigen Modallogik MLE beschrankt sich aufdie Menge der Kripke-Rahmen, deren Erreichbarkeitsrelation die Eigenschaft Ehat.Folgende Tabelle gibt einige Namen und zugehorige Eigenschaften an:

146

Name der Modallogik Eigenschaft der Relation im Rahmen (W,R)

(des Axioms)

K R ist beliebig

T R ist reflexiv

K4 R ist transitiv

S4 R ist reflexiv und transitiv

B R ist reflexiv und symmetrisch

S5 R ist reflexiv, transitiv und symmetrisch

5 R ist euklidisch

D R ist seriell (unbeschrankt)

D4 R ist seriell und transitiv

S4.2 R ist reflexiv, transitiv und konfluent

Grz R: in jeder unendlichen R-Kette x1 R x2 . . . gibt esein i mit xj = xj+1 fur alle j ≥ i

Aussagenlogik es gibt genau eine Welt w0, und w0 R w0 gilt

Hierbei sind die Eigenschaften so definiert:

reflexiv ∀w : R(w,w)

transitiv ∀w1, w2, w3 : w1 R w2 ∧ w2 R w3 ⇒ w1 R w3

symmetrisch ∀w1, w2 : w1 R w2) ⇒ w2 R w1

seriell ∀w∃w′ : w R w′)

euklidisch ∀w1, w2, w3 : w1 R w2 ∧ w1 R w3 ⇒ (w2 R w3)

konfluent (falls R reflexiv und transitiv)

∀w1, w2, w3 : (w1 R w2) ∧ w1 R w3) ⇒ (∃w4 : w2 R w4) ∧ w3 R w4

147

Beachte: reflexiv ⇒ seriell

seriell, transitiv, symmetrisch ⇒ reflexiv

Wir werden im folgenden die Begriffe Tautologie, Kripke-Struktur, Erfullbarkeitusw. relativieren, indem wir je nach betrachteter Modallogik den entsprechendenPrafix davor schreiben, z.B. K-Tautologie, S4-Tautologie, usw.Es gilt folgendes Abhangigkeitsdiagramm (moglicherweise fehlen Pfeile)

K

T

K4D

S4

D4

B

DB

S5

Aussagenlogik

Die transitive Hulle der Pfeile gilt ebenfalls. Dieses Diagramm der Abhangig-keiten sagt etwas uber die Gultigkeit von Tautologien aus. Falls L1 → L2 imDiagramm enthalten ist, und F eine L1-Tautologie ist, dann ist F auch eineL2-Tautologie.Die Aussagenlogik kann man in das Diagramm einfugen, wobei wir bei derUbertragung der Tautologien einfach die Extra-Zeichen streichen.Die folgende Tabelle gibt die Namen der definierenden Axiome (Axiomensche-mata) an. Leider sind die Namen in der Literatur nicht einheitlich und werdenz.T mit verschiedener Bedeutung benutzt. Der Name G wird in mindestens 3verschiedenen Bedeutungen benutzt.

148

Name (alt. N) Formel Anwendung

K 2(F ⇒ G) ⇒ (2F ⇒ 2G)

T (M) 2F ⇒ F Logik des Wissens (Wissen ist korrekt)

D 2F ⇒ 3F Deontisch (Nichtglaube an das Gegenteil)

4 2F ⇒ 22F Zeit ; Positive Introspektion)

B F ⇒ 23F

5 (E) 3F ⇒ 23F (negative Introspektion)

M (G) 23F ⇒ 32F

L (H, Lem0) 2((A ∧2A) ⇒ B) ∨2((B ∧2B) ⇒ A)

3 (H,H+0 , Lem) 2(2A ⇒ B) ∨2(2B ⇒ A)

2 (G) 32F ⇒ 23F

G (W) 2(2F ⇒ F ) ⇒ 2F

Dum 2(2(F ⇒ 2F ) ⇒ F ) ⇒ (32F ⇒ 2F )

Grz 2(2(F ⇒ 2F ) ⇒ F ) ⇒ F )

Einige in epistemischen Logiken (auch deontischen) verwendeten Axiome mitihrer intuitiven Bedeutung.

149

Name Formel Erklarung

hline T 2F ⇒ F Was ich weiss, das gilt

D 2F ⇒ 3F

2F ⇒ neg2¬F Wenn ich F glaube, dann glaube ich dasGegenteil von F nicht

4 2F ⇒ 22F Wenn ich F weiß, dann weiß ich dassich F weiß

5 3F ⇒ 23F

¬2F ⇒ 2¬2F wenn ich F nicht weiß, dann weiß ichdass ich F nicht weiß.

Man kann Modallogiken auch mittels ihrer axiomatischen Basis und eines dazu-gehorigen Kalkuls beschreiben. Dazu gehoren dann die Schlussweisen Ersetzung,

Modus Ponens, Notwendig-Einfuhrung:F

2Fund die Axiome. Diese Methode

wird z.B. im Buch von Hughes und Cresswell eingehend diskutiert. Wir wendenuns nur mit der Beschreibungsmethode mittels Rahmen und der Erreichbar-keitsrelation befassen. Die Benutzung der Kripke-Semantik schließt einige inder Literatur untersuchten Modallogiken von der Betrachtung aus, wenn K indiesen Logiken nicht gilt.Die Namensgebung der verschiedenen Modallogiken wird mittels der Namen dernotwendigen Axiome durchgefuhrt. Es gibt einige festgelegte Namen, z.B. S4, S5bedeuten 4. System (5. System) in einer von Lewis und Langford beschriebenenSerie von modallogischen Systemen. Die Namen der Logiken sind am einfachstenim System von Lemmon hinzuschreiben, wobei einfach eine axiomatische Basisgenugt. Der Name der Logik S4 ware KT4 (da K+T +4 als Axiome ausreichen)fur S5 ware dies KT5.Wie wir schon gesehen haben, gibt es fur einige Logiken einen einfachen Zusam-menhang zwischen axiomatischer Basis und Eigenschaft der Erreichbarkeitsre-lation des Rahmens. Diese Zusammenhange sind nicht immer so einfach. Die(modallogische) Korrespondenztheorie untersucht diese Zusammenhange. Eini-ge interessante Modallogiken konnen mittels der Eigenschaften der Erreichbar-keitsrelation beschrieben werden. Manchmal gibt es keine Beschreibung mittelsAxiomen erster Ordnung. Es gibt auch ein Beispiel (S4.2), fur dass es einenRahmen gibt, so dass dieser Rahmen gerade alle richtigen Tautologien liefert,aber die axiomatische Basis eigentlich eine unendliche Menge von Rahmen be-schreibt, die sich nur mit einer Eigenschaft zweiter Ordnung beschreiben lassen.

150

11.2.2 Beziehung zu Anwendungen

Das Axiom T kann man als Axiom des perfekten Wissens in einer Wissens-Modallogik verwenden:2F ⇒ F : was ich weiß, gilt auch (fehlerfrei).Das Axiom D: 2F ⇒ 3F ist nach Umformung aquivalent zu:¬(2A ∧2(¬A):Das bedeutet: das Wissen ist nicht widerspruchlich.Man kann auch leicht formulieren: ”Wenn man etwas weiß, dann weiß man, dassman dies weiß:2F ⇒ 2(2F ):Das ist gerade die Transitivitat bzw. das Rahmenaxiom 4.

11.2.3 Tautologien in Varianten der Modallogik

Einige K-Tautologien konnen wir jetzt schon angeben.

Lemma 11.6 In K, d.h. in allen Modallogiken, die eine Kripkesemantik haben,gelten folgende Tautologien:

1. 2(F ⇒ G) ⇒ (2F ⇒ 2G)

2. 2F ⇔ ¬(3¬F )

3. 3F ⇔ ¬2(¬F )

4. 2(F ∧G) ⇔ (2F ∧2G)

5. 3(F ∨G) ⇔ (3F ∨3G)

BegrundungWir begrunden nur 1. und 2. 1. Sei K = (W,R, I) eine Kripkestruktur und wdie Welt, in der die Formel ausgewertet wird. Falls 2(F ⇒ G) falsch ist unterI, dann gilt Axiom K. Also betrachten wir den Fall, dass 2(F ⇒ G) wahrist. Dann ist in allen von w erreichbaren Welten (F ⇒ G) wahr unter I. Jetztbetrachten wir die rechte Seite. Es genugt den Fall zu betrachten dass 2F wahrist. Dann ist F in allen von w aus erreichbaren Welten wahr. Da dies auch fur(F ⇒ G) gilt, haben wir auch, dass G in allen erreichbaren Welten gilt, also gilt2G unter I.2. Wenn F in allen von w erreichbaren Welten gilt, dann ist dies aquivalentdazu, dass ¬F in von w aus erreichbaren Welten nicht gelten kann. 2

Weiterhin konnen wir schon begrunden, dass folgende Schlussregel gilt:

Wenn F Tautologie, dann ist auch 2F eine Tautologie.

Begrundung:Sei (W,R, I) eine Kripkestruktur. Wenn F eine Tautologie ist, dann gilt F inallen Welten w. Somit gilt auch, dass fur jede Welt w die Formel F in allen

151

von w aus erreichbaren Welten gilt, d.h. 2F gilt in (W,R, I). Da dies fur alleKripkestrukturen gilt, ist 2F dann eine Tautologie.Vorsicht: Die Formel F ⇒ 2F ist keine Tautologie. Dies widerlegt eine einfacheKripke-Struktur:a bP ¬PEs gilt nicht: P ⇒ 2P in der Welt a.

Beachte: 2(F ∨G) ⇒ (2F ∨2G)) ist keine K-Tautologie.Um dies zu untermauern, konstruieren wir eine Kripke-Struktur, in der dieseAussage nicht gilt. Dazu nehme als Welten w0, w1, w2 mit:

w0

w1

w2

F,¬ G

¬ F, G

Dann gilt 2(F ∨G) in der Welt w0, aber weder 2F noch 2G gilt.Wir zeigen am Beispiel von T , wie die Struktur der Welten mit dem Axiom2F ⇒ F zusammenhangt. Zu beachten ist hier, dass diese Korrespondenz nurgilt, wenn man Gultigkeit in Kripke-Rahmen betrachtet.

Lemma 11.7 Gegeben ein Kripke-Rahmen (W,R). Dann ist R reflexiv gdw.2F ⇒ F im Kripke-Rahmen (W,R) fur alle Formeln F gultig ist

Beweis. Sei (W,R, I) eine Kripke-Struktur mit reflexivem R. Dann ist zu zeigen,dass 2F ⇒ F . Sei w0 die aktuelle Welt und sei weiterhin 2F wahr. Dann istauch F wahr in w0, denn es gilt w0 R w0.Nun sei 2F ⇒ F gultig im Rahmen (W,R).Sei w0 eine Welt, so dass nicht w0 R w0 gilt. Dann konnen wir ein I so definieren,dass fur eine aussagenlogische Variable X, diese nicht in w0 gilt, aber in allenw mit w0 R w. Dann gilt X in w0. Da 2F ⇒ F im Rahmen (W,R) gilt, giltauch X in w0. Dies ist ein Widerspruch. 2

Lemma 11.8 Gegeben eine Kripke-Rahmen (W,R). Dann ist R transitiv gdw.2F ⇒ 22F im Kripke-Rahmen (W,R) gultig ist.

Beweis. Sei (W,R, I) eine Kripke-Struktur mit transitivem R. Dann ist zu zei-gen, dass 2F ⇒ 22F gilt. Sei w0 die aktuelle Welt und sei weiterhin 2F wahr.Seien w1 und w2 Welten mit w0 R w1 und w1 R w2. Dann gilt auch w0 R w2

und wegen Voraussetzung ist F in w2 gultig.Sei 2F ⇒ 22F gultig im Rahmen (W,R). Seien w0, w1, w2 Welten, so dassw0 R w1 und w1 R w2, aber nicht w0 R w2. Dann konnen wir ein I so defi-nieren, dass fur eine aussagenlogische Variable X, diese in w0 gilt, in allen vonw0 aus erreichbaren Welten, aber nicht in w2. Dann gilt 2X in w0, aber nicht22X. Da 2F ⇒ 22F im Rahmen (W,R) gilt,ist dies ein Widerspruch. 2

152

In analoger Weise kann man andere Beziehungen zwischen Axiomen und Eigen-schaften von R in einem Rahmen verifizieren.Im folgenden wollen wir auch nachweisen, dass einige der angegebenen Logikenverschieden sind.

K 6= T : wurde implizit oben schon gezeigt.

T 6= S4 :

a b cP

P¬ P

In dieser Kripkestruktur gilt in allen Welten: 2P ⇒ P , aber in der Welta gilt nicht 2P ⇒ 22P . Beachte, dass die Relation a R c nicht gilt, da Rnicht als transitiv definiert wurde.

11.3 Tableaukalkul(e) fur verschiedene Modallogiken

Zunachst betrachten wir ein Tableauverfahren zum Nachweis der Gultigkeit vonTautologien in verschiedenen Moadllogiken. Danach betrachten wir eine Erwei-terung zum Nachweis der Folgerungsrelation.Wir betrachten Tableaus, deren Knoten mit Paaren aus einem Pfadterm undeiner Formel markiert sind.Ein Pfadterm ist ein String aus Variablen und Termen, wobei diese Variablen,Funktionssymbole und Konstanten nicht in den Formeln vorkommen und denWeg von der Ursprungswelt zur aktuellen formal notieren sollen. D.h. das sind ei-gentlich Variablen und Terme, die modallogische Welten bezeichnen. Wir nennendiese Symbole auch Welten-Variablen, Welten-Konstanten, Welten-Funktionen.Weiterhin gilt, dass fur jede Welten-Variable x der Pfadterm von Anfang bisx in jedem Pfad des Tableaus, in dem x vorkommt, gleich ist. Zudem kommtx nicht vorher im Pfad vor. Im Tableaukalkul werden Pfade erzeugt, die einerMenge von markierten Formeln entsprechen.Die Menge der Pfadterme, die in einem Pfad P vorkommen, sei PT(P ).Ein Formel im Tableau wird als p;F notiert, wobei p der Pfadterm und F dieeigentliche Formel ist.Der Begriff L-Instanz (s.u.) meint eine (zulassige) Einsetzung von Weltenter-men in Welten-Variablen, wobei nur im Pfad benutzte Weltensymbole verwen-det werden durfen, so dass das Ergebnis keine Variablen enthalt. Die Axiome derLogik L durfen zum Vergleichen der Welten und Herleiten der Erreichbarkeitenbenutzt werden

153

11.3.1 Kalkul TKL

Diese Variante des Tableaukalkuls macht Fallunterscheidung nur fur Formelnohne freie (Welt-) Variablen, kann aber dadurch geschlossene Pfade mittels Al-gorithmen ( Erweiterung der Unifikation) erkennen.Eine Logik L wird fixiert. Folgende Regeln werden zur Expansion des Tableausverwendet:

p;¬¬F

p;F

p;α

p;α1

p;α2

p;βp;β1 | p;β2

p enthalt keine Variablen

p;βp′;β

p′ ist L-Instanz von p im Pfad

p;3F

p · f(x1, . . . , xn);Ff ist neu und xi sind die Variablen in p

p;2F

p · x;Fx ist neue Variable

Die Formeln ¬2F und ¬3F werden wie 3¬F bzw. 2¬F behandelt. An Steue-rung ist nur zu beachten, dass jede Formel nur einmal pro Pfad expandiert wird,bis auf die instanziierbaren Formeln vom Typ p, β. Hier mussen alle Instanzi-ierungen von p ausprobiert werden; leider fur alle Pfade, auf denen das Paarliegt. Dabei kann es vorkommen, dass neue Instanziierungen entstehen, und dieFormel oft (evtl. unbegrenzt) in instanziierter Form in einem Pfad hinzugefugtwerden muss. Hier kann es zu Nichtterminierung des Tableaukalkuls kommen,abhangig von der benutzten Modallogikvariante.Wir nehmen an, dass fur jede Modallogik L Algorithmen existieren, die fur eineMenge von Pfadtermen bzgl eines Pfades folgendes leisten:

1. Entscheiden, ob ein Pfadterm p L-erfullbar in einem Pfad P des Tableausist.

154

2. Entscheiden, ob zwei Pfadterme p1 und p2 L-kompatibel (in einem dergemeinsamen Tableau-Pfade) sind.

3. Berechnen einer L-(Grund-)Instanz eines Pfadterms.

Jedes Paar (p, F ) im Tableau kann man (ruck-)ubersetzen in eine PL1- Formel.Das ist einfacher zu klaren, wenn man auf die Erzeugung der Pfadterme zuruck-geht. Durch 2 werden ∀-quantifizierte Welten-Variablen eingefuhrt und durch3 werden ∃-quantifizierte Welten-Variablen eingefuhrt.Z.B das Paar (x · y · f(x, y);F ) entspricht der Formel

∀x : 0 R x ⇒ (∀y : x R y ⇒ ∃z : y R z ∧ (Gilt(z, F )))

wobei Gilt(z, F ) ein Pradikatensymbol ist, das z |= F formalisiert. Skolemisiertman das z in der Formel, ergibt sich der Pfadterm x · y · f(x, y).

Definition 11.9 Sei L eine der oben angegebenen Logiken, die eine Klasse vonRahmen festgelegt. Sei P ein Pfad in einem Tableau und PT(P ) die Mengeder Pfadterme von P . Um die oben angegebenen Begriffe genauer zu definieren,interpretieren wir die Pfadterme folgendermaßen:Die initiale Welt bezeichnen wir mit 0.PT(P ) hat die Eigenschaft, dass mit jedem Pfadterm auch der Prafix in PT(P )ist, da dieser vorher im Pfad aufgebaut wurde.Jeder Pfadterm, der als letztes Zeichen keine Variable hat, kann in eine Formelerster Ordnung ubersetzt werden, die etwas uber die Relation R im TableauPfadP aussagt. Z.B. hat x · y · f(x, y) folgende Auswirkung: wenn im Pfad P schonbekannt ist, dass 0 R a1, a1 R a2, dann gilt auch a2 R f(a1, a2). Der Pfad a · bwird in R(0, a) ∧R(a, b) ubersetzt.Damit kann man jedem Pfad P eine Menge Q(P ) von R-Relationen zuordnen,die folgendermaßen erzeugt wird:

1. Falls t1 · . . . · tn ∈ PT (P ), tn keine Variable ist und0 R σ(t1), . . . , σ(tn−2) R σ(tn−1) ∈ Q(P ), wobei σ Grundsubstituti-on:Fuge σ(tn−1) R σ(tn) zu Q(P ) hinzu.

2. Im Falle, dass bzgl. der fixierten Logik L: Q(P ) |=L s R t fur Grundtermes, t gilt, fuge s R t zu Q(P ) hinzu.

Q(P ) ergibt sich als kleinster Fixpunkt der Einfugeoperationen.Diese Berechnung ist fur den Tableaukalkul nur dann sinnvoll, wenn Q(P ) end-lich ist.In D wurde das Verfahren unendlich viele neue Konstanten bzw. Funktionen neuerzeugen, die nicht im Pfad vorkommen. Hier verwendet man eine Erganzungvon PT (P ), die ausreicht: Wenn man zu einem Pfadterm p = t1 . . . tn, der miteiner Variablen endet, keine Instanz in Q(P ) findet, dann darf man den Pfadp′ = t1 . . . tn−1 · f(x1, . . . , xk) hinzufugen, wobei f neu ist, und xi die Variablenin t1 · . . . · tn−1 sind. Danach kann man die Hulle berechnen wie in K.

155

1. Eine L-Instanz bzgl. P eines Pfadterms p = t1 · . . . · tn ist σ(p), so dassσ(p) keine Variablen enthalt, alle Relationen aus σ(p) in Q(P ) sind, unddie Relation 0 R σ(t1) in Q(P ) ist.

2. Ein Pfadterm p ist L-erfullbar bzgl P , wenn es eine L-Instanz gibt.

3. Zwei Pfadterme p und q sind L-kompatibel bzgl. P , wenn es Grundinstan-zen p′ und q′ von p und q bzgl Q(P ) gibt, so dass p′ und q′ die gleicheEnd-Welt haben.

Diese Definitionen gehen von der Annahme aus, dass verschiedene Namenauch etwas verschiedenes bedeuten (unique names assumption, freie Termal-gebra). In bestimmten Logikvarianten kann es sein, dass man auf Gleichheitvon syntaktisch verschiedenen Welttermen schließen kann. Intuitiv bedeutetL-erfullbar, dass der Pfadterm als R-Sequenz gedeutet werden kann,

Definition 11.10 Ein Pfad P eines Tableaus ist L-geschlossen, wenn eine derfolgenden Bedingungen erfullt ist:

1. Es gibt zwei komplementare Formeln p1;F und p2;¬F auf dem Pfad, sodass p1 und p2 L-kompatibel bzgl Q(P ) sind.

2. Es gibt eine Formel p; 0 so dass der Pfadterm p L-erfullbar ist bzgl Q(P ).

Das Tableau ist L-geschlossen, wenn alle Pfade des gesamten Tableaus L-geschlossen sind.Ein Pfad P ist erschopft, wenn er nicht geschlossen ist, und man kein neuesBlatt an P mehr anhangen kann. Entsprechend ist das Tableau erschopft, wennes nicht geschlossen ist, aber man keine neuen Blatter mehr anhangen kann

Beachte, dass man keine simultane Prufung auf geschlossene Pfade braucht, weilDisjunktionen nur mit geschlossenen Pfadtermen erlaubt sind.Ein Tableaubeweiser fur die Logik L, der die Formel F beweisen will, startet mitε;¬F an der Wurzel und versucht durch Anwenden der Expansionsregeln allePfade zunachst zu erweitern und dann zu schließen.Was man jetzt noch pro Logik finden muss, ist ein Algorithmus, der die Ei-genschaften L-geschlossen, L-erfullbar, L-kompatibel effizient uberpruft. DieserAlgorithmus muss Q(P ) nicht notwendig erzeugen, sondern kann intern auchanders vorgehen.

Algorithmus fur feste Logik LGegeben einen Pfad P im Tableau. Die Menge PT (P ) der Pfadterme ist leichtzu ermitteln.Dann berechnet man die Hulle Q(P ) der Relationen, die aus allen Pfaden folgen,wobei man. je nach Logik noch spezifische Einschrankungen verwenden kann:zB in T und B kann man Welten, die von der Ursprungswelt 0 weiter entferntsind als die Lange des maximalen Pfadterms, nicht zu berucksichtigen.

156

Zwei Pfadeterme p1 und p2 sind L-kompatibel, wenn es eine Instanz gibt, die inQ(P ) ist, so dass die beiden Endwelten nach der Instanziierung gleich sind.Wenn p; 0 eine Markierung ist, dann muss man nur testen, ob p L-erfullbar ist,d.h. ob p eine Instanz hat, so dass alle Relationen aus Q(P ) sind.Wahrend des Tableau-Aufbaus benutzt man D-Instanzen bzgl Q(P ).

Algorithmen fur verschiedene Logiken K, D, B, T, S4, S4.2, S5

Logik K : Es gibt keine Bedingungen an die Relation.Sei PT (P ) eine nichtleere Menge von Pfadtermen. Wir fugen eine Anfangs-welt 0 am Anfang eines jeden Pfadterms ein. Dann berechnen wir zunachstdie (endliche) Hulle Q(P ) der Relationen fur P . Dann ist p bezuglich PK-erfullbar, wenn es eine R-Sequenz s gibt, so dass s Instanz von p ist.Leider ist die Hullenberechnung exponentiell, da man exponentiell vieleInstanzen berechnen muss.

1. p ist bezuglich P K-erfullbar, wenn eine Instanz von p in Q(P ) ist.

2. p1 und p2 sind K-kompatibel, wenn es R-Sequenzen s1 und s2 inQ(P ) gibt, so dass si Instanz von pi ist, und s1 und s2 den gleichenEndpunkt haben. D.h. dass diese Pfadterme syntaktisch gleich sind.Dies kann man prufen durch eine syntaktische Unifikation der Pfad-terme als n-Tupel, und danach durch eine Prufung, ob das ErgebnisK-erfullbar ist.

Die Prufung, ob ein Pfadterm p K-erfullbar ist, oder ob zwei Pfadtermep2, p2 K-kompatibel sind, kann polynomiell gemacht werden.

Logik D : Es gibt von jeder Welt aus stets mindestens eine erreichbare Welt.

In diesem Fall sind alle Pfadterme D-erfullbar, da man stets die Variablenmit instanziieren kann. D.h. p1 und p2 sind D-kompatibel, wenn diese uni-fizierbar sind. Diese Unifikation erfolgt als Unifikation von zwei n-Tupeln,der Test auf D-Erfullbarkeit entfallt. Diese Berechnung kann linear ge-macht werden.

Die Hullenberechnung Q(P ) erfolgt analog zur Logik K, mit einer Aus-nahme: Wenn man zu einem Pfadterm p = t1 . . . tn, der mit einer Varia-blen endet, keine Instanz in Q(P ) findet, dann darf man den Pfadtermp′ = t1 . . . tn−1 · f(x1, . . . , xk) hinzufugen, wobei f neu ist, und xi die Va-riablen in t1 · . . . · tn−1 sind. Durch diese Enschrankung bleibt die HulleQ(P ) endlich.

Die Berechnung der D-Instanzen erfolgt dann bzgl Q(P ).

Logik T : Die Relation ist reflexiv.

Die Menge der Relationen Q(P ), die aus PT (P ) und der Reflexivitat folgt,wird zunachst berechnet. Beschrankt man diese Menge auf Relationenzwischen Welten mit einem maximalen Abstand zur initialen Welt 0, dann

157

ist diese Menge endlich.Offenbar sind alle Pfadterme T -erfullbar.D.h. p1 und p2 sind T -kompatibel, wenn diese zwei Grundinstanzen habenmit gleichen Endpunkten.Dies kann man auch durch einen Unifikationsalgorithmus testen, der dieReflexivitat von R benutzen darf. Z.B. wurde 0 · x · y mit 0 · a unifizierendurch x = y = a.

Auch 0 ·x ·g(x) unifiziert mit 0 ·y. Hierbei ist zu beachten, dass die Instanzdes Pfades 0 · 0 · g(0) ist.

Logik B : Die Relation ist symmetrisch.

Sei PT (P ) eine nichtleere Menge von pfadmarkierten Formeln eines Ta-bleaupfades. Wir berechnen zunachst Q(P ). Diese Menge ist endlich, daman Pfadterme nicht verkurzen kann.

Die Algorithmen sind dann wie bei K. Der Unifikationsalgorithmus derzwei Pfadterme p1, p2 auf B-Kompatibilitat pruft, kann als Optimierungder Suche nach einer Instanz angesehen werden, die die beiden Endpunktevon p1, p2 gleich macht. Z.B. sollte man erst die Endpunkte als Termeunifizieren.

Z.B. die Pfadterme x·g(x)·y und a sind B.kompatibel, denn eine B-Instanzdes ersten Pfadterms ist a · g(a) · a.

Logik S4 : Die Relation ist reflexiv und transitiv.

Die Hullenberechnung von R erfolgt unter Ausnutzung von Reflexivitatund Transitivitat. Allerdings ist die Hulle Q(P ) i.a. nicht endlich. AllePfadterme sind S4-erfullbar. Einen Unifikationsalgorithmus fur Pfadtermeexistiert. Man kann von rechts nach links in den Pfaden die Unifizierbarkeitund parallel die Instanziierbarkeit untersuchen.zB ist 0·x·g(x) und 0·g(0) kompatibel. Nicht kompatibel sind: 0·x·g(x)·yund 0 · z · h(z) · u, da man nur Reflexivitat verwenden kann und g 6= h ist.

Logik S5 : Die Relation ist reflexiv, symmetrisch und transitiv.

Die Hullenberechnung von R erfolgt unter Ausnutzung von Reflexivitat,Symmetrie und Transitivitat. Die Hulle Q(P ) ist i.a. nicht endlich. AllePfadterme sind S5-erfullbar. p1 und p2 sind S5-kompatibel, wenn es R-Sequenzen s1 und s2 gibt, so dass si Instanz von pi ist, und s1 und s2

gleichen Endpunkt haben. Dies kann leicht syntaktisch uberpruft werden:Wenn die Paare der beiden End-Welten die Form (r, r), (r, x), (x, y), oder(x, r) haben mit x 6∈ FV (r), dann sind die Pfadterme S5-kompatibel.

Logik S4.2 : Die Relation ist reflexiv, transitiv und konfluent.

Die Hullenberechnung von R erfolgt unter Ausnutzung von Reflexivitat,und Transitivitat. Alle Pfadterme sind S4.2-erfullbar. p1 und p2 sind S4.2-kompatibel, wenn es R-Sequenzen s1 und s2 gibt, so dass si Instanz von pi

ist, und s1 und s2 gleichen Endpunkt haben. Dies ist syntaktisch leicht zu

158

prufen, da R eine Aquivalenzrelation ist: Wenn die Paare der Endweltendie Form (a, x), (x, y) oder (b, y) haben. Eine Instanz eines Pfadterms isteine variablenfreie Instanz.

11.3.2 Beispiele

Logik K

Beispiel 11.11 Wir konstruieren ein geschlossenes Tableau fur die Distributi-vitat von 2uber ∧. Dazu werden beide Richtungen getrennt bewiesen.

ε;¬(2(F ∧G) ⇒ (2F ∧2G))

ε;2(F ∧G)

ε;¬(2F ∧2G)

x;F ∧G

x;F

x;G

jjjjjjjjjjjjjjjjj

TTTTTTTTTTTTTTTTT

ε;¬2F ε;¬2G

a;¬F b;¬G

Das Tableau ist geschlossen.

159

ε;¬((2F ∧2G) ⇒ 2(F ∧G))

ε; (2F ∧2G)

ε;¬2(F ∧G)

ε;2F

ε;2G

x;F

y;G

a;¬(F ∧G)

kkkkkkkkkkkkkkkk

SSSSSSSSSSSSSSSS

a;¬F a;¬G

Das Tableau ist geschlossen.

Beispiel 11.12 In K gilt die Distributivitat von 2 uber ∨ nur in einer Rich-tung.

160

ε;¬(2(F ∨G) ⇒ (2F ∨2G))

ε;2(F ∨G)

ε;¬(2F ∨2G)

x;F ∨G

ε;¬2F

ε;¬2G

a;¬F

b;¬G

a;F ∨G

b;F ∨G

iiiiiiiiiiiiiiiiiii

SSSSSSSSSSSSSSSS

a;F a;G

kkkkkkkkkkkkkkkkkk

KKKKKKKKKK

geschlossen b;F b;G

Modell? geschlossen

Die andere Richtung gilt:

161

ε;¬((2F ∨2G) ⇒ 2(F ∨G))

ε; (2F ∨2G)

ε;¬2(F ∨G)

a;¬(F ∨G)

a;¬F

a;¬G

kkkkkkkkkkkkkkkkk

SSSSSSSSSSSSSSSSS

ε;2F ε;2G

x;F y;G

Beispiel 11.13 Es laßt sich in K nicht zeigen, dass 2F ⇒ 3F . D.h. in Klasst sich nicht zeigen, dass von jeder Welt aus eine weitere Welt erreichbar ist:

ε;¬(2F ⇒ 3F )

ε;2F

ε;¬3F

x,¬F

y, F

Das Tableau ist nicht geschlossen, da x und y nicht mit einer Konstanteninstanziiert werden konnen.

Es kann in K auch nicht bewiesen werden, dass ¬20 eine Tautologie ist:

162

ε;¬¬20

ε;20

x; 0

Das Tableau ist erschopft, aber nicht geschlossen.

Beispiel 11.14 Lobs Axiom ist 2(2F ⇒ F ) ⇒ 2F . Hier mit InstanzF = (P ∧2P )

Lobs Axiom impliziert Transitivitat:

ε;¬((2(2(P ∧2P ) ⇒ (P ∧2P )) ⇒ 2(P ∧2P )) ⇒ (2P ⇒ 22P ))

ε; (2(2(P ∧2P ) ⇒ (P ∧2P )) ⇒ 2(P ∧2P ))

ε;¬(2P ⇒ 22P )

ε;2P

ε;¬22P

x;P

a;¬2P

a · b;¬P

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

· ·

163

ε;¬2(2(P ∧2P ) ⇒ (P ∧2P )) ε;2(P ∧2P )

c;¬(2(P ∧2P ) ⇒ (P ∧2P )) y;P ∧2P

c;2(P ∧2P ) y;P

c;¬(P ∧2P ) y;2P

c · x;P ∧2P y · z;P

c · x;P geschlossen mit y 7→ a, z 7→ b

c · x;2P

WWWWWWWWWWWWWWWWWWWWWWWWWW

c;¬P c;¬2P

geschl. x 7→ c c · d;¬P

geschlossen

Logik D: seriell Einige Beispiele

Beispiel 11.15 Das Axiom 2F ⇒ 3F gilt in D

ε;¬(2F ⇒ 3F )

ε;2F

ε;¬3F

x;¬F

y;F

164

Das Tableau ist geschlossen, da x und y mit x 7→ y gleichgemacht werdenkonnen, und da es in D von jeder Welt aus, insbesondere von der initialenWelt 0 aus eine weitere gibt.

Beispiel 11.16 ¬20 ist eine D-Tautologie:

ε;¬¬20

ε;20

x; 0

Ist geschlossen, da in D alle Pfadterme erfullbar sind.

Beispiel 11.17 Reflexivitat ist nicht zu beweisen:

ε;¬(2F ⇒ F )

ε;2F

ε;¬F

x;F

Das ist nicht geschlossen, da 0 · 0 i.a. keine D-Instanz von 0 · x ist.

Logik S4

Beispiel 11.18 In S4 ist nicht beweisbar: 23F ⇒ 32F (das M-Axiom)

ε;¬(23F ⇒ 32F )

ε;23F

ε;¬32F dies entspricht 3¬F

x,3F

y, 3¬F

x · a(x), F

x · b(x),¬F

Die letzten beiden Welten a(x), b(x) lassen sich nicht gleichmachen, sind alsonicht kompatibel.

165

Beispiel 11.19 In S4 gilt: 32F ⇒ 323F :

ε;¬(32F ⇒ 323F )

ε;32F

ε;¬323F

a;2F

a · x;F

y;¬23F

y · b(y);¬3F

y · b(y) · z;¬F

Diese Tableau lasst sich schließen mit folgender S4-Instanziierung der Pfad-terme: y 7→ a, x 7→ b(a), z 7→ b(a). Dann sind a · x;F und y · b(y) · z,¬Fwiderspruchlich.

Beispiel 11.20 Zeige, dass in S4 323F ⇒ 3F gilt.

ε;¬(323F ⇒ 3F )

ε;323F

ε;¬3F

x,¬F

a,23F

a · y, 3F

a · y · b(y), F

Ist geschlossen, da b() von 0 aus erreichbar, bzw. 0 · x und 0 · a · y · b(y) S4-kompatibel sind.

Beispiel 11.21 Zeige, dass 32F ⇒ 2F nicht in S4 beweisbar ist:

166

ε;¬(32F ⇒ 2F )

ε;32F

ε;¬2F

a;¬F

b;2F

b · x;F

Ist nicht geschlossen, da die Pfadterme a und b · x nicht kompatibel in diesemPfad.S4 ist transitiv und reflexiv, aber nicht mehr. Daher kann man die offensichtlicheInstanziierung x 7→ a nicht machen, da b R a nicht gelten muss.

Logik S5

Beispiel 11.22 In S5 gilt: 3(F ∨3G) ⇒ 3F ∨3G:

167

ε;¬(3(F ∨3G) ⇒ 3F ∨3G)

ε;3(F ∨3G)

ε;¬(3F ∨3G)

a;F ∨3G

ε;¬3F

ε;¬3G

x;¬F

y;¬G

iiiiiiiiiiiiiiiiiiii

WWWWWWWWWWWWWWWWWWWWWWWWWW

a;F a;3G

geschlossen a · b, G

geschlossen, da R transitiv

D.h. diese Formel gilt auch in S4.

Beispiel 11.23 In S5 gilt: 3(F ∨2G) ⇒ 3F ∨2G

168

ε;¬(3(F ∨2G) ⇒ 3F ∨2G)

ε;3(F ∨2G)

ε;¬(3F ∨2G)

a;F ∨2G

ε;¬3F

ε;¬2G

x;¬F

b;¬G

iiiiiiiiiiiiiiiiiiii

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

a;F a;2G

geschlossen &a · y;G

geschlossen, da R Aquivalenzrelation

d.h. y = b ist erlaubt

In S4 gilt diese Formel nicht.

Beispiel 11.24 Zeige: 32F ⇒ 2F ;

169

ε;32F ⇒ 2F

ε;32F

ε;¬2F

a;¬F

b;F

b · x;F

geschlossen

Beispiel 11.25 Zeige, dass 3F ⇒ 2F nicht beweisbar ist in S5:

ε;¬(3F ⇒ 2F )

ε;3F

ε;¬2F

b;¬F

a;F

Ist nicht geschlossen, da verschiedene Endpunkte.Die sind zwar verbunden, aber nicht gleich.

11.4 Theoretische Eigenschaften des Kalkuls

Definition 11.26 Gegeben eine pfadmarkierte Formel p;F und eine Kripke-struktur M . dann ist p;F in einer Welt w gultig, wenn:

1. Fur jedes Funktionssymbol f gibt es eine Funktion fM auf den Welten.

2. Falls p = ε, dann gilt w |= F .

3. Fur Formeln x · p: fur alle Welten w′ mit w R w′ gilt w′ |= p[x 7→ w′];F

4. Fur Formeln f(w1, . . . , wn) · p gibt es eine Welt w′ = fM (w1, . . . , wn) mitwRw′ mit w′ |= p;F .

Eine Menge von pfad-markierten Formeln ist L-erfullbar, wenn es eine L-Kripkestruktur M gibt, so dass alle Formeln in M erfullbar sind. Ein Pfad istL-erfullbar, wenn die Menge der pfadmarkierten Formeln L-erfullbar ist. EinTableau ist L-erfullbar, wenn ein Pfad L-erfullbar ist.

170

Lemma 11.27 Jede Tableauregel uberfuhrt L-erfullbare Tableaus in L-erfullba-re und umgekehrt.

Beweis. Wir gehen die Tableauregeln durch: Die ¬¬ -Regel und die α-Regelnsind unproblematisch Betrachte die β-Regel. Wenn die Instanziierungsregelneinen Term t einsetzen, dann ist β1 oder β2 wahr in der Welt t. d.h., man kannbeide Pfade anhangen. Bei den anderen ist das auch klar. 2

Lemma 11.28 Vollstandigkeit des Kalkuls: Jeder erschopfte Pfad ist erfullbar.

Beweis. Zu jedem erschopften Pfad ist ein Modell zu konstruieren. Dies hangtnaturgemaß von der betrachteten Logik ab.

1. Welten konstruieren.

2. Wenn Endwelten nicht existieren, dann ist die Formel wahr.

3. Wenn am Ende eine Variable steht, und der Pfad erfullbar ist, dann ist dieFormel wahr. Ansonsten betrachte die Falle, in denen die Formel von derForm A oder ¬A ist wobei A ein Atom ist und in denen der Pfad erfullbarist. Dann sei die Interpretation so, dass fur alle Instanzen des Pfades dieentsprechende Formel wahr ist. Diese Interpretation macht keine wider-spruchlichen Zuweisungen, da die Algorithmen fur diese Logiken korrektsind (noch zu definieren).

2

Lemma 11.29 Fur die Logiken K,D,T,B,S4, S5, S4.2 gibt es Algorithmen diedie Kompatibilitat und Erfullbarkeit von Pfaden entscheiden.

Beweis. ? 2

Lemma 11.30 Kalkul TKML terminiert fur Logiken K, T, B, D

Beweis. Es gilt, dass fur diese Logiken die Algorithmen fur Kompatibilitat undErfullbarkeit Entscheidungsverfahren sind. Alle Formeln außer px, β werden nureinmal pro Pfad expandiert. Formeln werden immer kleiner. Wir betrachtenden Fall, dass eine Formel px, β instanziiert und hinzugefugt wird. Das kannfur K und D nur endlich oft geschehen, da es keine Verkurzungsmoglichkeit furPfade gibt. Fur die Logik T und B muss man anders argumentieren: Die Anzahlder nichtvariablen Terme in einem Pfad, die fur eine Welt-variable eingesetztwerden konnen, bleibt endlich, denn fur jeden solchen Term kann man einen

”Abstand“ von der initialen Welt definieren. 2

Satz 11.31 Der oben angegebene Tableaukalkul entscheidet Tautologien in denfolgenden aussagenlogischen Modallogiken: K, T, B, D.

171

Beispiel 11.32 Der Kalkul terminiert nicht fur S4. Versuche Grz: (2(2(F ⇒2F ) ⇒ F ) ⇒ F ) in S4 zu zeigen:

0;¬(2(2(F ⇒ 2F ) ⇒ F ) ⇒ F )

0;2(2(F ⇒ 2F ) ⇒ F )

0;¬F

0x; (2(F ⇒ 2F ) ⇒ F )

00; (2(F ⇒ 2F ) ⇒ F )

00;¬2(F ⇒ 2F ) 00;F

00a;¬(F ⇒ 2F ) geschlossen

00a;F

00a;¬2F

00ab;¬F

(Transitivitat und Instanz)

0b;¬2(F ⇒ 2F ) 0b;F

0bc;¬(F ⇒ 2F ) geschlossen

0bc;F

0bc;¬2F

0bcd;¬F

. . .

Man kann mit d statt b das ganze wiederholen . . .Dies terminiert nicht, da manimmer wieder neue Konstanten erzeugt.

Allerdings gilt:

Satz 11.33 In S4 und S5 ist die Tautologieeigenschaft entscheidbar.

Beweis. (siehe Hughes und Cresswell).Abhilfe im Falle unseres Tableaukalkuls.

172

Die Logiken S4 und S5 haben die endliche Rahmeneigenschaft. D.h. Wenn eineFormel nicht gilt, so existiert ein endlicher Rahmen, der die Formel widerlegt.Z.B. oben: mit b = 0 erhalt man:

0 −→ a −→ 0

¬F F ¬F

¬2F ¬(F ⇒ 2F )

¬2(F ⇒ 2F )

(2(F ⇒ 2F )) ⇒ F

¬2((2(F ⇒ 2F )) ⇒ F ) ⇒ F

Die Idee zur Abhilfe ware alle Moglichkeiten durchzuspielen, wie man syntak-tisch verschiedene Welten identifizieren konnte. Dies erfordert Tableau-Regeln,die keine Formeln abbauen, sondern die Moglichkeiten aufzahlen, wie Welten-terme gleich gemacht werden konnen.Dies erlaubt auch einen Tableaukalkul fur die Logik S4.3.1, die Logik der deter-ministischen Zeit, die auf dem Kripke-Rahmen (N,<) basiert, d.h. die Weltensind die naturlichen Zahlen und die Relation ist die <-Relation. (Beispiel sieheunten)Allerdings ist dadurch die Terminierung nicht garantiert.

11.4.1 Logische Folgerung

Die Tableaukalkule fur die verschiedenen Modallogiken konnen in der jetzigenForm Tautologien nachweisen, aber nur unvollstandig die logische FolgerungF |= G, da das Deduktionstheorem nicht gilt (siehe 11.2). Ein weiteres Gegen-beispiel zum Deduktionstheorem ist:

Beispiel 11.34 Es gilt X |= 2X, aber X ⇒ 2X ist keine Tautologie, wenn Xeine Variable ist:X |= 2X ist die Regel der 2-Einfuhrung. Es ist leicht zu sehen, dass das immergilt. Die Formel X ⇒ 2X wird falsch in einer Kripke-struktur (bzw. in einemRahmen oder einer Logik), wenn es moglich ist, zwei Welten w1, w2 zu haben mitw1 R w2 und w1 |= X, aber w2 6|= X. Solche Kripkestrukturen gibt es in allenLogiken, die wir bis jetzt betrachtet haben. Also gilt in keiner dieser Logiken dasDeduktionstheorem.

Um F |= G nachzuweisen, kann man versuchen, stattdessen F ⇒ G nachzu-weisen, und hat im Erfolgsfalle auch die Folgerung nachgewiesen. Da das abernicht immer geht, muss man die Schlussweisen bzw. die entsprechenden Ta-bleaukalkule erweitern:

173

Zum Nachweis der Folgerung F |= G starte mit ¬G an der Wurzel und benutzedie ublichen Tableauregeln.Folgende Regel kann man ebenfalls verwenden:

(ModFolg) Sei F1, . . . , Fn die Menge der Formeln, die man als Voraussetzung hat.

Wenn p ein Pfadterm auf dem Tableaupfad P ist, dann erweitere den Pfad mitp, Fi fur ein i.

Beispiel 11.35 Zu zeigen ist die Folgerung 3X |= 33X.

ε;¬33X

x;¬3X

x · y;¬X

ε;3X

a;X

a;3X

a · b;X

geschlossen

Nach zweimaliger Verwendung der Regel (ModFolg) ist das Tableau geschlossen

11.4.2 Normalformen und iterierte Modalitaten.

Die Logik S5 hat die interessante Eigenschaft, dass sich alle Formeln in eine Nor-malform bringen lassen, in der Modaloperatoren nicht im Bereich von anderenModaloperatoren vorkommen.Die folgenden Transformationen bewirken diese Normalform:

1. Schiebe alle Negationszeichen nach innen unter Benutzung folgender Ver-einfachungen:

174

¬¬F → F

¬2F → 3¬F

¬3F → 2¬F

¬(F ∨G) → ¬F ∧ ¬G

¬(F ∧G) → ¬F ∨ ¬G

2. Wende folgende Transformationen an:

(a)

22F → 2F

32F → 2F

23F → 3F

33F → 3F

(b)

3(F ∨G) → 3F ∨3G

3(F ∧3G) → 3F ∧3G

3(F ∧2G) → 3F ∧2G

(c)

2(F ∧G) → 2F ∧2G

2(F ∨3G) → 2F ∨3G

2(F ∨2G) → 2F ∨2G

Wende auch die symmetrischen Regeln an fur ∧,∨

Wenn keine der Transformationen anwendbar und F nicht in modaler Normal-form ist, dann liegt einer der Falle 3(F ∧G) oder 2(F ∨G) vor und F und G

175

haben keinen Modaloperator als obersten Operator, aber in F oder G befindensich noch Modaloperatoren. Es ist keine Einschrankung wenn wir im Falle, dass3(F ∧G) vorkommt, annehmen, dass der Operator in F vorkommt und F eineDisjunktion F1∨F2 ist. Wir konnen ein Distributivgesetz verwenden und erhal-ten fur 3((F1 ∨ F2) ∧ G) die Formel 3((F1 ∧ G) ∨ (F2 ∧ G)). Anwenden derDistributivitat von 3 uber ∨ ergibt 3(F1 ∧ G) ∨ 3(F2 ∧ G). Im anderen Fallkonnen wir genauso verfahren.Die Normalformen konnen unter den Modaloperatoren allerdings beliebige aus-sagenlogische Ausdrucke enthalten.In anderen Logik-Varianten wie S4, D, K, usw. gibt es keine vergleichbare Nor-malform, allerdings lassen sich teilweise die iterierten Modalitaten reduzieren.In S4 beispielsweise gibt es nur 7 Modalitaten, fur die folgendes Implikations-diagramm gilt:

F

F

F

F

F

F

F

11.4.3 Anwendungen in der Zeitlogik (temporale Logik)

Die Modaloperatoren bedeuten:

1. in deterministischer (linearer) Zeit: Logik S4.3.1.

2F von jetzt ab gilt stets F .

3F es gibt einen Zeitpunkt in der Zukunft, an dem F gilt.

2. verzweigende Zeit (nichtdeterministische Prozesse)

2F von jetzt ab gilt stets F

3F es ist moglich, dass F in der Zukunft gilt. (bzw. Esgibt einen moglichen Ablauf des Prozesses, so dassirgendwann in der Zukunft F gilt.

11.4.4 lineare, diskrete, deterministische Zeit

Wir konnen zum Nachweis von Tautologien den S4-Kalkul nehmen.

176

In linearer Zeit gilt z.B. folgendes Axiom:

(3F ∧3G) ⇒ (3(F ∧3G) ∨3(F ∧G) ∨3(3F ∧G)

Das entspricht der Aussage, dass zwei Ereignisse E1, E2 entweder gleichzeitig,oder E1 vor E2 oder E2 nach E1.Normalerweise hat eine Zeitlogik weitere Modaloperatoren fur die Vergangen-heit, die dual zu 2,3 sind.

2 = G gilt ab jetzt immer

3 = F gilt irgendwann in der Zukunft

2P = H galt immer in der Vergangenheit

3P = P galt irgendwann in der Vergangenheit

Als Zusammenhang zwischen Zukunft und Vergangenheit braucht man Axiome,wie z.B. die ”K-Axiome der Zeit“:

2(F ⇒ G) ⇒ (2F ⇒ 2G)

2P (F ⇒ G) ⇒ (2P F ⇒ 2P G)

F ⇒ 22P F

F ⇒ 2P 2F

Fur lineare Zeit braucht man dann auch das duale Axiom:

(3P F ∧3P G) ⇒ (3P (F ∧3P G) ∨3P (F ∧G) ∨3P (3P F ∧G)

Beispiel 11.36 Als Beispiel zeigen wir in einer deterministischen Zeit: Wennnach Ostern Weihnachten kommt und nach Weihnachten wieder Ostern und abirgendwann ist immer Weihnachten, dann ist irgendwann danach Ostern:2(O ⇒ 3W ) ∧2(W ⇒ 3O) ⇒ (32W ⇒ 3O)

Wie nehmen den S4-Tableaukalkul:

177

ε;¬(2(O ⇒ 3W ) ∧2(W ⇒ 3O) ⇒ (32W ⇒ 3O))

ε;2(O ⇒ 3W )

ε;2(W ⇒ 3O)

ε;¬(32W ⇒ 3O)

x, O ⇒ 3W

y, W ⇒ 3O)

ε;32W

ε;¬(3O)

a;2W

az;W

u;¬O

a;W ⇒ 3O

a;¬W a;3O

geschlossen ab;O

da S4 reflexiv geschlossen, da S4 transitiv

Beispiel 11.37 (32F ∧32G) ⇒ 32(F ∧G)Intuitiv: Wenn ab einem Zeitpunkt stets F gilt, und ab einem Zeitpunkt stetsG gilt, dann gibt es auch einen Zeitpunkt, ab dem stets beides, namlich F ∧ Ggilt. Dies gilt nicht fur verzweigende Zeit, da dort der Operator 3 eine andereBedeutung hat.

178

ε;¬((32F ∧32G) ⇒ 32(F ∧G))

ε;32F

ε;32G

ε;¬32(F ∧G)

a;2F

b;2G

ax;F

by;G

u;¬2(F ∧G)

uc;¬(F ∧G)

a = b a < b b < a

ac;¬F ac,¬G bc,¬F bc,¬G ac,¬F ac,¬G

geschl. geschl. geschl. geschl. geschl. geschl.

Axiome fur dichte Zeit

3F ⇒ 33F

kann man ansehen als Formulierung von: zwischen zwei Zeitpunkten gibt esimmer noch einen weiteren. Dieses Axiom beschreibt auch gerade die Kripke-Rahmen, die diese Eigenschaft haben.Axiome fur diskrete Zeit

F ∧2P F ⇒ 32P F

F ∧2F ⇒ 3P 2F

179

12 Gleichheitsbehandlung

Das bekannte Leibnizsche Prinzip besagt, dass zwei Dinge gleich sind, wennsie bezuglich aller ihrer Eigenschaften gleich sind. In jedem beliebigen Kontextkann daher ”Gleiches durch Gleiches“ ersetzt werden. Diese grundlegende Ei-genschaft wird so haufig ausgenutzt, dass sie wohl jedem gelaufig ist, der schonmit Gleichungen hantiert hat.Traditionell wird die Gleichheit mit dem binaren Symbol ”=“ bezeichnet.In einer Logik hoherer Ordnung kann man Gleichhheit leicht definieren underklaren durch:

∀x, y : x = y ⇔ ∀P : P (x) ⇔ P (y)

Allerdings ist das nicht direkt in PL1 ubersetzbar.

Beispiel 12.1 Der Beweis des folgenden Theorems zeigt, welche typischenSchwierigkeiten bei Gleichheitsbeweisen auftreten. Zu zeigen sei: Eine Gruppemit ∀x : x2 = 1 ist kommutativ. Die Axiome einer Gruppe mit einem zweistel-ligen Verknupfungssymbol • und einer einstelligen Funktion i (Inverses) sind:

∀x, y, z : (x • y) • z = x • (y • z) (Assoziativitat)

∀x : 1 • x = x (Links-Eins)

∀x : x • 1 = x (Rechts-Eins)

∀x : i(x) • x = 1 (Links-Inverses)

∀x : x • i(x) = 1 (Rechts-Inverses)

Als zusatzliche Voraussetzung soll gelten:

∀x x • x = 1 (Voraussetzung)

Die Behauptung ist nun:

∀x, y : x • y = y • x

Ein Beweis der Kommutativitat wird zum Beispiel durch folgende Gleichungs-kette gefuhrt:

180

(1) x • y = (1 • x) • y (Links-Eins)

(2) = ((y • y) • x) • y (Voraussetzung)

(3) = ((y • y) • x) • (y • 1) (Rechts-Eins)

(4) = ((y • y) • x) • (y • (x • x)) (Voraussetzung)

(5) = (y • ((y • x) • (y • x))) • x (mehrmals Assoziativitat)

(6) = (y • 1) • x (Voraussetzung)

(7) = y • x (Rechts-Eins)

Der Beweistrick besteht darin, an den richtigen Stellen mit dem Einselementzu erweitern, das Einselement durch Anwendung der Voraussetzung geschicktdarzustellen, umzuklammern und wieder zusammenzufassen. Welche der Um-formungen in jedem einzelnen Schritt durchgefuhrt werden mussen, um zumZiel zu kommen, ist zunachst jedoch uberhaupt nicht zu erkennen. Zum Beispielwaren nach Schritt (3) auch die Operationen

(3) ((y • y) • x) • (y • 1) = (1 • x) • (y • 1) (Voraussetzung)

oder ((y • y) • x) • (y • 1) = ((y • y) • x) • (y • (1 • 1)) (Links- oder Rechts-Eins)

oder ((y • y) • x) • (y • 1) = ((y • y) • x) • ((y • 1) • 1) (Rechts-Eins)

oder ((y • y) • x) • (y • 1) = ((y • y) • x) • ((1 • y) • 1) (Links-Eins)

oder ((y • y) • x) • (y • 1) = (y • (y • x)) • (y • 1) (Assoziativitat)

oder ((y • y) • x) • (y • 1) = ((y • y) • x) • (y • (i(w) • w)) (Links-Inverses)

sowie noch etliche andere ausfuhrbar. Von jedem dieser nutzlosen Schritte ausgibt es wiederum eine Vielzahl weiterer alternativer Umformungen, so dassdurch reines Ausprobieren aller Moglichkeiten ca. 1011 Versuche notwendig sind,um endlich zur anderen Seite der Gleichung zu kommen.

12.1 Formalisierung der Gleichheit innerhalb der Pradi-katenlogik

In PL1 kann das Gleichheitspradikat = nur dann durch eine endliche Axiomen-menge formalisiert werden, wenn man die Signatur (Funktionssymbole, Pradika-

181

tensymbole) kennt und wenn diese endlich ist. Eine unabhanigige Axiomatisie-rung ist erst in Logik einer hoheren Stufe moglich. In PL1 kann man stattdessendie benotigte Axiomenmenge durch Instanziierung eines ”Axiomenschemas“ er-zeugen:

Definition 12.2 Axiomenschema fur die Gleichheit:

∀x : x = x (Reflexivitat)

∀x, y : x = y ⇒ y = x (Symmetrie)

∀x, y, z : x = y ∧ y = z ⇒ x = z (Transitivitat)

Fur jedes Argument von jedem in der Formelmenge vorkommenden

Funktionssymbol f wird ein Substitutionsaxiom folgender Form benotigt:

∀x1, . . . , xn, y : xi = y ⇒ f(x1, . . . , xi, . . . , xn) = f(x1, . . . , y, . . . , xn)

Fur jedes Argument von jedem in der Formelmenge vorkommenden

Pradikatensymbol P wird ebenfalls ein weiteres Substitutionsaxiom benotigt:

∀x1, . . . , xn, y : xi = y ∧ P (x1, . . . , xi, . . . , xn) ⇒ P (x1, . . . , y, . . . , xn)

Eine naive Methode, um Gleichheitsbeweise im Rahmen der Pradikatenlogik zuautomatisieren, ware also, zu den gegebenen Formeln nach dem obigen Sche-ma die notigen Gleichheitsaxiome hinzuzufugen und dann mit Resolution einenBeweis zu suchen. Wenn man das fur das Gruppenbeispiel von oben durchfuhrtund den Beweis im Resolutionskalkul nachrechnet, wird man feststellen, dasserstens die einzelnen Umformungsschritte sehr umstandlich durch mehrere Re-solutionsschritte nachgebildet werden mussen, und dass zweitens der Suchraumdurch neue Ableitungsmoglichkeiten mit den Gleichheitsaxiomen noch weiteranwachst, in diesem Fall bis auf ca. 1021 Ableitungen bei reiner Breitensuche.Diese Vorgehensweise ist also nicht praktikabel.Da die Formalisierung der Gleichheit mit den obigen Axiomen nicht zu brauch-baren Ergebnissen fuhrt, hat man schon fruh versucht, diese Relation unmittel-bar in die Logik einzubauen. In den jeweiligen Kalkulen konnen dann spezielleAbleitungsoperationen, die deren Bedeutung direkt ausnutzen, formuliert wer-den.Der modelltheoretische Einbau in die Logik geschieht, indem man von allenmoglichen Interpretationen fur Formeln nur noch diejenigen zulaßt, bei denendas Symbol = die Identitat in Σ-Strukturen abgebildet wird. Die heißen dann E-Interpretationen (E von equality) oder Gleichheitsinterpretationen. Aquivalent

182

ist, dass die Gleichheit eine Kongruenz auf der Menge der Elemente des Modellsist.Mit Hilfe der E-Interpretationen lassen sich jetzt die anderen semantischen Be-griffe wie E-Modelle, E-Folgerung, E-erfullbar und E-unerfullbar in der ublichenWeise definieren.

12.2 Paramodulation

Eine naturliche, in der Mathematik haufig verwendete Regel zur Behandlungder Gleichheit beruht auf dem Prinzip der Untertermersetzung: In beliebigemKontext kann Gleiches durch Gleiches ersetzt werden. Ahnlich wie bei Resolu-tion ist auch hierbei in vielen Fallen die Anwendung einer Instanziierungsregelnotig, um die Voraussetzungen fur die Anwendbarkeit der Untertermersetzungherzustellen, wobei Unifikation willkurliche Instanziierungen uberflussig machtund stattdessen ein zielgerichtetes Instanziieren auf der allgemeinsten Ebeneermoglicht. So wie der Modus Ponens unter Verwendung des Unifikationsprin-zips zur Resolution verallgemeinert wurde, haben G. Robinson und L. Wos auchdie Gleichheitsersetzungsregel zur Paramodulationsregel verallgemeinert.Formal wird die Paramodulationsregel wie folgt definiert:

Definition 12.3 (Paramodulation)

C1 := {L1[s], L2, . . . , Ln}

C2 := {l = r, K2, . . . ,Km}

P := σ{L1[r], L2, . . . , Ln,K2, . . . ,Km}

Hierbei enthalt L1[s] den Unterterm s, s und l sind unifizierbar mit dem allge-meinsten Unifikator σ (d.h. σs ≡ σl) und P ist Paramodulant der Klauseln C1

und C2, wobei L1[r/s] aus L1 durch Ersetzen des Terms s durch den Term rentsteht.

Paramodulation konnte man als bedingte Ersetzung bezeichnen, wobei die rest-lichen Literale der Klauseln wie Bedingungen wirken und in der Paramodulantedie Bedingungen aufgesammelt werden. Die einfachste Variante ist die Paramo-dulation ohne Bedingungen. Dies wird auch Termersetzung genannt:

C1 := {L[s]}

C2 := {l = r}

P := σ{L[r]}

183

wobei σ allgemeinster Unifikator von s und l.

Beispiel 12.4 Fur einen Paramodulationsschritt.

C1 := {P (c, h(f(a, y), b))}

C2 := {f(x, e) = g(x), Q(x)}

P := {P (c, h(g(a), b)), Q(a)}

P = {P (c, h(g(a), b)), Q(a)} ist Paramodulant der beiden Klauseln. Die Termef(a, y) und f(x, e) sind unifizierbar mit {x 7→ a, y 7→ e}. Diese Substitutionmuss auf die neue Klausel angewendet werden.

Paramodulation ist in zweifacher Hinsicht allgemeiner als die oben erwahnteRegel ”Gleiches durch Gleiches zu ersetzen“:

1. Paramodulation ist nicht nur mit unbedingten, sondern auch mit beding-ten Gleichungen anwendbar, das heißt die Gleichungs-Klausel kann nochweitere Literale enthalten.

2. Die beiden Terme, welche eine Ersetzung ermoglichen sollen, mussen nichtgleich, sondern lediglich unifizierbar sein, was bedeutet, dass es Instanzender beteiligten Klauseln geben muss, so dass die entsprechenden Termegleich sind.

12.3 Eigenschaften der Paramodulation

Die Paramodulationsregel ist korrekt: falls S eine E-erfullbare (bzw. E-unerfull-bare) Menge von Klauseln und C Paramodulant von zwei Klauseln aus S ist,dann ist auch S ∪ {C} E-erfullbar (bzw. E-unerfullbar).Erweitert man den Resolutionskalkul um die Paramodulationsregel und erwei-tert die Eingabeklauseln um die Klausel (das Axiom) {x = x}, dann erhalt manden RP-Kalkul fur die Pradikatenlogik erster Stufe mit Gleichheit.

Dieser ist widerlegungsvollstandig: fur jede E-unerfullbare Mengevon Klauseln existiert eine Ableitung der leeren Klausel unter An-wendung der Regeln und Axiome des Kalkuls.

Das Reflexivitatsaxiom ist notig, da andernfalls die leere Klausel nicht aus derE-unerfullbaren, einelementigen Klauselmenge {{¬a = a}} ableitbar ware.Verglichen mit der expliziten Verwendung der Gleichheitsaxiome ist der Such-raum fur die Ableitung der leeren Klausel durch Einfuhrung der Paramodula-tion deutlich kleiner. Viele der sinnlosen Resolutionen mit und zwischen denGleichheitsaxiomen sind nicht mehr moglich. Trotzdem sind die entstehendenSuchraume ohne geschickte heuristische Steuerung der Paramodulation noch

184

viel zu groß, da auch diese Regel fast uberall in der Klauselmenge angewendetwerden kann. Fur das obige Gruppenbeispiel sind nach Alan Bundy bei reinerBreitensuche etwa 1011 Paramodulationsschritte versuchsweise notig, um denBeweis des Satzes zu finden.

Beispiel 12.5 fur Kombination von Resolution und Paramodulation.Zu zeigen ist: Das Einselement einer Untergruppe ist dasselbe wie das Einsele-ment der Gruppe selbst.

Axiomatisierung:

∀X, Y : X ⊆ Y ⇒ (∀x : x ∈ X ⇒ x ∈ Y ) (Teilmengenbeziehung)

∀X : Gruppe(X) ⇒ (∀x : x ∈ X ⇒ x ∗ inv(x) = id(X)) (Def. Einselement)

∀X : Gruppe(X) ⇒ id(X) ∈ X

∀X, Y : Gruppe(X) ∧Gruppe(Y ) ∧X ⊆ Y ⇒ id(X) = id(Y ) (Theorem)

Klauselform:

C1 : ¬X ⊆ Y,¬x ∈ X, x ∈ Y

C2 : ¬Gruppe(X),¬x ∈ X, x ∗ inv(x) = id(X)

C3 : ¬Gruppe(X), id(X) ∈ X

T1. Gruppe(A)

T2 : Gruppe(B)

T3 : A ⊆ B

T4 : id(A) 6= id(B)

Resolutions- und Paramodulationswiderlegung:

185

C1, 1 + T3 ` R1 : ¬x ∈ A, x ∈ B

C2, 1 + T1 ` R2 : ¬x ∈ A, x ∗ inv(x) = id(A)

C3, 1 + T1 ` R3 : id(A) ∈ A

R2, 1 + R3 ` R4 : id(A) ∗ inv(id(A)) = id(A)

C2, 1 + T2 ` R5 : ¬x ∈ B, x ∗ inv(x) = id(B)

R1, 2 + R5, 1 ` R6 : ¬x ∈ A, x ∗ inv(x) = id(B)

R6, 1 + R3 ` R7 : id(A) ∗ inv(id(A)) = id(B)

R7, 1r + T4 ` R8 : id(A) ∗ inv(id(A)) 6= id(A) (Paramodulation)

R4 + R8 ` R9 : 2

186

13 Verwendung von Theorien: SemantischeAnsatze: Theorieresolution

Die Theorieresolution ist ein Schema, um Information uber die Bedeutung vonPradikaten- und Funktionssymbolen unmittelbar im (Resolutions-) Kalkul aus-zunutzen, indem man anstelle von Axiomen fur diese Symbole maßgeschneiderteSchlussregeln verwendet. Sie wurde von Mark Stickel am SRI allgemein formu-liert. Viele Spezialfalle davon, u.a. Paramodulation, waren jedoch schon vorherunter anderen Namen bekannt.Z.B. ist es dadurch moglich, direkt mit arithmetischen Bedingungen umzugehen,die man ohne diese Technik nur direkt (und umstandlich) in Pradikatenlogikkodieren kann.Zur Motivation der Vorgehensweise erinnern wir uns an die Begrundung fur dieKorrektheit der einfachen Resolutionsregel:

Klausel1: L,K1, . . . ,Kn

Klausel2: ¬L,M1, . . . ,Mm

Resolvente: K1, . . . ,Kn,M1, . . . ,Mm

Das entscheidende Argument dafur, dass die Resolvente aus den Elternklauselnfolgt, war: wenn eine Interpretation das Literal L erfullt, dann falsifiziert sie¬L. Wesentlich ist also, dass keine Interpretation sowohl L als auch ¬L erfullenkann. Diese Eigenschaft haben zwei Literale dann, wenn sie die rein syntaktischeBedingung erfullen, komplementar zu sein, also ubereinstimmende Pradikaten-symbole und Termlisten, aber verschiedene Vorzeichen zu besitzen.In vielen Fallen kann man den syntaktischen Komplementaritatsbegriff verall-gemeinern, indem man ausnutzt, dass nicht vollig beliebige, sondern nur be-stimmte Klassen von Interpretationen in Frage kommen. Zum Beispiel konnteeine Formelmenge geeignete Axiome fur das Pradikatensymbol < enthalten, sodass nur solche Interpretationen Modelle sein konnen, die dem Symbol < einestrikte Ordnungsrelation auf dem Universum zuordnen. Aufgrund der Eigen-schaften solcher Relationen kann keine derartige Interpretation sowohl a < b alsauch b < a erfullen. In dem genannten Kontext sind diese beiden Literale zwarnicht syntaktisch, aber sozusagen semantisch komplementar, und auch folgenderAbleitungsschritt ist korrekt:

Klausel1: a < b,K

Klausel2: b < a,M

Resolvente: K, M

187

Als weitere Verallgemeinerung konnen wir sogar die Beschrankung auf zwei El-ternklauseln aufgeben. Keine Interpretation der genannten Klasse kann sowohla < b als auch b < c als auch c < a erfullen. Damit kann man analog zur Be-grundung fur die einfache Resolution, nur mit mehr Fallunterscheidungen, auchfolgenden Schritt als korrekt nachweisen:

Klausel1: a < b,K

Klausel2: b < c, M

Klausel3: c < a,N

Resolvente: K, M

Die Idee ist also, von dem Spezialfall zweier syntaktisch komplementarer Re-solutionsliterale uberzugehen zu einer beliebigen Menge von Literalen, so dasskeine Interpretation einer gegebenen Klasse alle diese Resolutionsliterale erfullenkann. Die ”Klasse von Interpretationen“ wird durch den Theoriebegriff prazi-siert.Einer erfullbaren Menge A von Formeln laßt sich in PL1 eindeutig die Klas-se M ihrer Modelle zuordnen, also von Interpretationen, die die Formeln wahrmachen. Dieser Klasse von Interpretationen entspricht wiederum eindeutig eine(unendliche) maximale Menge T von Formeln, die von allen Interpretationen inM erfullt werden. Die Formelmenge T ist maximal in dem Sinn, dass jede wei-tere Formel die Modellklasse M einschrankt, also von wenigstens einem Modellfur A falsifiziert wird. Per definitionem ist T gerade die Menge der Folgerungenaus A . In dieser Sichtweise enthalten M und T dieselbe Information, und beidewerden oft als Theorie bezeichnet. Da verschiedene Formelmengen dieselben Mo-delle haben konnen, stellt ein gegebenes A nur eine Alternative dar, die Theoriezu definieren. Man nennt A auch eine Prasentation oder Axiomatisierung derTheorie.

Definition 13.1 (Theorien)Fur eine Formelmenge A ist: Theorie(A) = Menge aller Modelle von A ∼Mengealler Formeln, die in allen Modellen von A gelten.Sei T eine gegebene Theorie:

T -erfullbar:: Eine Formel F ist T -erfullbar, falls es ein Modell von T gibt,das F erfullt.

T -unerfullbar:: Eine Formel F ist T -erfullbar, falls es kein Modell von T gibt,das F erfullt.

T -allgemeingultig: Eine Formel F ist T -allgemeingultig: falls F in allen Mo-dellen von T gilt.

188

T -Folgerung F |=T G Falls G in allen T -Modellen von F gilt.

Sei beispielsweise A die Menge {∀x, y : P (x, y) ⇒ P (y, x)}, die nur aus demSymmetrieaxiom fur P besteht. Die Theorie T ergibt sich dann aus allen In-terpretationen, die dem Pradikatensymbol P eine symmetrische Relation aufdem Universum zuordnen. Die Formel P (a, b)∧¬P (b, a) ist erfullbar, aber nichtT -erfullbar. P (b, a) ist eine T -Folgerung von P (a, b).

Definition 13.2 (Totale Theorieresolution ohne Unifikation) Das aus-sagenlogische Schema fur die totale Theorieresolution sieht nun folgendermaßenaus: Seien eine Theorie T und Klauseln C1, . . . , Cn gegeben, und jede Klauselenthalte ein Literal Li, so dass die Konjunktion all dieser Literale T -unerfullbarist. Die Vereinigung der n Klauseln abzuglich dieser Resolutionsliterale Li er-gibt eine T -Resolvente. Diese ist eine T -Folgerung von C1∧ . . .∧Cn. Graphisch:

L1

Ln

2L

Theorieresolvente

Res

olut

ions

liter

ale

uner

füllb

ar in

der

The

orieT

Analog zur einfachen Resolution muss die Konjunktion der Li im pradika-tenlogischen Fall nicht unmittelbar T -widerspruchlich sein. Man benotigt ei-ne Substitution σ, einen T -Unifikator, so dass die Formel σL1 ∧ . . . ∧ σLn T -widerspruchlich ist. Die T -Resolvente muss dann mit σ instanziiert werden.Allerdings ist ein allgemeinster T -Unifikator fur eine Menge von Ausdruckennicht mehr bis auf Variablenumbenennung eindeutig bestimmt. Abhangig vonT kann es einen, endlich viele oder unendlich viele voneinander unabhangigeallgemeinste T -Unifikatoren geben. Zwei Substitutionen werden dabei als un-abhangig bezeichnet, wenn sich nicht eine durch Instanziierung von Variablenaus der anderen ergibt. In bosartigen Fallen existieren uberhaupt keine allge-meinsten T -Unifikatoren, sondern nur nicht-allgemeinste.Eine Theorie mit endlich vielen T -Unifikatoren ist die oben erwahnte Theorieder Symmetrie von P , die maximal zwei allgemeinste Unifikatoren erzeugt. Fur

Klausel 1: P (a, b), Q

Klausel 2: ¬P (x, y), R(x)

189

besitzen die beiden ersten Literale die T -Unifikatoren σ1 = {x 7→ a, y 7→ b} undσ2 = {x 7→ b, y 7→ a}, so dass die zwei unabhangigen T -Resolventen {Q,R(a)}und {Q,R(b)} abgeleitet werden konnen.Das Konzept der Theorieresolution erlaubt, haufig vorkommende Standard-interpretationen von Symbolen wesentlich naturlicher und effizienter als mitder ublichen Axiomatisierung und normaler Resolution zu handhaben. Die In-formation uber die spezielle Theorie steckt dabei in erster Linie im Unifika-tionsalgorithmus, der allerdings fur jede Theorie neu entwickelt werden muss.Um die Widerlegungsvollstandigkeit der Theorieresolutionsverfahren sicherzu-stellen, muss der verwendete Theorieunifikationsalgorithmus alle allgemeinstenUnifikatoren erzeugen bzw. im unendlichen Fall zumindest aufzahlen konnen.Der fur die Realisierung der Theorieresolution erforderliche Unifikationsalgo-rithmus ist fur manche Theorien zu aufwendig oder uberhaupt nicht bekannt.Dies gilt insbesondere, wenn die Theorie eigentlich aus mehreren Untertheorienbesteht, die aber nicht unabhangig voneinander sind. Als Beispiel betrachtenwir die Theorie T1 der Interpretationen, die dem Pradikatensymbol ≤ (anti-symmetrische) Ordnungsrelationen zuordnen, sowie die Theorie T2 der Inter-pretationen, die dem Pradikatensymbol = die Gleichheitsrelation zuordnen.Die Kombination dieser beiden Theorien macht die Konjunktion der Literalea ≤ b, b ≤ a, P (a),¬P (b) unerfullbar, so dass sie ohne weiteres als Resolutions-literale fur eine Theorieresolution in Frage kommen. Ein Algorithmus, der daserkennen kann, mußte jedoch genau fur die Kombination dieser beiden Theo-rien konzipiert sein. Sobald eine dritte hinzukommt, ist er nicht mehr anwend-bar. Deshalb versucht man, Algorithmen fur einzelne Theorien zu entwickelnund einen allgemeineren Mechanismus verfugbar zu machen, der den Austauschzwischen beliebigen Theorien besorgt.Betrachten wir die Kombination der genannten Theorien und folgende Klauseln:

Klausel1: a ≤ b, K

Klausel2: b ≤ a, L

Klausel3: P (a), M

Klausel4: ¬P (b), N

Daraus mußte eigentlich die Resolvente {K, L, M, N} ableitbar sein. Dies kannman durch einen verallgemeinerten T1-Schritt und einen anschließenden T2-Schritt erreichen. Wenn eine Interpretation in der Theorie T1 sowohl a ≤ bals auch b ≤ a erfullt, dann muss sie wegen der Antisymmetrie auch das Literala = b erfullen. Man sieht leicht, dass deshalb die Klausel {a = b, K,L} eineT1-Folgerung aus Klausel 1 und Klausel 2 ist. Die Literale a = b, P (a),¬P (b)konnen dann von dem Algorithmus fur T2 als Resolutionsliterale fur eine Gleich-heitstheorieresolution zwischen der neuen Klausel sowie Klausel 3 und Klausel4 erkannt werden, womit die gewunschte Klausel {K, L, M, N} entsteht.

190

Der erste Schritt geht uber die Theorieresolution im bisherigen Sinn hinaus,da die Konjunktion der Resolutionsliterale allein noch nicht unerfullbar in derTheorie ist, und da ein neues Literal abgeleitet und in die Resolvente aufge-nommen wurde. Dieses sogenannte Residuum hat die Eigenschaft, dass es in derTheorie aus den Resolutionsliteralen folgt. Sein Pradikatensymbol braucht nichteinmal in den Elternklauseln vorzukommen. Ist ein Residuum beteiligt, sprichtman von partieller Theorieresolution, andernfalls von totaler Theorieresolution.Als Residuum kann man auch eine Disjunktion von mehreren Literalen zulassen.Das leere Residuum steht dann wie die leere Klausel fur ”falsch“ und folgt dahernur dann aus den Resolutionsliteralen, wenn deren Konjunktion T -unerfullbarist. Dieser Spezialfall entspricht der totalen Theorieresolution.

Definition 13.3 (Allgemeine (partielle) Theorieresolution) Seien eineTheorie T und Klauseln C1, . . . , Cn gegeben, und jede Klausel enthalte ein Li-teral Li, so dass fur eine Substitution σ gilt: σL1 ∧ . . . ∧ σLn |=T Residuum,dann ist σ((C1 \ L1) ∪ . . . ∪ (Cn \ Ln)) ∪ Residuum eine allgemeine (partielle)Theorieresolvente.

Schematisch:

L1

L n

2L

TheorieresolventeResiduum σ partielle

Res

olut

ions

liter

ale

s s

•••

•• •

Als Bedingung fur die Widerlegungsvollstandigkeit der partiellen Theoriereso-lution ergibt sich, dass der Unifikationsalgorithmus nicht nur alle allgemein-sten Unifikatoren, sondern auch alle ”allgemeinsten Residuen“ erzeugen konnenmuss. Fur das Suchverhalten des Verfahrens ist das sehr problematisch. Auchhier muss man heuristisch sich gute (kurze, kleine) Residuen aussuchen.Paramodulation ist ein typisches Beispiel fur partielle Theorieresolution. DieTheorie ist die Gleichheit, d.h. die Theorie, die sich aus dem Axiomensystem derGleichheit (Definition 12.2) ergibt. Das paramodulierte Literal ist das Residuum.

191

14 Unifikation unter Gleichheitstheorien

Wie bereits in dem Kapitel uber die Gleichheitsbehandlung ausgefuhrt wurde,bereiten Formeln, in denen die Gleichheit vorkommt, ziemliche Schwierigkei-ten beim automatischen Beweisen, trotz Paramodulationsregel. Besonders un-angenehm verhalten sich dabei zum Beispiel Formeln, die die Kommutativitatgewisser Funktionssymbole definieren, d.h. wenn etwa ∀x, y : g(x, y) = g(y, x)gilt. Diese Kommutativitatsformel fuhrt unter Umstanden zu einem standigenVertauschen der Argumente von Termen mit dem kommutativen Funktions-symbol. Daher wurde schon relativ fruh versucht, solche Gleichungsformeln ausden Formelmengen zu entfernen und durch entsprechend veranderte Schlussre-geln zu ersetzen. G. Plotkin schlug vor, die Resolutionsregel dahingehend zuandern, dass die Unifikation durch eine die herausgenommenen Gleichungsfor-meln berucksichtigende Unifikation ersetzt wird. Er gab auch die wesentlichenKriterien an, unter denen das geschehen kann, ohne dass die Vollstandigkeitdes Kalkuls verloren geht. Vorausgesetzt, das Gleichheitspradikat kommt nurin unaren Klauseln vor, d.h. die Klauselmenge enthalt endlich viele Klauselnl1 = r1, . . . , ln = rn, und es tritt sonst in keiner weiteren Klausel auf, dann darfdie Unifikation durch eine sogenannte Theorieunifikation ersetzt werden, die dieGleichungsaxiome l1 = r1, . . . , ln = rn berucksichtigt.Der Resolutionskalkul RF wird dann folgendermaßen abgeandert:statt auf C ∪ Ewird auf C Resolution und Faktorisierung mit Unifikation bzgl. E verwendet.Voraussetzung: C enthalt keine Gleichheitssymbole, E besteht nur aus Unit-Klauseln, die Gleichungen sind. Der E-Unifikationsalgorithmus liefert i.a. eineLosungsmenge von Unifikatoren, die alle auszuprobieren sind.Es gilt: Wenn der E-Unifikationsalgorithmus eine vollstandige Menge von Uni-fikatoren berechnet, dann ist der Kalkul widerlegungsvollstandig.Hierbei muss die Losungsmenge (endlich oder unendlich) und rekursiv aufzahl-bar sein.

14.1 Theorieunifikationsalgorithmen

Beispiel 14.1 Die beiden Terme g(x, y) und g(a, b) haben den ublichen Unifika-tor θ1 = {x 7→ a, y 7→ b}. Unter der Annahme, dass g kommutativ ist, ergibt sichaber noch ein zweiter Unifikator, namlich θ1 = {x 7→ b, y 7→ a}. Offensichtlichsind beide Unifikatoren unabhangig voneinander, d.h. es gibt in diesem Fall mehrals einen allgemeinsten Unifikator. Die Gleichung k(f(x, g(a, y)), g(x, h(y))) ?=k(f(h(y), g(y, a)), g(z, z)) hat eine Losung σ1 = {x 7→ h(a), y 7→ a, z 7→ h(a)},die z.B. mit dem Unifikationsalgorithmus U1 (Definition 5.19) berechnet wer-den kann. Unter der Annahme, dass g kommutativ ist, ist σ2 = {x 7→ h(y), z 7→h(y)} ebenfalls ein Unifikator, der in diesem Fall offensichtlich sogar allgemei-ner ist als der oben berechnete. Man erhalt den obigen Unifikator durch weitereInstanziierung, indem man y durch a substituiert. Benutzt man σ2 als Unifi-kator (und zusatzlich y′ 7→ y dann kann man zum Beispiel folgende (totale)Theorieresolution durchfuhren:

192

P (y, k(f(x, g(a, y)), g(x, h(y)))), Q(x, y)

¬P (y′, k(f(h(y′), g(y′, a)), g(z, z)))R(y′, z)

Q(h(y), y), R(y, h(y))

Die Theorie, die dabei benutzt wurde ist die Kommutativitat von g, d.h. ∀x, y :g(x, y) = g(y, x).

Wir definieren jetzt einen Unfikationsalgorithmus fur kommutativ deklarierteFunktionssymbole. Er ist eine leichte Abwandlung von U1.

Definition 14.2 Unifikationsalgorithmus UC : Eingabe:

1. zwei Terme oder Atome s und t,

2. sowie eine Liste FC von zweistelligen Funktionssymbolen, die als kommu-tativ deklariert sind.

Ausgabe: ”nicht unifizierbar“ oder eine vollstandige Menge von Unifikatoren.Zustande, auf denen der Algorithmus operiert: Eine Menge Γ von Gleichungen.Initialzustand: Γ0 = {s ?= t}.Unifikationsregeln:

f(s1, . . . , sn) ?= f(t1, . . . , tn),Γ

s1?= t1 , . . . , sn

?= tn,Γ(Dekomposition)

g(s1, s2)?= g(t1, t2),Γ

s1?= t2 , s2

?= t1,Γ(Vertauschung)

falls g in FC enthalten ist, d.h. g ist kommutativ.

x?= x,ΓΓ

(Tautologie)

x?= t, Γ

x?= t, {x 7→ t}Γ

x ∈ FV(Γ), x 6∈ t (Anwendung)

t?= x,Γ

x?= t, Γ

t 6∈ V (Orientierung)

Abbruchbedingungen:

f(. . .) ?= g(. . .),ΓFail

wenn f 6= g (Clash)

x?= t, Γ

Failwenn x ∈ FV(t) vorkommt (occurs check Fehler)

193

Steuerung: Erzeuge einen Baum folgendermaßen: Der Wurzelknoten ist Γ := Γ0.Fur jeden Knoten, der mit einem Gleichungssystem Γ markiert ist: Wahle eineGleichung s

?= t in Γ aus, auf die mindestens eine Regel anwendbar ist underzeuge die Nachfolgeknoten (maximal zwei) dadurch, dass alle anwendbarenRegeln auf s

?= t angewendet werden. Auf diese Weise werden so lange neueAste im Baum erzeugt, bis entweder eine Abbruchbedingung erfullt ist oder keineRegel mehr anwendbar ist. Die Gleichungsmenge in den Blattknoten, auf diekeine Abbruchbedingung zutrifft hat die Form {x1

?= t1, . . . , xk?= tk}. Die daraus

generierten Substitutionen {x1 7→ t1, . . . , xk 7→ tk} werden aufgesammelt und alsErgebnis zuruckgeliefert.

Beispiel 14.3 g(x, y) ?= g(a, b) kann auf zwei Weisen dekomponiert werden,wenn g ∈ FC angenommen wird. Dies ergibt sofort zwei Systeme von Gleichun-gen:

• x?= a, y

?= b.

• x?= b, y

?= b.

Ein weiteres Beispiel ist folgender Berechnungsbaum:

f(g(x,y),g(y,b)) =? f(g(a,b),g(b,a))

Dek

Vert

g(x,y) =? g(a,b), g(y,b) =? g(b,a)

x =? a, y =? b, g(y,b) =? g(b,a)

x =? a, y =? b, b =? a clash x =? a, y =? b, y =? a, b =? b

x =? b, y =? a, g(y,b) =? g(b,a)

x =? b, y =? a, y =? b, b =? a clash

x =? b, y =? a, b =? b

x =? a, y =? b, b =? a clash x =? b, y =? a

Dekomposition

Dek

Dek

Vert

Vert

Anwendung, TautologieTautologie

Es gibt also nur eine Losung in diesem Fall: {x 7→ b, y 7→ a}.

194

Wie man jetzt leicht nachvollziehen kann, wurde der Algorithmus UC fur dasBeispiel aus 14.1 k(f(x, g(a, y)), g(x, h(y))) ?= k(f(h(y), g(y, a)), g(z, z)) beideLosungen σ1 = {x 7→ h(a), y 7→ a, z 7→ h(a)} und σ2 = {x 7→ h(y), z 7→ h(y)}ausrechnen, wobei σ2 allgemeiner ist als σ1. Das heißt der Algorithmus ist nichtminimal, er berechnet eventuell mehr Losungen als notwendig. Da nur endlichviele Losungen berechnet werden, kann man aber die uberflussigen im nach-hinein ermitteln (mittels Unifikation der Termpaare σ1(xi) und σ2(xi) unterKommutativitat, wobei man auf einer Seite die Variablen als konstant ansieht.Danach kann man die nicht allgemeinsten Unifikatoren eliminieren. Fur Kom-mutativitat gibt es also im allgemeinen mehr als einen allgemeinsten Unifikator,aber immer noch endlich viele, wie man sich leicht uberlegen kann und wie wirauch unten zeigen werden.Es kann aber noch unangenehmer sein, wenn etwa eine Funktion f assoziativ ist,wenn also ∀x, y, z : f(x, f(y, z)) = f(f(x, y), z) gilt. In diesem Fall hat etwa dasGleichungssystem {f(x, a) ?= f(a, x)} unendlich viele unabhangige Losungen:

{x 7→ f(a, a)}, {x 7→ f(a, f(a, a))}, {x 7→ f(a, f(a, f(a, a)))}, . . .

Alle Losungen sind im Sinne der Assoziativitat von f gleich zu einer dieserLosungen, d.h. der fur x substituierte Term ist bis auf Umklammerung einer derhier angegebenen. Allerdings erspart man sich auch in diesem unangenehmenFall gegenuber der Resolution (bzw. Paramodulation) ohne Theorieunifikationetwa das standige Umklammern von Termen mit assoziativem Funktionssymbol.Das folgende Beispiel zeigt, dass es neben den Fallen, dass es maximal einen,endlich viele oder unendlich viele allgemeinste Unifikatoren gibt, auch noch denFall gibt, dass es fur eine Theorie gar keine allgemeinsten Unifikatoren mehrgibt:

Beispiel 14.4 Es ist moglich, dass es in speziellen Fallen keine allgemeinstenUnifikatoren gibt.Sei L := {append(x, nil) = x, first(append(x, y)) = first(x), first(nil) =nil} die Menge der Axiome einer Theorie (eine Theorie fur), wobei es eineKonstante nil, ein einstelliges Symbol first und ein zweistelliges Funktions-symbol append gibt. Dann hat das L-Unifikationsproblem {first(x) ?= nil} dievollstandige Menge von Unifikatoren:

cUL(first(x) ?= nil) = {σn | n ≥ 0}

mit

195

σ0 = {x 7→ nil}

σ1 = {x 7→ append(nil, x1)}

σ2 = {x 7→ append(append(nil, x1), x2)}

. . .

σn = {x 7→ append(append(. . . (append(nil, x1), x2), . . . , xn)}

. . .

Aber jeder Unifikator σn ist allgemeiner als der Vorganger σn−1: Man substi-tuiere xn durch nil und wende das erste Axiom aus L an, dann erhalt manden Vorganger. Man hat hier also eine Kette von immer allgemeiner werdendenUnifikatoren. Diese ist auch vollstandig, aber kein Unifikator alleine ist bereitsvollstandig, also gibt es keine allgemeinsten.

Da die Verhaltnisse offensichtlich etwas komplexer sind, ist es notig, Theorie-Unifikation etwas formaler zu untersuchen und zu definieren.Wir haben jetzt den Fall, dass zwei Terme, z.B. g(a, b) und g(b, a) zwar syntak-tisch verschieden sind, aber unter der Annahme der Kommutativitat von g dasgleiche bedeuten. D.h. es gibt eine Relation zwischen g(a, b) und g(b, a), die wirmit g(a, b) =C g(b, a) (C fur Commutativity) bezeichnen wollen. (Fur die beidenTerme f(g(a, b)) und f(g(b, a)) soll dann auch gelten f(g(a, b)) =C f(g(b, a)),d.h. die Relation =C zieht sich hoch auf zusammengesetzte Terme.) Ahnlichesgilt fur Substitutionen: {x 7→ g(a, b)} und {x 7→ g(b, a)} sehen zwar auch ver-schieden aus, durch die Kommutativitat von g bedeuten sie aber das gleiche,d.h. {x 7→ g(a, b)} =C {x 7→ g(b, a)}.

Wir geben einige Definitionen und Tatsachen, die aber auch im Teil ”Termer-setzung“nochmal erwahnt sind.

Definition 14.5 Eine Menge von Axiomen E := {l1 = r1, . . . , ln = rn} vonunaren Klauseln mit dem Gleichheitspradikat (Gleichheitsaxiome) induziert ei-ne Gleichheitstheorie auf der Termalgebra T (Σ, V ) uber einer Signatur Σ, diemindestens die Symbole der Gleichheitsaxiome in E enthalt. Diese Gleichheits-theorie ist die kleinste Aquivalenzrelation =E auf T (Σ, V ) die alle Termpaare(li, ri) fur li = ri aus E enthalt, und abgeschlossen ist gegenuber der Termbil-dung und der Substitution von Variablen:

1. Wenn s1 =E t1, . . . , sn =E tn und f ist ein n-stelliges Funktionssymbol,dann f(s1, . . . , sn) =E f(t1, . . . , tn)

196

2. Wenn s =E t und σ ist eine Substitution, dann σs =E σt.

Eine solche Relation heißt auch Kongruenzrelation.

Zwei Terme sind genau dann in der Relation =E , wenn man ihre Gleichheit ausden Axiomen E ableiten kann mit den folgenden Regeln:

1. ` t = t

2. s = t ` t = s

3. s = r, r = t ` s = t

4. s1 = t1, . . . , sn = tn ` f(s1, . . . , sn) =E f(t1, . . . , tn), wobei f ein n-stelliges Funktionssymbol.

5. s = t ` σt = σs fur eine beliebige Substitution σ.

Die Regeln sind so zu verstehen: Man startet mit E, den Axiomen, und erweitertdiese Menge von Gleichungen unter Benutzung der Regeln, d.h. E ⊆ A1 ⊆ A2 ⊆. . . wobei jeweils eine Gleichung hinzugefugt wurde.Der Satz von Birkhoff macht eine Aussage uber die Vollstandigkeit des Ablei-tungssystems. Hierbei ist |= als |=E zu lesen.

Satz 14.6 Satz von Birkhoff: Fur jede endliche Menge E von Gleichungenund zwei Terme s, t gilt:

E |= s = t ⇔ E ` s = t

Beweis. (siehe Literatur)

Beispiel 14.7 Sei C := {g(x, y) = g(y, x)} die Theorie der Kommutativitat.C-gleiche Terme sind dann:g(a, b) =C g(b, a) oder f(x, g(a, b), z) =C f(x, g(b, a), z).

Die Gleichheit von zwei Termen kann mit effizienteren Methoden uberpruft wer-den. Die Idee ist, dass zwei Terme s und t gleich sind unter einer Theorie TH(E),wenn sich s mittels Termersetzung in t uberfuhren laßt, wobei die Axiome in Emitverwendet werden durfen. Ein Darstellung der Termersetzung findet sich in[BN98, Ave95].

Definition 14.8 (Termersetzungskalkul, Rewrite-Kalkul)Gegeben eine Menge E von Gleichungen (Axiomatisierung einer Theorie). Dannsei fur einen Term s:

s →E s[π → σ(r)]

genau dann wenn eine Gleichung l = r oder r = l in E existiert, eine Positionπ und eine Substitution σ mit σ(l) = s|π. Die Termersetzungsrelation −→E istder reflexive, transitive Abschluß von →E.

197

Als Beispiel betrachten wir den Term f(x, g(a, b), z), wobei g ein kommutativesSymbol ist. Das Axiom der Kommutativitat ist g(x, y) = g(y, x). Mit σ ={x 7→ a, y 7→ b} gilt: σg(x, y) = g(a, b). Mit einem Ersetzungsschritt kann derTerm f(x, g(a, b), z) in den Term f(x, g(b, a), z) uberfuhrt werden. Die Positionkonnte man hier als [2] notieren. Also gilt: f(x, g(a, b), z) −→E f(x, g(b, a), z).Der Termersetzungskalkul ist vollstandig, d.h., er kann (unter einer Menge vonAxiomen E) alle gleichen Term ineinander uberfuhren:

Satz 14.9 Korrektheit und Vollstandigkeit des Termersetzungs-kalkuls:

1. Der Termersetzungskalkul ist korrekt.

2. Ist E eine Menge von Axiomen und sind s und t zwei Terme mit s =E t,dann gilt s −→E t.

Beweis.

Korrektheit (Ubungsaufgabe).

Vollstandigkeit: Zunachst muss man zeigen, dass eine leichte Abwandlungdes Birkhoff-kalkuls noch vollstandig ist: Die Regel 5 wird ersetzt durch

s = t ` σ(s) = σ(t)

fur eine beliebige Substitution σ und falls s = t ein Axiom ist.

Induktion nach der Anzahl der Schritte einer Herleitung von s =E t mittelsdes obigen Kalkuls. Hierbei betrachten wir nur die Anzahl der Schritte 1)bis 4).

Induktionsbasis: Lange = 0. Dann ist s = t ein Axiom oder Instanz ei-nes Axioms. Aus der Definition 14.8 folgt dann s →E t, insbesonderes −→E t.

Induktionsschritt: Hier muss man alle Falle des Kalkuls durchgehenund die Ersetzungsschritte jeweils zu einem ganzen Reduktionsbeweiszusammensetzen.

2

Definition 14.10 (E-Unifikationsprobleme) Ein Unifikationsproblem un-ter der Gleichheitstheorie E – ein E-Unifikationsproblem – ist ein Gleichungs-system Γ = {s1

?= t1, . . . , sn?= tn}E. Eine Losung von Γ ist eine Substitu-

tion σ mit σsi =E σti (fur alle i mit 1 ≤ i ≤ n). Sie heißt E-Unifikatorvon Γ. Die Menge der E-Unifikatoren bezeichnen wir mit UE(Γ) oder auchUE(s1

?= t1, . . . , sn?= tn).

Im allgemeinen sind die Mengen UE(Γ) unendlich und man mochte sie daherdurch eine moglichst kleine reprasentative Teilmenge ersetzen. Bei der ublichensyntaktischen Unifikation - sie entspricht der Unifikation bezuglich der Theoriemit der leeren Axiomatisierung - gelingt dies sogar mit einelementigen Teilmen-gen, wie Robinson gezeigt hat (siehe auch 5.16).

198

Definition 14.11 Minimale und vollstandige Mengen von E-Unifikatoren- auch Mengen allgemeinster E-Unifikatoren (auch Losungsbasis genannt)- µUE(Γ), sind Mengen von Unifikatoren, die den folgenden Bedingungengenugen:

(1) µUE(Γ) ⊆ UE(Γ) (Korrektheit)

(2) Fur alle δ ∈ UE(Γ) existiert ein σ ∈ µUE(Γ)

mit δx =E λ(σx) (fur alle x ∈ V (Γ)) (Vollstandigkeit)

(3) Fur alle σ, τ ∈ UE(Γ) mit τx =E λ(σx) (fur alle x ∈ V (Γ))

ist σ = τ (Minimalitat)

Das heißt: (1) alle allgemeinsten E-Unifikatoren losen Γ, (2) jeder beliebigeE-Unifikator ist Instanz eines allgemeinsten E-Unifikators, und (3) verschie-dene allgemeinste E-Unifikatoren sind keine Instanzen voneinander. Unifika-tormengen cUE(Γ) mit (1) und (2) heißen auch vollstandige Mengen von E-Unifikatoren. UE(Γ) selbst ist trivialerweise eine vollstandige Losungsmenge.

Fur das Beispiel aus 14.1, Γ = {k(f(x, g(a, y)), g(x, h(y))) ?=k(f(h(y), g(y, a)), g(z, z))} berechnet unser Unifikationsalgorithmus UC

die zwei Losungen {{x 7→ h(a), y 7→ a, z 7→ h(a)}, {x 7→ h(y), z 7→ h(y)}}, diezwar eine vollstandige Menge bilden, aber nicht minimal ist. Die minimaleMenge ist {{x 7→ h(y), z 7→ h(y)}}.Mit den neuen Begriffen konnen wir jetzt Korrektheit, Terminierung undVollstandigkeit des Unifikationsalgorithmus UC fur Kommutativitat beweisen.

Aussage 14.12 Der Algorithmus UC (Definition 14.2) ist korrekt, terminiertund ist vollstandig.

Beweis. Der Beweis geht jetzt ganz analog zum Beweis fur den Algorithmus U1(Theorem 5.21). Es muss anstelle der syntaktischen Gleichheit die Kongruenz-relation =C benutzt werden. Wie im Beweis zur Vollstandigkeit von U1 zeigtman, dass fur die Regeln Tautologie, Anwendung, Orientierung und Dekompo-sition fur nicht C-Symbole keine Losungen verlorengehen. Im Falle der Dekom-position und Vertauschung fur C-Symbole gilt: UC(g(s1, s2)

?= g(t1, t2),Γ) undUC(s1

?= t1, s2?= t2,Γ) ∪ UC(s1

?= t2, s2?= t1,Γ) sind dieselben Mengen. Die

Terminierung zeigt man analog zu der Terminierung des Algorithmus U1. Daßdurch den Abbruch bei occurs-check keine Losungen verlorengehen, folgt dar-aus, dass fur Terme s und t mit s =C t gilt, dass s und t die gleiche Tiefe habenmussen, was mittels des Ersetzungskalkuls in 14.8 bewiesen werden kann. 2

Da der Algorithmus vollstandig ist, terminiert und der aufgebaute Baum nureine endliche Verzweigungsrate hat, bedeutet das, dass es im Fall der Kommu-tativitat immer maximal endlich viele allgemeinste Unifikatoren gibt.Jetzt konnen wir allgemeine Theorieresolution unter Gleichheit definieren.

199

Definition 14.13 (Theorieresolution unter GleichheitVorausgesetzt man hat ein Verfahren, das fur jedes Gleichungssystem dieLosungsmenge UE(Γ) – oder besser noch eine moglichst kleine reprasentativeTeilmenge µUE(Γ) - berechnet, dann kann man die Resolutionsregel wie folgtabwandeln:

Klausel1: P (s1, . . . , sn),K1, . . . ,Km

Klausel2: ¬P (t1, . . . , tn), L1, . . . , Lk σ ∈ UE(s1?= t1, . . . , sn

?= tn)

E-Resolvente: σK1, . . . , σKm, σL1, . . . , σLk

14.2 Eigenschaften von Losungsmengen

Die folgenden Theoreme zeigen, dass wir hier die ”richtige“ Form der Reprasen-tation gewahlt haben. Die Eindeutigkeit garantiert, dass verschiedene minimaleund vollstandige Mengen von E-Unifikatoren eines Gleichungssystems Γ aquiva-lent im Sinne der folgenden durch wechselseitige Instanzenbildung induziertenE-Aquivalenz von Substitutionen sind: σ =E τ ⇔ ∃λ, µ : σx =E λ(τx) undτx =E µ(σx) fur alle x ∈ V (Γ), d.h. wenn jede eine Instanz der anderen ist.Die Aussage zur Reprasentation zeigt, dass die allgemeinsten Unifikatoren genaudie Menge der Unifikatoren reprasentieren: Eine Substitution lost Γ genau dann,wenn sie Instanz eines allgemeinsten Unifikators ist. Die untenstehende Aussagezur Vererbung schließlich besagt, dass man die Losungsbasen schrittweise be-rechnen kann: Um ein Gleichungssystem zu losen, kann man die allgemeinstenUnifikatoren einer der Gleichungen berechnen, diese auf die anderen Gleichun-gen anwenden und die resultierenden Restsysteme analog losen.

Aussage 14.14 Eindeutigkeit

1. Die Losungsbasen eines Gleichungssystems Γ haben gleiche Kardinalitatund unterscheiden sich hochstens um E-Aquivalenz ihrer Elemente.

2. Ersetzt man Elemente einer Losungsbasis von Γ durch E-aquivalente Sub-stitutionen, so erhalt man wieder eine Losungsbasis.

Aussage 14.15 Reprasentation:

1. Fur jede vollstandige Menge cUE(Γ) von E-Unifikatoren gilt: δ lost Γ ge-nau dann, wenn δx =E λ(σx) fur alle x ∈ V (Γ) mit σ ∈ cUE(Γ) und einerSubstitution λ.

2. Die Losungsbasen sind die kleinsten Mengen mit dieser Eigenschaft, d.h.wenn man eine Substitution aus einer Losungsbasis entfernt, ist sie nichtmehr vollstandig.

200

Aussage 14.16 Vererbung Sei cUE(Γ1) eine vollstandige Menge von E-Unifikatoren von Γ1 und seien cUE(σΓ2) vollstandige Mengen von E-Unifikatoren fur Γ2 fur alle Losungen σ ∈ cUE(Γ1).Dann ist die Menge {τσ | τ ∈ cUE(σΓ2), σ ∈ cUE(Γ1)} eine vollstandigeLosungsmenge fur das System aus beiden Gleichungen Γ1 ∪ Γ2

Wie wir bereits gesehen haben, ist es moglich, dass die Menge der allgemeinstenUnifikatoren unendlich groß ist (siehe das Assoziativitatsbeispiel von oben). Eskann sogar sein, dass uberhaupt keine Menge allgemeinster E-Unifikatoren exi-stiert (Beispiel 14.4). D.h. die Forderung nach gleichzeitiger Vollstandigkeit undMinimalitat konnen kann unvertraglich sein.

14.3 Die Unifikationshierarchie

Eine der wichtigsten Aufgaben in der Unifikationstheorie ist es daher, fur spezi-elle Theorien oder gar ganze Klassen von Theorien Existenztheoreme zu finden:Fur die Theorie E oder die Klasse K von Theorien existiert fur jedes Unifikati-onsproblem stets eine Losungsbasis. Theorien E, fur die gewisse Gleichungssy-steme keine Losungsbasis besitzen, heißen auch vom Unifikationstyp 0 . Man istdaruberhinaus daran interessiert, die Theorien, die nicht Typ 0 sind, zu klassi-fizieren: Wenn einige Unifikationsprobleme unendliche Losungsbasen haben, istdie Theorie E vom Typ ∞ oder infinitar. Wenn die Losungsbasen aller Glei-chungssysteme endlich sind, dann ist E vom Typ ω oder finitar,. Der besteFall ist, wenn alle Losungsbasen einelementig sind; dann ist E vom Typ 1 oderunitar. Die letzteren sind insbesondere in der Praxis von Bedeutung, da auch beieiner finitaren Theorie die Anzahl der allgemeinsten Unifikatoren beliebig großwerden kann. Eine weitere Klassifikation kann man nach der Komplexitat desEntscheidungsproblems durchfuhren: D.h. in welche Klasse fallt die Frage ”Ist Γbzgl E unifizierbar?“Die Hauptaufgabe in der ”praktischen“ Unifikationstheorieist es nun, fur spezielle Theorien Unifikationsalgorithmen zu entwickeln. Dassind Algorithmen (oder Verfahren) die als Eingabe ein E-Unifikationsproblemerhalten und eine - moglichst minimale - Menge von E-Unifikatoren bezuglichder speziellen Theorie E zuruckliefern.Als Mindestvoraussetzung fur eine Theorie stellt sich damit folgendes

Problem 1: (Unifizierbarkeitsproblem)Ist die Unifizierbarkeit eines E-Unifikationsproblems in der gegebe-nen Theorie entscheidbar?

Daß dies im allgemeinen nicht der Fall ist, zeigt die bekannte Unentscheidbarkeitvon Hilbert’s zehntem Problem: Gibt es ein Verfahren das die Losbarkeit einerPolynomgleichung uber den ganzen Zahlen (Diophantische Gleichung) entschei-det? Antwort: nein. Fur Implementierungen ist naturlich dann auch die Fragenach der Anzahl der zuruckgelieferten Unifikatoren relevant. Ob uberhaupt einAlgorithmus existieren kann oder nur ein Aufzahlverfahren, folgt unmittelbaraus der Lage der zu untersuchenden Theorie in der Unifikationshierarchie.

201

Problem 2: (Hierarchieproblem)Welchen Unifikationstyp hat die gegebene Theorie?

Schließlich stellt sich die letzte Frage fast von allein: Existiert uberhaupt einAlgorithmus, der minimale Mengen von Unifikatoren berechnet bzw. aufzahlt?Hierbei wollen wir noch eine kleine Unterscheidung zwischen finitaren und infi-nitaren Theorien treffen. Ein E-Unifikationsalgorithmus heißt typkonform, wenner eine Menge Ψ von E-Unifikatoren berechnet - oder aufzahlt - mit:

• Ψ ist immer eine vollstandige Menge von E-Unifikatoren

• der Algorithmus terminiert (mit endlichem Ψ), falls eine endliche,vollstandige Losungsmenge existiert

• Ψ ist eine Losungsbasis, falls keine endliche, vollstandige Menge existiert.

Mit anderen Worten: Ein typkonformer Algorithmus berechnet immer eine end-liche, vollstandige Losungsmenge, falls eine solche existiert, oder er zahlt eineunendliche, aber minimale auf. Naturlich darf die Theorie dann nicht vom Typ0 sein. Insbesondere berechnen typkonforme Algorithmen fur finitare Theori-en immer endliche, vollstandige Mengen. Die Aufzahlung einer unendlichen,vollstandigen Menge ware nicht sehr sinnvoll, da die gesamte Losungsmenge be-reits vollstandig und aufzahlbar ist. Ideal sind naturlich minimale Algorithmen,die immer minimale, vollstandige Losungsmengen berechnen oder aufzahlen.Damit ergibt sich

Problem 3: (typkonformer Algorithmus)Gibt es fur eine gegebene Theorie –die nicht vom Typ 0 ist – einentypkonformen beziehungsweise einen minimalen Algorithmus?

14.4 Einige Resultate fur spezielle Theorien

Wir geben eine tabellarische Ubersicht uber einige Theorien, die bereits naheruntersucht wurden. Es sind dies im wesentlichen die durch folgende Axiomedefinierten Theorien:

202

∅(f) := ∅ (leere Theorie;

freie Funktionen)

A(f) := {f(x, f(y, z)) = f(f(x, y), z)} (Assoziativitat)

C(f) := {f(x, y) = f(y, x)} (Kommutativitat)

I(f) := {f(x, x) = x)} (Idempotenz)

Dl(f, g) := {f(g(x, y), z)

= g(f(x, z), f(y, z))} (Links-Distributivitat)

Dr(f, g) := {f(x, g(y, z))

= g(f(x, y), f(x, z))} (Rechts-Distributivitat)

D(f, g) := Dl(f, g) ∪Dr(f, g) (Distributivitat)

Invl(f, i, e) := {f(i(x), x) = x} (Links-Inverse)

Invr(f, i, e) := {f(x, i(x)) = x} (Rechts-Inverse)

Inv(f, i, e) := Invl(f, i, e) ∪ Invr(f, i, e) (Inverse)

Nl(f, e) := {f(e, x) = x} (Links-Neutrales)

Nr(f, e) := {f(x, e) = x} (Rechts-Neutrales)

N(f, e) := Nl(f, e) ∪Nr(f, e) (Neutrales)

Iv(f) := {f(f(x)) = x} (Involution)

E(h, f) := {h(f(x1, . . . , xn))

= f(h(x1), . . . , h(xn))} ( Endomorphismus)

AE(h, f) := {h(f(x1, . . . , xn))

= f(h(xn), . . . , h(x1))} (Anti-Endomorphismus)

Durch Kombinationen aus diesen Axiomen lassen sich bereits viele wichtigemathematische Theorien aufbauen: Monoide (A ∪N), Gruppen (A ∪N ∪ Inv)

203

und andere.Spezielle Kombinationen, die in der Unifikationstheorie untersucht wurden, sindzum Beispiel

AC(f) := A(f) ∪ C(f)

AI(f) := A(f) ∪ I(f)

ACI(f) := A(f) ∪ C(f) ∪ I(f)

Folgende Tabelle spiegelt einige Eigenschaften dieser Theorien wider:

Theorie entscheidbar Typ Algorithmus

∅ ja unitar minimal

A(f) ja infinitar typkonform

C(f) ja finitar typkonform

I(f) ja finitar typkonform

AC(f) ja finitar minimal

AI(f) ja 0 ?

D(f, g) ja infinitar typkonform ∗

D(f, g) ∪A(f) nein infinitar typkonform∗

D(f, g) ∪AC(f) nein infinitar typkonform∗

E(f, g) ja unitar minimal

H(f, g1, g2) ja unitar minimal

Minus-Theorien ja (in)finitar † typkonform

Abelsche Gruppen ja finitar minimal

Boolesche Ringe ja unitar‡ minimal

204

14.5 Theorieresolution mit”compilierten Theorien“

Die Idee der compilierten Theorien ist, bestimmte Klauseln aus der Klauselmen-ge herauszunehmen und durch eine spezielle Theorieresolutionsregel zu ersetzen.

Beispiel 14.17 Die Symmetrieklausel: ¬P (x, y), P (y, x) erlaubt, die beidenunaren Klauseln P (a, b) und ¬P (b, a) durch zwei aufeinanderfolgende Resolu-tionsschritte zu widerlegen. Viel einfacher ist es jedoch, einen Unifikationsal-gorithmus zu benutzen, der die Symmetrie direkt ausnutzt und dann mit einemSchritt die Widerlegung findet.

Definition 14.18 Compilierte Theorieresolution. Sei C = {L1, . . . , Ln} eineKlausel mit zwei Literalen, die nicht selbstresolvierend ist, d.h. nicht mit einerKopie von sich selbst resolviert. Dann laßt sich daraus folgende Theorieresolu-tionsregel erzeugen:

K1 ∨R1 Li und Ki haben unterschiedliches Vorzeichen.

. . . σ ist simultaner Unifikator fur |Li|1?= |Ki|, i = 1, . . . , n, d.h

. . . |σL1| = |σK1|

. . . |σLn| = |σKn|

Kn ∨Rn σ′ist σ eingeschrankt auf die Variablen in K1, . . . ,Kn

σ′(R1 ∨ . . . ∨Rn) (Theorieresolvente in der Theorie von C)

Beispiel 14.19

1. Sei C = {¬P (x, y), P (y, x)} (Die Selbstresolvente2 ist eine Tautologie undkann daher ignoriert werden.)

P (a, z), Q(z) σ = {x 7→ a, y 7→ b, z 7→ b}

¬P (b, a) σ′ = {z 7→ b}

Q(b)

∗Fur nicht losbare Unifikationsprobleme terminiert der Algorithmus nicht.†Falls alle Anti-Endomorphismen geradestellig sind, ist die Theorie finitar, falls ein gerad-

und ein ungeradstelliger existieren ist sie infinitar.‡Ohne freie Funktionssymbole; mit freien Funktionssymbolen: finitar.1|L| bedeutet L ohne Vorzeichen, d.h. den atomaren Anteil von L.2Das Ergebnis der Resolution einer Klausel mit sich selbst (bzw. einer Kopie)

205

2. Sei C = {¬links(x, y), rechts(y, x)}

links(a, z), Q(z) σ = {x 7→ a, y 7→ b, z 7→ b}

¬rechts(b, a) σ′ = {z 7→ b}

Q(b)

3. Sei C = {¬Vater(x, y),¬Vater(y, z), Grossvater(x, z)}

Vater(Uli, Karl), S σ = {x 7→ Uli, y 7→ Karl, z 7→ Willi, u 7→ Willi}

Vater(Karl, Willi), R σ′ = {u 7→ Willi}

¬Grossvater(Uli, u), Q(u)

S, R,Q(Willi)

Die Korrektheit des Verfahrens ergibt sich unmittelbar aus der Tatsache, dassein solcher Theorieresolutionsschritt sich in eine Folge von n einzelnen Resolu-tionsschritten zerlegen laßt, die wiederum korrekt sind.

Vorteile des Verfahrens: Großere Schritte, zielgerichteteres Vorgehen.

Nachteile: Eventuell großere Verzweigungsrate im Suchraum und damit even-tuell mehr Suche.

Das folgende Beispiel zeigt, was passieren kann wenn man die Forderung, dassdie Klausel C nicht selbstresolvierend ist, fallen laßt.

Beispiel 14.20 Gegenbeispiel:C = {¬P (x), P (f(x))} Die Klauseln P (a) und ¬P (f(f(a))) sind zusam-men mit C unerfullbar und auch widerlegbar mit normaler Resolution, je-doch nicht mit der compilierten Theorieresolution: (Die Selbstresolventen sind:{¬P (x), P (f(f(x)))}, {¬P (x), P (f(f(f(x))))}, . . .Mit der ersten Selbstresolvente wurde es funktionieren. Dann funktionieren aberandere Beispiele nicht.)

Es bleibt noch das Problem, wie man mehrere Klauseln gleichzeitig compiliert.Dafur gilt:

Satz 14.21 Gegeben eine endliche konsistente Klauselmenge D, die alle ihreResolventen und Faktoren enthalt. Dann kann man alle diese Klauseln einzelnin eine Theorieresolutionsregel ubersetzen und erhalt damit einen korrekten undvollstandigen Kalkul.

206

Beweis. Der Beweis geht ganz analog zum Vollstandigkeitsbeweis fur Resolution:Man zeigt zuerst die Vollstandigkeit auf der (variablenfreien) Grundebene und

”liftet“ dann die Schritte. Der einzige wesentliche Unterschied der sich ergibt,ist der Basisfall in der ”literal excess number“ Induktion (vgl. 5.5). In diesemFall ist die Menge der unaren Grund Klauseln Cgr nicht mehr notwendigerweiseallein dadurch widerspruchlich weil sie zwei komplementare Klauseln enthalt,sondern auch weil sie mit der Menge D zusammen widerspruchlich ist. Da Dvervollstandigt ist bzgl. Resolventen und Faktorenbildung, genugt jedoch eineKlausel A aus D, um mit der passenden Anzahl von unaren Klauseln aus Cgr

zur leeren Klausel zu resolvieren. Diese Folge von Resolutionen laßt sich jetztals ein Theorieresolutionsschritt modulo A interpretieren. Der Rest des Beweisesgeht ganz analog zur normalen Resolution. 2

Beispiel 14.22 Gegeben seien die Klauseln {P (x), Q(x)}und {¬Q(y), R(y)}. Eine daraus vervollstandigte Menge ist:{{P (x), Q(x)}, {¬Q(y), R(y)}, {¬P (z), R(z)}}.Jetzt kann man damit die folgende Klauselmenge widerlegen:

¬P (a), Q(b), P (c)

¬Q(a)

¬R(b)

¬R(c)

14.6 Resolution mit bedingten Klauseln (Constraints)

Die Idee der Theorieresolution kann man verallgemeinern zur Resolution mit ein-geschrankten Quantoren oder auch Constraint-Resolution (siehe [Bur91]). Wenndie Hintergrundtheorie eine Gleichungstheorie ist, dann ist es damit moglichtrotz einer großen oder unendlichen Anzahl von Unifikatoren die Verzweigungs-rate des Suchraumes klein zu halten, indem man andere Darstellungen fur dieMenge der Unifikatoren wahlt. Eine solche ist zum Beispiel das Gleichungssy-stem selbst, das ursprunglich zu losen war.Statt Klauseln nimmt man bedingte Klauseln bestehend aus einem Paar (C, C) ,wobei C eine Bedingung (constraint) ist und C eine normale Klausel. Wir wollennur den einfachen Fall betrachten, dass die Pradikate der Theorie in dem Literal-teil C der Klauseln nicht vorkommen. Den Constraintteil kann man sich als einePL1-Formel vorstellen. Im Fall der Gleichungstheorien ware zum Beispiel einGleichungssystem {x ?= f(y), g(x) ?= g(y)} ein solche Bedingung. Die logischeBedeutung einer verallgemeinerten Klausel (C, C) ist einfach ∀(V )(C ⇒ C)3, wo-bei V die Menge aller in (C, C) freien Variablen ist. Klauseln, deren Constraint-Anteil unerfullbar ist, d.h. ∀(V )¬C gilt, sind Tautologien. Um diese Klauseln

3∀(V ) soll die Quantifikation uber alle Variablen in V bezeichnen

207

sicher zu erkennen, ist ein Entscheidungsverfahren fur die Konsistenz von Be-dingungen erforderlich. Die leere Klausel ist (C, ∅), wobei C ein konsistenterConstraint sein muss.Ein (einfacher) bedingter Resolutionsschritt sieht dann wie folgt aus: (C1, {L1}∪C1) und (C2, {¬L2}∪C2) haben als Resolvente: (C1∧C2∧{L1 ?= L2}, C1∪C2). Einverallgemeinerter Resolutionsschritt schließt die Faktorisierung mit ein, indemstatt L1 und L2 mehrere Literale gleichzeitig an der Resolution teilnehmenkonnen.Es sieht so aus, als sei Unifikation und Variableneinsetzung unnotig geworden.Dies ist nicht der Fall. Man hat aber etwas gewonnen: um eine Resolutionsschrittauszufuhren, braucht man nur zu testen, ob die zugehorige Bedingung konsistentist.Die bedingte Resolutionsmethode ist am einfachsten und anschaulichsten fursogenannte definite Theorien erster Ordnung, das sind Theorien, die mit ei-ner endlichen Hornklauselmenge (siehe Kapitel. 8) definiert werden konnen. Indiesen gilt, dass die Bedingungen Losungen haben, die als (evtl. unendliche)Menge von Substitutionen beschrieben werden konnen. Eine etwas allgemeinereFormulierung ist, dass die Theorie ein generisches Modell G hat, d.h. fur jedeBedingung C gilt G |= ∃C gdw. fur alle Modelle M : M |= ∃C. Fur solcheTheorien ist die normale bedingte Resolution vollstandig:

Satz 14.23 Fur Theorien erster Ordnung mit generischem Modell kann allge-meine bedingte Resolution aus jeder unerfullbaren bedingten Klauselmenge dieleere Klausel ableiten.

Eine Theorie, die nicht definit ist, ist z.B. die durch Pa ∨ Pb definierte Theo-rie. Den Begriff einer Losung fur die Bedingung {P (x)} laßt sich nicht mehrso formulieren wie man das fur Unifikatoren gewohnt ist. Was man noch sagenkann ist: {P (x)} ist aquivalent zu {x ?= a ∨ x

?= b}. Dies kann man als ”indefi-nite Losung“ ansehen. Die Konsistenzbedingung fur Bedingungen in indefinitenTheorien ist nur, dass die Bedingung in einem Modell konsistent ist. Fur solcheTheorien gilt der folgende Vollstandigkeitssatz:

Satz 14.24 Fur eine unerfullbare Menge von bedingten Klauseln lassen sichmittels bedingter Resolution endlich viele leere Klauseln (C1, ∅), . . . , (Cn, ∅} ab-leiten, so dass die Konjunktion (C1∧ . . .∧(Cn unerfullbar ist, d.h. man hat einenWiderspruch.

Fur ein Deduktionssystem fur bedingte Resolution bedeutet das, dass nicht nureine leere Klausel zu suchen ist, sondern dass viele leere Klauseln abzuleitenund zu sammeln sind und die Konjunktion der Constraints auf Erfullbarkeitzu testen. Bisher hat der allgemeine Fall der bedingten Resolution fur indefi-nite Theorien keine praktische Bedeutung erlangt. Implementierungen gibt esjedenfalls noch keine.

Beispiel 14.25 Sei f ein assoziatives Funktionssymbol mit dem Axiomf(x, f(y, z)) = f(f(x, y), z) und sei folgende Klauselmenge gegeben:

208

C1 (∅, Qf(a, b))

C2 (∅,¬Qx,Pf(x, y))

C3 (∅,¬P (f(a, f(b, z)))

Bedingte Resolution auf C2, 2 und C3 ergibt:

R1 ({f(x, y) ?= f(a, f(b, z))},¬Q(x)) Bedingung ist erfullbar

R1 + C1 ({f(x, y) ?= f(a, f(b, z)), x ?= f(a, b)}, ∅) Bedingung ist erfullbar mit

{x 7→ f(a, b), y 7→ z}

Hatte man assoziative Unifikation und Resolution verwendet, dann hatte maneine Menge der allgemeinsten Unifikatoren von f(x, y) ?= f(a, f(b, z)) betrachtenmussen. Dies sind unter anderem: {x 7→ a, y 7→ f(b, z)}, {x 7→ f(a, b), y 7→z}, . . .

Mittels bedingter Resolution lassen sich auch ganzzahlige Arithmetik oder ahn-lich bekannte Theorien in einem Deduktionssystem verwenden. Dies sind dannevtl. noch definite Theorien, aber sie sind nicht unbedingt erster Ordnung, dennz.B. die Menge der naturlichen Zahlen laßt sich nicht mit einer Theorie ersterOrdnung charakterisieren. Bei der bedingten Resolution tritt dann das Problemauf, dass die Konsistenz von Bedingungen moglicherweise nicht mehr entscheid-bar ist.

209

15 Erweiterungen der Pradikatenlogik

In diesem Kapitel werden Erweiterungen der Pradikatenlogik vorgestellt, die eserlauben, einerseits bestimmte Sachverhalte einfacher, bzw. uberhaupt auszu-drucken und andererseits den Deduktionskalkul anzupassen.

15.1 Mehrsortige Logiken

Es gibt syntaktische Varianten von PL1, die zwar nicht die prinzipielle Aus-drucksfahigkeit erhohen, aber eine kompaktere Darstellung von Formeln erlau-ben ([Wal87, SS89, Wei95, Wei96]). Damit ist in den einzelnen Unterausdruckenmehr Information konzentriert, die dann von Kalkulen ausgenutzt werden kann,um sinnlose Aussagen zu erkennen und zu vermeiden. Die wichtigsten derartigenVarianten sind die mehrsortigen Logiken. Die Grundidee dabei ist, nicht einfachein strukturloses Universum zu betrachten, sondern die Objekte in Klassen ein-zuteilen. Aussagen werden nur fur Objekte bestimmter Klassen formuliert undsind fur andere Objekte gar nicht definiert. Beispielsweise konnte man Aussagenuber Menschen und uber naturliche Zahlen in einer mehrsortigen Logik so for-mulieren, dass die Behauptung, Sokrates und Napoleon seien teilerfremd, nichteinfach wahr oder falsch, sondern sinnlos ware.Dazu stellen mehrsortige Logiken zusatzlich zu den genannten Datenobjektennoch eine Menge von Sorten zur Verfugung. Die Sorten konnen einfach eine un-strukturierte Menge bilden (flache Sortenstruktur) oder durch eine partielle Ord-nung v, die Untersortenbeziehung, geordnet sein (hierarchische Sortenstruktur).Man wurde etwa die Menge der Sortensymbole {Integer,Menschen} flach unddie Menge {Integer,Real, Complex} hierarchisch strukturieren. Die zulassigeStruktur der Untersortenbeziehung, z.B. linear, baumformig oder Halbverbandhat Einfluß auf die moglichen Einsetzungen fur Variablensymbole und beeinflußtdaher die Konstruktion von Kalkulen fur die jeweilige spezielle Logik.Die Signatur der Logik wird nun folgendermaßen erweitert: jedem Konstanten-und Variablensymbol ist eine Sorte zugeordnet, Funktionssymbolen werden Ar-gument/ Ergebnissorten- Beziehungen mit der entsprechenden Stelligkeit zuge-ordnet, Pradikatensymbolen die zulassigen Argumentsorten. Beispielsweise spe-zifiziert

Geburtsjahr : Mensch → Integer

eine Funktion, die nur Argumente der Sorte Mensch zulaßt und dann ein Er-gebnis der Sorte Integer liefert. Mit

+ : (Real ×Real → Real

Real × Integer → Real

Integer ×Real → Real

Integer × Integer → Integer

210

charakterisiert man mehrere mogliche Beziehungen der Argumentsorten zu denErgebnissorten der Funktion +. Teilerfremd : Integer × Integer besagt, dassdas Pradikatensymbol Teilerfremd nur Terme vom Typ Integer als Argumentakzeptiert.Die Sorte eines zusammengesetzten Terms wird nun aus der Sortendeklarationfur das oberste Funktionssymbol und eventuell aus den Sorten der Untertermeberechnet. Ein korrekter Term Geburtsjahr(. . .) hat zum Beispiel immer dieSorte Integer, wahrend die Sorte eines Terms +(. . . , . . .) von den Sorten derArgumente abhangt. Ein Term wie Geburtsjahr(+(. . . , . . .)) ist nicht sorten-recht und daher verboten. Damit wird rein syntaktisch die Formulierung vielerunsinniger Aussagen verhindert.Daß mehrsortige Logiken nicht wirklich ausdrucksstarker sind als unsortier-te, zeigt sich darin, dass die gesamte Information uber die Sorten in ein-stellige Pradikate kodiert werden kann: Die Untersortenbeziehungen S v Pwerden als Implikationen ausgedruckt: ∀x : S(x) ⇒ P (x). Quantifizierun-gen uber sortierte Variable ∀x : S : F werden in die Form ∀x : S(x) ⇒F ubersetzt, und die Argument/Ergebnissorten-Beziehungen der Funktionenf : S1 × . . . × Sn → S lassen sich durch Formeln ∀x1 . . . xn : S1(x1) ∧ . . . ∧Sn(xn) ⇒ S(f(x1, . . . , xn)) beschreiben. Semantisch unsinnige Terme wie deroben erwahnte Term Geburtsjahr(+(. . . , . . .)) sind in dieser Form jedoch nichtausgeschlossen, deshalb setzten sich mehrsortige Logiken in der Praxis immermehr durch.

Beispiel 15.1 Ein Beispiel, welches zeigt, wie per Resolution in unsortiererPradikatenlogik ziemlicher Unsinn abgeleitet werden kann:Axiome:

Jeder Mensch, der Bananen ißt, lebt gesund. (Ob das stimmt oder nicht stehthier nicht zur Diskussion)

Judy ist ein Affe und ißt Bananen

Tom ist ein Mensch und ißt Bananen.

Kodierung in PL1:

∀x : Mensch(x) ∧ isst(x, Bananen) ⇒ lebtgesund(x)

Affe(Judy)

isst(Judy, Bananen)

Mensch(Tom)

isst(Tom, Bananen)

211

Klauselform:

C1 : ¬Mensch(x),¬isst(x, Bananen), lebtgesund(x)

C2 : Affe(Judy)

C3 : isst(Judy, Bananen)

C4 : Mensch(Tom)

C5 : isst(Tom, Bananen)

Jetzt ist z.B. eine Resolution mit C1, 2 und C3 moglich. Die Resolvente ist:¬Mensch(Judy), lebtgesund(Judy).Um damit weiterzuarbeiten, mußte man einen Resolutionspartner fur¬Mensch(Judy) finden, d.h. eine Klausel mit einem Literal Mensch(Judy), wasoffensichtlich in der intendierten Bedeutung nicht moglich ist. D.h. die Resol-vente ist nutzlos. Um diese Resolution zu verhindern, muss man die Variablentypisieren (mit Sorteninformation versehen), so dass eine Einsetzung x 7→ Judy,wobei x die Sorte Mensch und Judy die Sorte Affe hat, verboten werden kann.

Jetzt zu den formalen Definitionen. Wir definieren eine einfache Variante vonSortenlogik erster Ordnung: OSPL (Order Sorted Predicate Logic).

15.2 Syntax von OSPL

Wir halten uns an das Schema wie es auch in Kapitel 4.1 zur Definition vonPL1 benutzt wurde. D.h. wir sagen zunachst mal, was die Signatur, d.h. dieverwendeten Symbole sind. Im Unterschied zu unsortierten Signaturen nehmenwir die Variablen diesmal mit in die (sortierte) Signatur auf.

Definition 15.2 Signaturen mit SortenEine sortierte Signatur S besteht aus den Komponenten(V, F, P, S,S, SD, FD,PD). V, F, P sind die Variablensymbole, Funktions-symbole und Pradikatensymbole, so wie in Definition 4.1. Die weiterenKomponenten sind:

• S ist eine Menge von Sortensymbolen

• S : V → S ist eine Funktion, die jedem Variablensymbol eine Sorte zu-ordnet. Meist schreibt man jedoch z.B. x : A anstelle von S(x) = A um zusagen, dass die Variable x die Sorte A hat.

• SD ist eine Menge von Untersortendeklarationen der Form R v S,

212

• FD ist eine Menge von Sortendeklarationen fur Funktionen. Eine Sor-tendeklaration fur Funktionen ist einfach ein Tupel t : S welches besagt,dass alle Instanzen des Terms t von der Sorte S sind, wobei nur Termeder Form f(x1, . . . , xn) mit verschiedenen xi zugelassen sind. Oft werdenDeklarationen f(x1, . . . , xn) : S als f : S1 × . . . × Sn → S geschrieben,wobei Si die Sorte der Variable xi ist.

• PD ist eine Menge von Sortendeklarationen fur Pradikatensymbole. Siehaben die Form P : S1 × . . .× Sn, wobei die Si Sorten sind.

Wir nehmen an, dass das Gleichheitspradikat immer vorhanden ist und dassdie Deklarationen =: R × S fur alle Sorten R,S in PD sind, d.h. Gleichheitist fur alle Sorten definiert. Fur eine Signatur Σ, sei vΣ die partielle Ordnungauf S, die durch die reflexive und transitive Hulle der Untersortendeklarationengegeben ist.

Beispiel 15.3 Beispiel fur eine sortierte Signatur:

213

Variablensymbole: {x, y, z, u, v, w . . .}

Funktionssymbole: {+, ∗, inv, o, F ido, Tweety, V ater},

arity(+) = arity(∗) = 2, arity(inv) = 1, arity(Fido) = arity(o) = 0

arity(Tweety) = 0, arity(V ater) = 1

Pradikatensymbole: {<, gerade, brav,=}

Sortensymbole: {komplex, reell, nat, gaussch,Hund, T ier}

Sortenfunktion: S: S(x) = komplex,S(y) = reell,S(z) = nat,S(u) = Hund . . .

Untersorten: reell v komplex, gaussch v komplex, nat v gaussch, nat v reell, Hund v Tier

Funktionen: o : nat

+ : komplex× komplex → komplex

reell × reell → reell

nat× nat → nat

∗ : komplex× komplex → komplex

reell × reell → reell

nat× nat → nat

inv : komplex× komplex → komplex, . . .

F ido : Hund;Tweety : Tier;V ater : Hund → Hund . . .

Pradikate: gerade : nat;<: komplex× komplex; brav : Hund . . .

Aus den Untersortendeklarationen ergibt sich z.B.:

komplex vΣ komplex, . . . (reflexive Hulle)

reell vΣ komplex, . . . (war sowieso schon der Fall)

nat vΣ komplex, . . . (transitive Hulle)

Meist stellt man das auch graphisch dar:

214

komplex

reell gaussch

nat

Tier

Hund

In der so definierten Signatur steckt Information, die man sonst explizit mit For-meln ausdrucken mußte. Z.B. ist die Deklaration reell v komplex ausdruckbarin unsortiertem PL1 mit ∀x : reell(x) ⇒ komplex(x).Als nachstes mussen wir die Terme neu definieren. Dabei sollen Terme der Artinv(Fido) oder V ater(∗(o, o)) als ”nicht wohlsortiert“ ausgesondert werden. Dasmacht man, indem man positiv die Menge der wohlsortierten Terme definiert.Die Idee dafur ist, von den Deklarationen fur Terme auszugehen, die sind allemalwohlsortiert, und daraus durch wohlsortierte Instanziierung weitere wohlsortier-te Terme zu generieren.

Definition 15.4 Wohlsortierte Terme Die Menge der wohlsortierten TermeTΣ,A der Sorte A in der Signatur Σ = (V, F, P, S,S, SD, FD,PD) wird durchfolgende drei Regeln rekursiv konstruiert:

• x ∈ TΣ,A, falls S(x) vΣ A.

• f(x1, . . . xn) ∈ TΣ,A, falls mit xi : Si und f : S1 × . . . × Sn → A ∈ FDund R vΣ A

• t[r/x] ∈ TΣ,A falls t ∈ TΣ,A, r ∈ TΣ,R und x ∈ V, x : S so dass R vΣ S. 4

Die Menge TΣ aller wohlsortierten Terme uber Σ (Σ-Terme) erhalt man alsVereinigung:

TΣ =⋃{TΣ,A | A ∈ S}

Die Sorte S(t) eines Terms t ist die Sorte A mit kleinster Menge (als Men-geninklusion) TΣ,A, welches t enthalt. Wenn diese Sorte nicht eindeutig ist,liefert S(t) die Menge aller Sorten A, so dass t ∈ TΣ,A.Manchmal schreibt man auch t : A, um auszudrucken, dass A die Sorte von tist.

Beispiel 15.5 In der Signatur von Beispiel 15.3 ist:4t[r/x] bedeutet, r fur x in t einsetzen.

215

TΣ,Hund = {Fido, V ater(Fido), V ater(V ater(Fido)), . . .

u, V ater(u), V ater(V ater(u)), . . .}

TΣ,T ier = TΣ,Hund ∪ {Tweety}

TΣ,nat = {o,+(o, o), ∗(o, o),+(o, ∗(o, o)), . . . ,

z,+(z, z),+(o, z), . . .}

TΣ,reel = TΣ,nat ∪ {y,+(y, y), . . .}

S(V ater(Fido)) = Hund

Im nachsten Schritt werden die zulassigen Formeln definiert. Der Unterschiedzu PL1 ist im wesentlichen, dass die Sortendeklarationen fur Pradikate benutztwerden, um nicht wohlsortierte Atome wie z.B. brav(+(o, o)) im obigen Beispielauszuschließen.

Definition 15.6 Wohlsortierte FormelnEin Atom P (t1, . . . , tn) ist wohlsortiert, falls ti ∈ TΣ,Si fur i = 1, . . . , n undP : S1 × . . . × Sn ist in Σ. Eine wohlsortierte Formel ist eine Formel, die mitwohlsortierten Atomen und den logischen Junktoren und Quantoren ¬,∧,∨,⇒,⇔,∀,∃ wie ublich gebildet wird. Wir schreiben ∀x : A : F und ∃x : A : F , umanzuzeigen, dass A die Sorte der Variablen x ist.

Beispiel 15.7 In der Signatur von 15.3 sind die Formeln < (o, o),∀x :komplex :< (x, x) wohlsortiert, wahrend < (Fido, Tweety), brav(o) ,∀x :komplex : brav(x) nicht wohlsortiert sind.

15.3 Semantik von OSPL

In Abschnitt 4.2 haben wir die Semantik von PL1 uber Σ-Algebren und Σ-Homomorphismen definiert. Mit den Erweiterungen von OSPL gegenuber PL1

muss man auch die Definitionen von Σ-Algebren und Σ-Homomorphismen ent-sprechend anpassen. Insbesondere benotigen wir in der Semantik Gegenstuckezu den Sortensymbolen, Untersortendeklarationen und Deklarationen fur Termeund Pradikatensymbolen.Wir verzichten hier auf weitergehende Formalisierung und geben nur die Idee an:die Sortensymbole als Teilmengen der Tragermenge zu interpretieren, die Unter-sortenbeziehungen als Teilmengenbeziehungen und die Deklarationen im wesent-lichen als Einschrankungen uber Definitions- und Wertebereiche von Funktionenaufzufassen. Das heißt, dass Interpretationen und Modelle der Sortensignaturangepaßte Bedingungen erfullen mussen. Eine wichtige Einschrankung ist, dass

216

die Einsetzungen fur Variablen deren Sorte entsprechen muss. D.h. wenn x : A,dann darf nur ein Element d aus dem Domain fur x eingesetzt werden, das zurMenge DA gehort. Dies betrifft zum Beispiel die Variablen die durch Quantorengebunden sind. Die Definitionen der Relation der Erfullbarkeit die gleiche wieim unsortierten Fall.

15.4 Relativierung

Das erste was sich Logiker fragen, wenn sie mit einer neuen Logik konfrontiertsind, ist, ob diese neue Logik wirklich ausdrucksstarker ist als schon vorhandene,d.h. ob man darin Sachverhalte ausdrucken kann, die man in anderen Logiken,insbesondere einfacher Pradikatenlogik, prinzipiell nicht ausdrucken kann.Wenn der Verdacht besteht, dass das nicht der Fall ist, kann man diese Ver-mutung dadurch bestatigen, dass man eine korrekte und vollstandige Methodeangibt, Formeln dieser Logik in eine andere Logik zu ubersetzen (zu relativie-ren). Korrekt und vollstandig heißt in diesem Zusammenhang, dass eine erfull-bare Formel der Ausgangslogik in eine erfullbare Formel der Ziellogik ubersetztwird (Korrektheit) und umgekehrt, wann immer die ubersetzte Formel erfullbarist, ist auch die Ausgangsformel erfullbar (Vollstandigkeit). Solche Ubersetzerbezeichnet man auch manchmal als konservative Transformationen.Hat man einen Ubersetzer dieser Art definiert, dann kann man im Prinzip aufeinen Kalkul in der neuen Logik verzichten. Man ubersetzt in die Ziellogik undbeweist die ubersetzte Formel. Dann weis man, dass die ursprungliche Formelebenfalls gultig ist. Ob diese Vorgehensweise zweckmaßig ist, hangt von prakti-schen Gesichtspunkten ab - wie effizient die Kalkule sind, ob Implementierungenvon Beweisern zur Verfugung stehen, usw. Fur OSPL geben wir jetzt eine Uber-setzung in unsortierte Pradikatenlogik an. Sie zeigt einerseits dass OSPL nichtwirklich ausdrucksstarker ist als PL1, und erlaubt andererseits die Kalkule zuvergleichen. (Fur OSPL wird ein Kalkul noch nachgeliefert.) Die Ubersetzungin PL1 wird bewußt ausfuhrlich betrachtet, weil der Mechanismus prototypischfur weitere Ubersetzungsverfahren ist, die Formeln nichtklassischer Logiken inPradikatenlogik ubersetzen. In diesen Fallen benutzt man dann die Uberset-zung, um mit Resolution auf den ubersetzten Formeln zu operieren.

Definition 15.8 Ubersetzer: OSPL → PL1)Gegeben eine OSPL-Spezifikation (Σ,F), d.h. eine OSPL Signatur Σ zusammenmit einer Menge F von geschlossenen Formeln uber Σ, dann besteht ein Uberset-zer, der diese OSPL-Spezifikation in eine PL1 Spezifikation (Σ′,F ′) ubertragt,aus drei Teilen:

Ψsig ubersetzt die OSPL-Signatur in eine PL1-Signatur,

Ψsig,F generiert aus der OSPL-Signatur PL1-Formeln und

ΨΣ ubersetzt die Formeln.

217

Sie sind folgendermaßen definiert:

Ψsig: Sei Σ = (V,F ,P, S,S, SD, FD,PD) eine OSPL Signatur. Dann istΨsig(Σ) = (F ,P ∪ {A′ | A ∈ S}). Es ist arity(A′) = 1. (d.h. aus je-dem Sortensymbol wird ein einstelliges Pradikatensymbol gemacht.)

Ψsig,F :

Ψsig,F (Σ) = {∀x : A(x) ⇒ B(x) | A v B ∈ SD}

∪{∀x1, . . . xn(A1(x1) ∧ . . . ∧An(xn)) ⇒ A(f(x1, . . . xn)) | f(x1, . . . xn) : A ∈ FD}

Die Deklarationen fur Pradikatensymbole werden nicht ubersetzt.

ΨΣ: Die Ubersetzung von Formeln wird rekursiv uber die Formelstruktur defi-niert:

Basisfall:

ΨΣ(L) = L falls L ein Atom ist.

Rekursionsfalle:

ΨΣ(¬F ) = ¬ΨΣ(F )

ΨΣ(F@G) = ΨΣ(F )@ΨΣ(G),@ ∈ {∨,∧,⇒,⇔}

ΨΣ(∀x : A : F ) = ∀x : A(x) ⇒ ΨΣ(F )

ΨΣ(∃x : A : F ) = ∃x : A(x) ∧ΨΣ(F )

Insgesamt ergibt sich also: Ψ(Σ,F) = (Ψsig(Σ),Ψsig,F (Σ)∪{ΨΣ(F ) | F ∈ F}).

Beispiel 15.9 Fur eine Ubersetzung von OSPL in PL1

Wir nehmen im wesentlichen wieder die Signatur aus 15.3:

218

Variablensymbole: {x, y, z, u, v, w . . .}

Funktionssymbole: {+, ∗, inv, o, F ido, Tweety, V ater},

arity(+) = arity(∗) = 2, arity(inv) = 1, arity(Fido) = arity(o) = 0

arity(Tweety) = 0, arity(V ater) = 1

Pradikatensymbole: {<, gerade, brav,=}

Sortensymbole: {komplex, reell, nat, gaussch,Hund, T ier}

Sortenfunktion: S: S(x) = komplex,S(y) = reell,S(z) = nat,S(u) = Hund . . .

Untersorten: reell v komplex, gaussch v komplex, nat v gaussch, nat v reell, Hund v Tier

Funktionen: o : nat

+ : komplex× komplex → komplex

reell × reell → reell

nat× nat → nat

∗ : komplex× komplex → komplex

reell × reell → reell

nat× nat → nat

inv : komplex× komplex → komplex, . . .

F ido : Hund;Tweety : Tier;V ater : Hund → Hund . . .

Pradikate: gerade : nat;<: komplex× komplex; brav : Hund . . .

Als rein formale Ubung ubersetzen wir folgende Formeln:

F = {∀x : komplex∃z : nat : (∗(x, x) = z ∧ brav(Fido) ⇒ Alter(Fido) = z)}

Es ergibt sich: Ψsig(Σ) = ({x, y, z, u, v, w . . .}, {+, ∗, inv, o, F ido,Alter}, {<, gerade, brav, =, komplex, reell, nat, gaussch, Hund, T ier}).Die Stelligkeiten ubertragen sich: arity(komplex) = arity(reell) =arity(gaussch) = arity(Hund) = arity(Tier) = 1.

219

Ψsig(Σ) = {∀x : reell(x) ⇒ komplex(x),

∀x : gaussch(x) ⇒ komplex(x),

∀x : nat(x) ⇒ gaussch(x),

∀x : nat(x) ⇒ reell(x),

∀x : Hund(x) ⇒ Tier(x),

nat(o),

∀x, y : komplex(x) ∧ komplex(y) ⇒ komplex(+(x, y)),

∀x, y : reell(x) ∧ reell(y) ⇒ reell(+(x, y)),

∀x, y : nat(x) ∧ nat(y) ⇒ nat(+(x, y)),

∀x, y : komplex(x) ∧ komplex(y) ⇒ komplex(∗(x, y)),

∀x, y : reell(x) ∧ reell(y) ⇒ reell(∗(x, y)),

∀x, y : nat(x) ∧ nat(y) ⇒ nat(∗(x, y)),

∀x, y : komplex(x) ⇒ komplex(∗(x, inv(x))),

Hund(Fido),

∀x : Hund(x) ⇒ nat(Alter(x))}.

Die Formel wird folgendermaßen ubersetzt:

ΨΣ(∀x : komplex : ∃z : nat(∗(x, x) = z ∧ brav(Fido) ⇒ Alter(Fido) = z))

= ∀x : komplex(x) ⇒ ΨΣ(∃z : nat(∗(x, x) = z ∧ brav(Fido) ⇒ Alter(Fido) = z))

= ∀x : komplex(x) ⇒ ∃z : nat(z) ∧ΨΣ((∗(x, x) = z ∧ brav(Fido) ⇒ Alter(Fido) = z))

= ∀xkomplex(x) ⇒ ∃znat(z) ∧ (∗(x, x) = z ∧ brav(Fido) ⇒ Alter(Fido) = z)

In diesem Beispiel sind also aus einer OSPL-Formel 16 PL1-Formeln geworden.Das deutet darauf hin, dass es besser sein konnte, mit der OSPL- Formel zuarbeiten.

220

Um die Korrektheit und Vollstandigkeit der Ubersetzung zu beweisen, mussenwir zeigen, dass jede erfullbare Spezifikation in eine erfullbare Spezifikation uber-setzt wird (und umgekehrt).

Satz 15.10 (Korrektheit und Vollstandigkeit der Ubersetzung vonOSPL in PL1)Sei S = (Σ,F) eine OSPL-Spezifikation und S ′ = (Σ′,F ′) die ubersetzte PL1

Spezifikation.Dann ist S erfullbar gdw. S ′ erfullbar ist.

Den Beweis bietet keine echte Schwierigkeit. Er ist etwas langlich, da viele Falleund Details beachtet werden mussen, und beide Richtungen gezeigt werdenmussen.Die Korrektheit sichert, dass wenn eine ubersetzte Spezifikation widerlegt wor-den ist, auch die Originalformel unerfullbar ist. D.h. Beweis durch Uberset-zen und Widerlegen der negierten Behauptung ist ein korrektes Verfahren. Umnachzuweisen, dass die Methode auch immer funktioniert mussen wir noch dieVollstandigkeit nachweisen, d.h. zeigen, dass Modelle fur ubersetzte Formelnauch immer die Existenz von Modellen fur die Originalformeln sicherstellen.Konsequenzen aus den Vollstandigkeits- und Korrektheitsbeweisen fur die Uber-setzung in PL1 sind:

• OSPL ist als Logik aquivalent zu PL1. Daher kann man bestimmte Re-sultate wie Kompaktheit direkt ubertragen.

• Formeln in OSPL sind i.a. erheblich kurzer und intuitiver als die entspre-chenden Formeln in PL1.

Daher kann man viele Sachverhalte in OSPL wesentlich besser ausdrucken. Au-ßerdem ist zu erwarten, dass der Kalkul in OSPL effizienter ist.

15.5 Klauselnormalform fur OSPL

Auf dem Weg zu einem Resolutionskalkul ist der erste Schritt die Herstellung derKlauselform. Bis auf eine Ausnahme funktioniert das wie in PL1. Die Ausnahmeist die Skolemisierung.

Definition 15.11 Skolemisierung in OSPLEine OSPL Formel ∀x1 : A1 . . .∀xn : An∃x : A : F wird folgendermaßen skole-misiert:

∀x1 : A1 . . .∀xn : An∃x : AF → ∀x1 : A1 . . .∀xn : AnF [x → f(x1, . . . , xn)]

und folgende Funktionsdeklaration wird der Signatur hinzugefugt:

f : A1 × . . .×An → A

Der Beweis fur die Korrektheit der Skolemisierung ist genau wie in PL1 (Theo-rem 4.28). Die Korrektheit der Funktionsdeklaration ist offensichtlich. Da dieSorte des neuen Terms f(x1, . . . , xn) gleich der Sorte der Variablen x ist, garan-tiert die Funktionsdeklaration, dass die neue Formel F [x → f(x1, . . . , xn)] auchwohlsortiert ist.

221

15.6 Unifikation

Zunachst wird ein allgemeiner Unifikationsalgorithmus fur OSPL vorgestellt unddann werden Optimierungen fur speziellere und fur eingeschrankte Sortenstruk-turen besprochen.Wir geben einen Algorithmus an, der fur vernunftige sortierte Signaturen kor-rekt und vollstandig ist:

Definition 15.12 gutartige sortierte SignaturSei fsort die Relation auf den Sorten, definiert als: fsort(S1, . . . , Sn) = S gdw.S1 × . . .× Sn → S eine Funktionsdeklaration ist. Folgendes sei erfullt:

• v ist eine partielle Ordnung auf den Sorten

• die kleinste Sorte eines Terms ist eindeutig bestimmt.

• fsort ist eine (partielle) Funktion.

• Wenn fsort auf (S1, . . . , Sn) definiert ist und (S′1, . . . , S

′n) v (S1, . . . , Sn),

dann ist ist fsort auch auf (S′1, . . . , S

′n) definiert.

• fsort ist monoton auf den Sorten.

Dann ist die sortierte Signatur gutartig.

Definition 15.13 Unifikationsalgorithmus US fur gutartige Signatu-ren:

Eingabe: zwei Terme oder Atome s0 und t0:

Ausgabe: ”nicht unifizierbar“ oder eine Aufzahlung der allgemeinsten Unifi-katoren:

Zustande auf denen der Algorithmus operiert: Eine Menge Γ von Gleichungen.

Initialzustand: Γ0 = {s0?= t0}.

Unifikationsregeln:

222

f(s1, . . . , sn) ?= f(t1, . . . , tn),Γ

s1?= t1, . . . , sn

?= tn,Γ(Dekomposition)

x?= f(s1, . . . , sn), x ?= f(t1, . . . , tn),Γ

x?= f(t1, . . . , tn), s1

?= t1, . . . , sn?= tn,Γ

(Dekomposition)

x?= x,ΓΓ

(Tautologie)

x?= y, Γ

x?= y, {x 7→ y}Γ

wenn S(y) v S(x) (Ersetzung)

t?= x,Γ

x?= t, Γ

t 6∈ V (Orientierung)

x?= y, Γ

y?= x,Γ

falls S(x) v S(y) (Variablenorientierung)

x?= y, Γ

x?= z, y

?= z,Γz neu mit S(z) v S(x), S(z) v S(y) (Variablenabschwachung)

x?= f(t1, . . . , tn),Γ

x?= f(x1, . . . , xn),Γ

xi neu mit S(xi) = S(ti) (Auffalten)

x?= f(x1, . . . , xn),Γ

x?= f(y1, . . . , yn), x1

?= y1, . . . xn?= yn,Γ

(Termabschwachung)

falls S(f(x1, . . . , xn)) 6v S(x). yi neu mit S(yi) v S(ti)

Abbruchbedingungen:

f(. . .) ?= g(. . .),ΓFail

wenn f 6= g (Clash)

x1?= f(., x2, .), . . . , xn

?= f(., x1, .)Fail

d.h. Zyklus gefunden: (occurs check)

(x ?= y) ∈ Γ Variablenabschwachung nicht anwendbar

(x ?= f(x1, . . . , xn)) ∈ Γ Termabschwachung nicht anwendbar

Die Verzweigungsregeln sind: Termabschwachung und Variablenabschwachung.Die Steuerung ist nicht-deterministisch. Start ist mit Γ0. Am gunstigsten istes, mit hoher Prioritat die Simplifikationsregeln zu verwenden: Dekomposi-tion, Tautologie, Ersetzung, Orientierung, Auffalten. Die Suche wird nicht-

223

deterministisch in Breitensuche durchgefuhrt. Wenn eine Gleichungen {x1?=

t1, . . . , xk?= tk} erzeugt wird, auf die keine Regel mehr anwendbar ist und kei-

ne Abbruchbedingung zutrifft, wird die Substitution {xi 7→ ti } als Unifikatorausgegeben.

Bemerkung 15.14 Die Anwendungsregel kann optimiert werden indem mandie Beschrankung auf wohlsortierte Substitutionen aufgibt. Die Vorgehenswei-se ist dann, zunachst Unifikation ohne Beachtung der Sorten durchzufuhren,und danach erst die Sorten anzupassen. Es konnen dabei zwischendurch nichtwohlsortierte Terme auftreten. Das wird wieder ausgeglichen, da eine Gleichungx

?= t, die fur die Anwendungsregel benutzt wird, nur dann gelost ist, wenndie Sorte von t kleiner oder gleich der Sorte von x ist. Das kann durch dieAbschwachungsregeln erreicht werden.

Beispiel 15.15 Wir geben zunachst Beispiele, die die einzelnen Regeln illu-strieren.

1. Sorten: N v R

x : N?= y : R

→ y : R?= x : N (Variablenorientierung)

→ {y 7→ x}

2. Sortenstruktur:

Student Berufstätige

berufstätiger Student

x : Student ?= y : Berufstatig

→ x?= z, y

?= z : berufstatiger Student (Variablenabschwachung)

→ {x 7→ z, y 7→ z}

4. Sorten: nat v reellFunktionsdeklarationen:

plus : reell × rell → reell

nat× nat → nat

224

x : nat?= plus(u : reell, v : reell)

→ x : nat?= plus(u1, v1), u

?= u1 : nat, v?= v1 : nat (Termabschwachung)

Bei den hier betrachteten gutartigen Sortenstrukturen haben alle Unifikations-probleme nur endlich viele allgemeinste Unifikatoren.Jetzt, wo wir wissen wie die Unifikation funktioniert konnen wir auch Reso-lutionsbeweise fuhren. Der Unterschied in der Performanz wird verdeutlichenan einem Beispiel, das man einmal unsortiert und einmal sortiert rechnet. Eshandelt sich um das als Schuberts Steamroller bekannte Beispiel.

Beispiel 15.16 Schuberts SteamrollerZunachst die unsortierte Variante:

set(ur_res).assign(max_mem,1500).assign(max_seconds,1800).set(free_all_mem).

formula_list(axioms).(all x (Wolf(x) -> animal(x))).(all x (Fox(x) -> animal(x))).(all x (Bird(x) -> animal(x))).(all x (Caterpillar(x) -> animal(x))).(all x (Snail(x) -> animal(x))).(all x (Grain(x) -> plant(x))).(all x (animal(x) -> ((all y (plant(y) -> eats(x,y))) |(all z ((animal(z) & Smaller(z,x) & (exists u (plant(u) & eats(z,u))))

-> eats(x,z)))))).(all x all y ((Caterpillar(x) & Bird(y)) -> Smaller(x,y))).(all x all y ((Snail(x) & Bird(y)) -> Smaller(x,y))).(all x all y ((Bird(x) & Fox(y)) -> Smaller(x,y))).(all x all y ((Fox(x) & Wolf(y)) -> Smaller(x,y))).(all x all y ((Bird(x) & Caterpillar(y)) -> eats(x,y))).(all x (Caterpillar(x) -> (exists y (plant(y) & eats(x,y))))).(all x (Snail(x) -> (exists y (plant(y) & eats(x,y))))).(all x all y ((Wolf(x) & Fox(y)) -> -eats(x,y))).(all x all y ((Wolf(x) & Grain(y)) -> -eats(x,y))).(all x all y ((Bird(x) & Snail(y)) -> -eats(x,y))).-(exists x exists y (animal(x) & animal(y) & eats(x,y) &

(all z (Grain(z) -> eats(y,z))))).end_of_list.

225

Der Beweis dazu benotigt 70 Resolutions + FaktorisierungsschritteEine Version mit Sorten hat folgende Sortenstruktur:

animal

Wolf Fox Bird Caterpillar Snail

plant

grain

Mit einem Trick wurde der OTTER Beweiser dazu gebracht auch mit Sorten um-zugehen. Der Beweis benotigt nur noch 18 Schritte ist und ist sehr viel schneller.

15.7 Optimierungen der Unifikation in OSPL

Die Unifikation in nicht gutartigen Sortenstrukturen ist unentscheidbar undinfinitar. Aber auch bei gutartigen kann die Komplexitat hoch sein und dieUnifikation umstandlich. Weitere Einschrankungen, die zu besseren Algorithmenfuhren, sind:Man laßt nur Halbverbande als partielle Ordnung der Sortenhierarchie zu. Halb-verbande bedeutet in unserem Zusammenhang, dass es fur je zwei Sorten maxi-mal eine großte gemeinsame Untersorte gibt. D.h. zwei Sorten haben entwedereinen glb oder keine gemeinsame Untersorte.In diesem Fall kann man die Variablenabschwachung eindeutig durchfuhren.

x : R?= y : S → x

?= z : T, y?= z : T

wobei T = glb(R,S) ist. Wenn der glb nicht existiert, kann man abbrechen.Die Unifikation kann unitar (d.h. mgu ist eindeutig) werden, wenn in der Si-gnatur gilt, dass zusatzlich die Termabschwachung immer auf eindeutige Weiseausgefuhrt werden kann

16 Im WWW verfugbare Information uber De-duktionssysteme

Einige Emailadressen von uberblick uber Beweissysteme und Adressen von Au-tomatischen Deduktionssystemen.

• Uberblick http://www.cs.miami.edu/ tptp/OverviewOfATP.html

• Otter: http://www-unix.mcs.anl.gov/AR/otter/

• EQP: http://www-unix.mcs.anl.gov/AR/EQP/

• Argonne Beweiser: http://www-unix.mcs.anl.gov/AR/

• SPASS: http://www.mpi-sb.mpg.de/units/ag2/projects/SPASS/

• TPTP Problem Bibliothek: http://www.cs.miami.edu/ tptp/

226

• Isabelle: http://www.cl.cam.ac.uk/Research/HVG/Isabelle/

• Coq: http:// pauillac.inria.fr/coq/

• Weitere Systeme : http://www.cs.miami.edu/ Et-ptp/CASC/JC/SystemDescriptions.html

227


Recommended