uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen...

132
Automatische Deduktion Teil 1 : Deduktionssysteme: Grundlagen Sommersemester 2008 Professor Dr. Manfred Schmidt-Schauß Fachbereich Informatik und Mathematik J.W.Goethe-Universit¨ at Frankfurt 1

Transcript of uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen...

Page 1: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Automatische Deduktion

Teil 1 : Deduktionssysteme: Grundlagen

Sommersemester 2008

Professor Dr. Manfred Schmidt-SchaußFachbereich Informatik und Mathematik

J.W.Goethe-Universitat Frankfurt

1

Page 2: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Inhaltsverzeichnis

1 Einfuhrung und Uberblick: Grundlagen und Anwendungen vonAutomatischen Deduktionssystemen 41.1 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Vorbemerkung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Begriffe und Teilgebiete aus der Automatischen Deduktion . . . . 8

1.3.1 Beweiserbau . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.2 Gleichheitsbehandlung . . . . . . . . . . . . . . . . . . . . 81.3.3 Termersetzungssysteme . . . . . . . . . . . . . . . . . . . 91.3.4 Unifikation . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.5 Logiken und (interaktive) Beweiser hoherer Ordnung . . . 91.3.6 Nichtmonotone Logiken . . . . . . . . . . . . . . . . . . . 91.3.7 Logische Methoden wissensbasierter Systeme . . . . . . . 91.3.8 Modallogik . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.9 Deduktive Programmsynthese . . . . . . . . . . . . . . . . 101.3.10 Logisches Programmieren . . . . . . . . . . . . . . . . . . 101.3.11 Anwendungen Automatischer Deduktionssysteme . . . . . 101.3.12 Wichtigste Methoden . . . . . . . . . . . . . . . . . . . . 10

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) 182.1 Folgerungsbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . 202.2 Tautologien und einige einfache Verfahren . . . . . . . . . . . . . 222.3 Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.4 Schnelle CNF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.5 Resolution fur Aussagenlogik . . . . . . . . . . . . . . . . . . . . 282.6 Davis-Putnam-Verfahren . . . . . . . . . . . . . . . . . . . . . . . 312.7 Davis-Putnam-Logemann-Loveland Verfahren mit Backjumping . 37

2.7.1 Restart, Regeln zum Lernen und Vergessen . . . . . . . . 412.8 Tableaukalkul fur Aussagenlogik . . . . . . . . . . . . . . . . . . 41

2.8.1 Tableau-Kalkul fur Aussagenlogik . . . . . . . . . . . . . 422.9 Eintscheidungsprozeduren fur quantifizierte Boolesche Formeln . 51

2.9.1 Formeln in Klauselform . . . . . . . . . . . . . . . . . . . 532.9.2 Optimierungen: . . . . . . . . . . . . . . . . . . . . . . . . 55

2.10 Internet Referenzen . . . . . . . . . . . . . . . . . . . . . . . . . . 56

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

3.0.1 Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.0.2 Kalkul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2

Page 3: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

3.0.3 Logische Zustandsubergangssysteme . . . . . . . . . . . . 623.0.4 Steuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.0.5 Verwendung, Dialogverhalten . . . . . . . . . . . . . . . . 63

4 Pradikatenlogik (PL1) und Resolution 654.1 Syntax der Pradikatenlogik erster Stufe . . . . . . . . . . . . . . 654.2 Semantik von PL1 (nach Tarski) . . . . . . . . . . . . . . . . . . 69

4.2.1 Berechenbarkeitseigenschaften der Pradikatenlogik . . . . 774.3 Normalformen von PL1-Formeln . . . . . . . . . . . . . . . . . . 78

5 Resolution und Unifikation 845.1 Grundresolution: Resolution ohne Unifikation . . . . . . . . . . . 84

5.1.1 Resolution im allgemeinen Fall . . . . . . . . . . . . . . . 855.2 Unifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.3 Komplexitat des Unifikationsalgorithmus . . . . . . . . . . . . . . 92

5.3.1 Ein effizienterer Unifikationsalgorithmus nach Martelliund Montanari . . . . . . . . . . . . . . . . . . . . . . . . 93

5.4 Der allgemeine Resolutionskalkul . . . . . . . . . . . . . . . . . . 955.5 Schritte zum Vollstandigkeitsbeweis der allgemeinen Resolution . 955.6 Ein Beispiel fur Resolutionsbeweise: Hilbertkalkul . . . . . . . . . 985.7 Loschregeln: Subsumtion, Tautologie und Isoliertheit . . . . . . . 100

6 Einschrankung der Resolution 1066.1 Set-of-Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066.2 UR-Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066.3 Hyperresolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116.4 Input-Resolution und Unare Resolution . . . . . . . . . . . . . . 1116.5 Eingabe-Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.6 Lineare Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.7 SL-Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146.8 SL-Resolution fur Horn Klauseln . . . . . . . . . . . . . . . . . . 114

7 DPLL mit Theorien: SMT: Satisfiability modulo Theories 1177.1 Algorithmus zu SMT . . . . . . . . . . . . . . . . . . . . . . . . . 1177.2 Direkte SMT-Prozeduren . . . . . . . . . . . . . . . . . . . . . . 1187.3 Indirekte SMT-Prozeduren . . . . . . . . . . . . . . . . . . . . . 1197.4 Die Regeln der DPLL(T)-Prozedur . . . . . . . . . . . . . . . . . 119

8 Automatische induktive Beweise und ein System dazu: VeriFun1228.1 Zur Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

8.1.1 Auswertung von Ausdrucken . . . . . . . . . . . . . . . . 1248.1.2 Boolesche Ausdrucke und Auswertungen . . . . . . . . . . 125

8.2 Syntax und Semantik der logischen Formeln . . . . . . . . . . . . 1268.2.1 Allgemeine Formeln . . . . . . . . . . . . . . . . . . . . . 126

8.3 Beweise mit vollstandiger Induktion . . . . . . . . . . . . . . . . 1278.4 Beispiel: Kommutativitat der Peano-Addition . . . . . . . . . . . 127

3

Page 4: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

8.4.1 Beobachtungen aus dem Beweis . . . . . . . . . . . . . . . 1298.5 Terminierung von Funktionen . . . . . . . . . . . . . . . . . . . . 1298.6 Listen-Beispiele in VeriFun . . . . . . . . . . . . . . . . . . . . . 130

8.6.1 Listen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

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

1.1 Literatur

Folgende Bucher und Handbuchartikel konnen als Grundlage fur ein vertieftesStudium dienen:[And86, And02, BN98, Duf91, Bib83, Bib92, BS98, BB87, RB79] [Bun83, CL73,EFT86, Gal86, GN87, HK89, Kel03], [RS98, Kow79, Lov87, Pau94, SA94,WOLB84, BS94, BS99][KK06]Fur spezielle 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.

4

Page 5: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

[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, 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.

5

Page 6: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

[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.

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

[KK06] Martin Kreuzer and Stefan Khling. Logik in der Informatik. PearsonStudium, 2006.

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

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

[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.

[NOT06] Robert Nieuwenhuis, Albert Oliveras, and Cesare Tinelli. SolvingSAT and SAT Modulo Theories: From an abstract Davis–Putnam–Logemann–Loveland procedure to DPLL(T). J.ACM, 53(6):937–977, 2006.

[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.

6

Page 7: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

[RS98] C. Rollinger and Peter H. Schmitt. Kunstliche Intelligenz: Themen-heft Deduktion und Anwendung, 1998. in german.

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

[Smu71] Raymond M. Smullyan. First-Order Logic. Springer, 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.

7

Page 8: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

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

Software Verifikation Z.B.: (SVRC) an der University of QueenslandKarlsruhe Interactive Verifier (KIV) PVS-SystemModel-Checker.

Hardware Verifikation: Verifikation von Implementierungen von IEEE-Gleitkomma- Standards,Addierer, Multiplizierer,Mikroprozessoren (AMD5K86, FM9001).Spezialisierte Software-Werkzeuge.

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 Begriffe und Teilgebiete aus der Automatischen De-duktion

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.

8

Page 9: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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:Gemeinsamen Instanzen von Pattern, Losungen von Gleichungen, Logiken er-ster Ordnung, Typcheck in Programmiersprachen, Gleichungstheorien, Lambda-Kalkul.

1.3.5 Logiken und (interaktive) Beweiser hoherer Ordnung

Aus dem ersten Beweissystem dieser Art: LCF, ist die ProgrammierspracheML hervorgegangen. Der Beweiser HOL ist eines der Nachfolgesysteme. Hierzuzahlt auch Isabelle: mit einer eigenen Logik; eigenem Beweis-system und derProgrammiersprache Standard ML.Charakteristisch ist die interaktive Vorgehensweise: Ein Mensch steuert das Vor-gehen des Beweisers durch vielfaltige Angaben: Lemmas, Strategien usw. Die zu-grundeliegende Logik garantiert aber, dass es nach Abschluss des Beweises keineformalen Fehler gibt. Diese Systeme werden auch im Sinne eines Beweisprufersverwendet. Nachteilig ist die Dauer einer Sitzung zu einem Beweis (kann Ta-ge/Wochen/ Monate sein).

1.3.6 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.7 Logische Methoden wissensbasierter Systeme

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

1.3.8 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.

9

Page 10: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

1.3.9 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.10 Logisches Programmieren

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

1.3.11 Anwendungen Automatischer Deduktionssysteme

� logische Programmiersprachen, Constraints + logische Programmierspra-chen.

� deduktive Datenbanken

� Planen, Plangenerierung in Systemen der KI.

� Diagnose.

� Nachweis der Korrektheit von Hard- oder Software:

– Programmverifikation

– Programmanalyse

– Automatische Programm Generierung

– Untersuchung von Sicherheitsprotokollen

� Inferenzkomponenten fur wissensbasierte Systeme

� Wissensreprasentationformalismen

1.3.12 Wichtigste Methoden

Resolution

Tableaukalkule

Gleichheit Termersetzung, Paramodulation, Superposition

Modelchecking

10

Page 11: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

� Die ”Kepler-Vermutung zur dichtesten Kugelpackung im Raum“: DieseVermutung ist (war) bereits uber dreihundert Jahre alt.

Sie besteht darin, dass die dichteste Kugelpackung im Raum diejenige ist,die man 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 lasst sichdiese nicht fortsetzen.

Interessanterweise ist sogar der Beweis der (scheinbar offensichtlichen)Vermutung, dass man keine 13 Kugeln um eine Zentralkugel gruppierenkann, so dass alle 13 die Zentralkugel beruhren, noch nicht so alt, ob-wohl bereits z.B Newton sich daran versucht hat. (Erster korrekter Beweisgefuhrt von K. Schutte und B.L. van der Waerden 1953.)

11

Page 12: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

Die Losung erforderte umfangreiche mathematische Vorarbeit, bis man dasProblem darauf reduziert hatte, Kugelhaufen mit 53 Kugeln zu untersu-chen. Hiervon gibt es ca. 5000 Typen, die alle untersucht werden mussen.Dies wurde mit Hilfe eines Computers durchgefuhrt.

Die Akzeptanz der Losung des Kepler-Problems bereitete und bereitet immernoch Probleme, da es sich um eine Kombination von mathematischem Argumen-tieren und mit Programmen durchgefuhrte Suchen und langwierigen Prufungenhandelt. Die mathematische Argumentation ist nachvollziehbar, aber die Kor-rektheit und das Ergebnis der Computerprogramme nicht (in sinnvoller Zeit);jedenfalls nicht so dass es den Erfordernissen eines Mathematischen Journalsentspricht.Tom Hales hat daraufhin eine Initiative gestartet: das Flyspeck-Projekt, daseine formale Verifikation seines Beweises zum Ziel hat, so dass das Programmie-ren und der Programmablauf keine ”Locher“hat. Kurz zusammengefasst sinddie meisten Teil-Probleme Constraintprobleme uber reellen Variablen: Unglei-chungssysteme zu reellen Variablen. Diese Systeme beschreiben mogliche Lagenvon Kugeln im Raum, wobei die Mittelpunkte der Kugeln den reellen Variablenentsprechen. Allerdings sind es offenbar viele verschiedene Klassen von solchenProblemen.Soweit es aus der Projektbeschreibung hervorgeht, sollen beim Flyspeck-Projektauch automatische Deduktionssysteme eingesetzt werden: HOL Light.

Beim Vierfarbensatz und beim Kepler-Problem ist die Methode analog zu ei-nem Logik-Crunching, 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,

12

Page 13: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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:

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:

13

Page 14: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

http://www-unix.mcs.anl.gov/∼mccune/papers/robbins/lemmas.html

http://www.cs.unm.edu/∼mccune/eqp/ undhttp://www.cs.unm.edu/∼mccune/otter/

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 isst Fische“

”Garfield ist eine Katze“

”Garfield isst 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:

14

Page 15: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

”Alle X haben die Eigenschaft E“

”A ist ein X“

”A hat die Eigenschaft E“

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 Schlussfolgerungen zieht und damit neue Daten ableitet. Welche Art vonSchlussfolgerungen 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, sind imPrinzip sehr ahnlich zu denen, die ihn zum Rechnen mit Zahlen befahigen. DieFakten mussen als Datenobjekte reprasentiert und die Schlussfolgerungen alsOperationen 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“.

15

Page 16: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 Zusammenhangeeinfach 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 wusste 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 logische

16

Page 17: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Sprache 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.

Der Punkt ist weiß. Informell kann man so argumentieren:

Der erste Weise kann nur WW oder WS sehen, sonst wusste er seine Farbe.Der zweite Weise kann diesen Schluss nachvollziehen, aber auch er sieht WWoder WS, und kann somit nichts schließen. Allerdings kann der Fall WS bei 2nicht auftreten, da 1 ja nichts schließen konnte, also kann 2 nur WW sehen.Der dritte Weise kann jetzt alle Wissensstande nutzen: Wenn er SS sieht, dannweiß er dass er W hat. Wenn er WS sieht, und er hat selbst S, dann muss einanderer Weise SS gesehen haben, und somit seine Farbe wissen. Also hat erauch in diesem Fall W. Wenn er WW sieht, und selbst S hat, dann hatte aberder zweite Weise schon sagen konnen, was er selbst hat, also muss er W haben.Das kann man mit Modallogik formal modellieren (siehe Kapitel ??)

17

Page 18: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

18

Page 19: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

∧ ∨ ⇒ ⇐ 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.

19

Page 20: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

� 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

20

Page 21: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

� 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

21

Page 22: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.8).

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.

22

Page 23: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

23

Page 24: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

� 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 Nuss.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: ∧ ↔ ∨,

24

Page 25: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 Schlussfolgerungen 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

)

25

Page 26: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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) ∧ (B ∨ C) ∧ (¬C ∨ C)

2.4 Schnelle CNF

Wir geben einen Algorithmus an, der eine aussagenlogische Formel F in poly-nomieller Zeit in eine CNF FCNF umwandelt, wobei die Formel F erfullbar istgdw. FCNF erfullbar ist (Erfullbarkeits-Erhaltung). Es ist hierbei nicht gefor-dert, dass F und FCNF aquivalent als Formeln sind! Beachte, dass bei diesemVerfahren die Anzahl der Variablen 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.

26

Page 27: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

Zunachst benotigen wir den Begriffe Tiefe einer Aussage und Sub-Tiefe einerSubformel in einer Aussage (betrachtet als Syntaxbaume). Beachte hierbei aber,dass es jetzt auf die genaue syntaktische Form ankommt: Es muss voll geklam-mert sein. Man kann es auch fur eine flachgeklopfte Form definieren, allerdingsbraucht man dann eine andere Syntaxdefinition usw.

Definition 2.24 Die Tiefe einer Formel ist die maximale Lange eines Pfadesim Syntaxbaum.Die Sub-Tiefe einer Subformel in einer Aussage definiert man entsprechenddem Aufbau der Syntax: Zunachst hat jede Formel F eine Sub-Tiefe 0 in sichselbst. Sei H eine Subformel von F der Sub-Tiefe n. Dann definieren wir furSubformeln von F wie folgt:

� Wenn H ≡ ¬G, dann hat G die Sub-Tiefe n + 1 in F .

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

Definition 2.25 Schneller CNF-AlgorithmusWenn eine Formel bereits in der Form H1∧ . . .∧Hn ist, und Hj eine Tiefe ≥ 4hat, dann ersetze Hj folgendermaßen: Ersetze alle Subformeln G1, . . . , Gm vonHj mit Sub-Tiefe 3 in Hj durch neue Variablen Ai (ersetze Gi nur wenn es eineAtome ist): D.h. Ersetze Hj = H ′

j [G1, . . . , Gm] durch (G1 ⇔ A1)∧ . . .∧ (Gm ⇔Am) ∧H ′

j [A1, . . . , Am] in der Formel H1 ∧ . . . ∧Hn.Iteriere diesen Schritt, bis er nicht mehr durchfuhrbar ist.Danach wandle die verbliebenen Formeln mit Tiefe ≤ 3 in CNF um.

Die Begrundung der verbesserten Komplexitat ist folgendermaßen: Aus einerFormel F der Tiefe n entsteht im ersten Schritt eine Formel der Tiefe hochstens3 und weitere Konjunktionsglieder der Form G ⇔ A (mit kleinerer Tiefe als F ).D.h. nur in G kann wieder ersetzt werden. D.h. die Anzahl der neu hinzugefugtenFormeln ist kleiner als die Anzahl aller Subformeln der ursprunglichen FormelF . Den Aufwand zur Umformung der kleinen Formeln kann man als konstantansehen. Da die Große der Formel F gerade die Anzahl der Subformeln ist,ist die Anzahl der durchzufuhrenden Schritte linear. Je nach Datenstruktur(zur Vermeidung von Suche) kann man den Algorithmus linear formulieren undimplementieren.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.Beachte, dass man Disjunktionen und Konjuntionen auch als Liste verarbeitenkann, aber zur schnellen CNF-Herstellung muss man eine obere Schranke der

27

Page 28: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Lange festsetzen, sonst ergibt sich wieder das Problem einer exponentiell großenCNF.

Beispiel 2.26 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: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.27 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.

Aussage 2.28 Wenn aus einer Formel F mittels des Algorithmus in Definition2.25 eine Formel (bzw. eine CNF) F ′ produziert wird, dann gilt folgendes:

1. F ist erfullbar gdw. F ′ ist erfullbar.

2. F ist Widerspruch gdw. F ′ ein Widerspruch ist.

3. Wenn F eine Tautologie ist, dann ist F ′ erfullbar.

4. F ′ ist i.a. keine Tautologie.

Bemerkung 2.29 Ein Implementierung eines Algorithmus, der Formeln inKlauselmengen verwandelt, kann z.B. auf der www-Seite http: // spass.

mpi-sb. mpg. de gefunden werden. Das Programm heißt FLOTTER. Es benotigteinen gewissen Vorspann: Symbole, . . . ; es verlangt eine standardisierte Syn-tax und erzeugt dann als Ausgabe-Datei eine Klauselmenge. Diese kann dannin einen weiteren Beweiser (SPASS) eingegeben werden. Allerdings hat FLOT-TER einen aussagenlogischen Check als Teilsystem eingebaut, so dass sich aus-sagenlogische Formeln sofort damit entscheiden lassen. Dieses System gibt imerfullbaren 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:

28

Page 29: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

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

29

Page 30: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 lasst, 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}}

D.h. es wurden zwei tautologische Klauseln hinzugefugt. Ein Modell lasst sichdirekt nicht ablesen. Zum Generieren von Modellen ist die Davis-Putnam-Prozedur (siehe 2.6) oder ein Tableaukalkul (siehe 2.8) 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

30

Page 31: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.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 C 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.

31

Page 32: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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})

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:2P ist isoliert, wenn ¬P nicht mehr vorkommt, entsprechend ¬P ist isoliert, wenn P nicht

mehr vorkommt

32

Page 33: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

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

33

Page 34: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

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

34

Page 35: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

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:

35

Page 36: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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:

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],

36

Page 37: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

[-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:- - D - - - - -- - - - - - D -- D - - - - - -- - - - - - - D- - - - D - - -D - - - - - - -- - - D - - - -- - - - - D - -

2.7 Davis-Putnam-Logemann-Loveland Verfahren mitBackjumping

Die DPLL-Implementierungen sind aktuell die schnellsten implementierten Al-gorithmen um aussagenlogische Klauselmenge auf Erfullbarkeit zu testen (SAT-Solver). Ein wichtiger Trick bzw eine wichtige Verbesserung besteht darin, dasBacktracking zu verbessern, das in der obigen Implementierung durch die Re-kursion festgelegt war. Wir geben die wesentlichen Ideen und die Motivation undBegrundungen dieser Optimierungen der DPLL-Methode an (siehe [NOT06]).Dazu benutzen wir die Schreibweise aus [NOT06].Die DPLL-Prozedur hat als Zustandsdarstellung M || F , wobei M die aktuelleBelegung von aussagenlogischen Variablen darstellt durch eine Folge von Lite-ralen. Hierbei werden die Literale, fur die Fallunterscheidung gemacht werdenmuss, mit d gekennzeichnet: ”decision literals“. F ist eine Formel, i.a. die Klau-selmenge, die wahrend der (einfachen) Prozedur nicht verandert wird. l wird alsundefiniert in M bezeichnet, wenn l durch M nicht festgelegt wird, d.h. wederl noch ¬l in M vorkommen.

37

Page 38: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Die DPLL-Prozedur ist beendet wenn folgendes gilt, wobei es zwei Moglichkeitengibt:

� Wenn fur alle Klauseln C aus F gilt: M |= C, und wenn keine Regelmehr anwendbar ist. Dann hat die DPLL Prozedur ein Modell M fur Fgefunden.

� Wenn Fail anwendbar ist. In dem Fall sind alle Moglichkeiten erschopft, Mbesteht nur noch aus Literalen ohne Alternative, und man findet trotzdemeine Klausel C mit M |= ¬C. Die Ausgabe der DPLL-Prozedur ist dann,dass F widerspruchlich ist.

Die DPLL-Prozedur hat 5 Regeln:

UnitPropagate :

M || F,C ∨ l =⇒ M l || F,C ∨ l

{M |= ¬Cl ist nicht definiert in M

PureLiteral :

M || F =⇒ M l || F

l kommt in einer Klausel von F vor¬l kommt in F nicht vorl ist nicht definiert in M

Decide :

M || F =⇒ M ld || F

l oder ¬l kommt in einer Klauselvon F vorl ist nicht definiert in M

Fail :

M || F,C =⇒ Fail{

M |= ¬CM enthalt keine d-Literale

Backtrack :

M ld N || F,C =⇒ M ¬l || F,C

{M ld N |= ¬CN enthalt keine d-Literale

Dieses Verfahren entspricht dem rekursiven Verfahren, das schon behandelt wur-de, auch wenn es anders notiert ist.Kurze Kommentare zu den Regeln, auch um die Notation zu vertiefen:

UnitPropagate Wenn es eine Klausel C ∨ l gibt, so dass M |= ¬C, d.h. C istfalsch, dann muss l wahr sein. Also kann man l zu M hinzunehmen.

PureLiteral Wenn l vorkommt, aber ¬l nicht, dann kann man l als wahr anneh-men, da es im Fall der Erfullbarkeit auch ein Modell gibt, das auch l wahrmacht.Ein Unterschied zur Prozedur DP oben ist, dass in DPLL die PureLiteral-Regel sich auf globale Vorkommen von l,¬l bezieht, wahrend DP sichdie puren Literale nach Wegstreichen von Klauseln anschaut, und deshalbdiese Regel besser einsetzt.

Decide: Fallunterscheidung zur Belegung von l (die Fallunterscheidung ist hiernicht explizit in den Regeln enthalten). Normalerweise wird Decide nurangewendet, wenn keine andere Regel anwendbar ist.

38

Page 39: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Fail: Wenn eine Klausel falsch wird unter der aktuellen Belegung, aber es keineMoglichkeit gibt, zuruckzusetzen, dann ist die Klauselmenge unerfullbar.Wenn M kein d-Literal enthalt, dann folgen alle Literale in M aus F .

Backtrack: Alle Literale in N sind Folgerungen aus M ld, also kann man biszum letzten d-Literal zuruckgehen, und sich dort anders entscheiden. DieKlausel C, die falsch ist unter M , wird auch Konflikt-Klausel genannt

Ein besseres Backtracking ist moglich, wenn man genauer verfolgt, was als Ur-sache fur die Konflikt-Klausel in Frage kommt. Hier muss man auch ruckwartsdie Effekte von UnitPropagate beachten.Betrachte folgendes Beispiel aus [NOT06] zum besseren Backtracking.

Beispiel 2.43 In diesem Beispiel werden die negativen Literale durch eineOberlinie markiert.

∅ || 1 ∨ 2, 3 ∨ 4, 5 ∨ 6, 6 ∨ 5 ∨ 2 ⇒ Decide1d || 1 ∨ 2, 3 ∨ 4, 5 ∨ 6, 6 ∨ 5 ∨ 2 ⇒ UnitPropagate

1d2 || 1 ∨ 2, 3 ∨ 4, 5 ∨ 6, 6 ∨ 5 ∨ 2 ⇒ Decide1d23d || 1 ∨ 2, 3 ∨ 4, 5 ∨ 6, 6 ∨ 5 ∨ 2 ⇒ UnitPropagate

1d23d4 || 1 ∨ 2, 3 ∨ 4, 5 ∨ 6, 6 ∨ 5 ∨ 2 ⇒ Decide1d23d45d || 1 ∨ 2, 3 ∨ 4, 5 ∨ 6, 6 ∨ 5 ∨ 2 ⇒ UnitPropagate

1d23d45d6 || 1 ∨ 2, 3 ∨ 4, 5 ∨ 6, 6 ∨ 5 ∨ 2 ⇒ Backtrack

1d23d45d || 1 ∨ 2, 3 ∨ 4, 5 ∨ 6, 6 ∨ 5 ∨ 2 ⇒

Die Konflikt-Klausel ist 6 ∨ 5 ∨ 2. Man sieht, dass dies eine logische Konse-quenz der Entscheidung 1d ist, aber nicht aus 3d folgt. Auch kann man erkennen(auch algorithmisch), dass 1d mit 5d unvereinbar ist. Also kann man die Klausel1 ∨ 5 herleiten und zum Backtracking verwenden. D.h. eigentlich konnte manmit Backjump so fortsetzen: 3d kann ubersprungen werden und 5 kann ohneAlternative benutzt werden.

1d23d45d6 || 1 ∨ 2, 3 ∨ 4, 5 ∨ 6, 6 ∨ 5 ∨ 2 ⇒ Backjump1d25 || 1 ∨ 2, 3 ∨ 4, 5 ∨ 6, 6 ∨ 5 ∨ 2

Die DPLL-Prozedur mit Backjump besteht aus den 4 DPLL-Regeln, und stattder Backtrack-Regel aus der Backjump-Regel:

Backjump :

M ld N || F,C =⇒ M l′ || F,C

M ld N |= ¬CEs gibt eine Klausel C ′ ∨ l′ mitF,C |= C ′ ∨ l′ und M |= ¬C ′

l′ ist nicht definiert in Ml′ oder ¬l′ kommen in F oder in M ld N vor

Hierbei ist C die Konfliktklausel und C ′ ∨ l′ die Backjump-Klausel.Im obigen Beispiel ist C = 6∨5∨2, C ′ = 1 und l′ = 5. Beachte, dass die KlauselC ′ ∨ l′ i.a. nicht in F vorkommt, sondern erst erzeugt werden muss. Zu dieser

39

Page 40: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Berechnung gibt es in der Literatur und in den implementierten SAT-Beweisernverschiedene Moglichkeiten und Strategien; eine ist oben im Beispiel angedeutet.Oft wird die Klausel C ′∨l′ auch als Lemma, oder als gelernte Klausel bezeichnetEs wird oft der Konfliktgraph zur partiellen Intepretation und zu M mitgefuhrt.Der Konfliktgraph am Beispiel oben:

Wid

1

3

−6

Konflikt

5

2

4

Ein leicht komplexeres Beispiel, bei dem der Konflikt nicht direkt am d-Literalauftritt:

� F enthalt: {9, 6, 7, 8}, {8, 7, 5}, {6, 8, 4}, {4, 1}, {4, 5, 2}, {5, 7, 3}, {1, 2, 3}

� M ist von der Form: . . . 6 . . . 7 9d 8 5 4 1 2 3

−7

−8

4 −1

−3

2

−5

9d

6

Zum Fortschritt bzw der Ordnung die die Terminierung der DPLL-Prozedurbestimmt:Diese wird alleine bestimmt durch die partielle Interpretation M , inklusive der d-Markierungen, da der Zustand M || C nur durch Unterschiede von M bestimmtwird.

M ′ ld . . . > M ′ l′ . . .

wenn l′ kein d-Literal (d.h. kein Fallunterscheidungs-Literal) ist. Damit kannman l′ aus den d-Literalen von M ′ (und aus C) herleiten: ohne Fallunterschei-dung.Die normale DPLL-Prozedur verkleinert die obige Ordnung in jedem Schritt.

40

Page 41: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Da die Ordnung fundiert ist – es gibt nur endlich viele Literale – terminiert dasVerfahren.

2.7.1 Restart, Regeln zum Lernen und Vergessen

Eine weitere Moglichkeiten zum Verbessern der DPLL-Prozedur ist das (gele-gentliche) Restarten der DPLL-Prozedur:

Restart :

M || F =⇒ ∅ || F, F ′{

F |= F ′

F ′ ermittelt aus M und F

Damit kann man die ganze Prozedur mit einer erweiterten Klauselmenge noch-mal starten, wobei man Klauseln hinzunimmt, die aus dem abgebrochenenDPLL-Lauf als Folgerungen aus F implizit berechnet wurde. Diese sollenmoglichst klein sein. Meist wird Restart statt eines Backjumps gemacht, al-lerdings so gesteuert, dass das teurere Restarten eher selten passiert.Im allgemeinen werden mittels Statistiken und Strategien diese neuen Klau-seln bestimmt, und auch evtl. wieder eliminiert, wenn diese (lt. Ablaufstatistik)keinen Nutzen bringen.

Lernen und Vergessen in der DPLL-Prozedur wird zwar sehr stark von heuri-stischen Parametern, Statistiken usw. bestimmt, aber die allgemeinen Regelnkann man leicht so formulieren:

Learn :

M || F =⇒ M || F,C

{Jedes Atom aus C kommt inF oder M vorF |= C

Forget :M || F,C =⇒ M || F wenn F |= C

Diese Regeln zum Lernen und Vergessen sind Inverse voneinander und konnensomit unendliche Ablaufe von Lernen und Vergessen erzeugen. Dies wird durchStrategien in den Implementierungen verhindert.

2.8 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:

41

Page 42: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

� α-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).

2.8.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.44 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 zulasst.

42

Page 43: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Definition 2.45 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, sodass 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.46 Wir zeigen ein (das) Tableau fur X ∧ ¬X:

X ∧ ¬X|X|¬X

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

43

Page 44: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

¬(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

Beispiel 2.48

¬((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

44

Page 45: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Ubungsaufgabe 2.49 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.50 Zeige, dass P ⇒ (Q ⇒ P ) eine Tautologie ist:

¬(P ⇒ (Q ⇒ P ))

P

¬(Q ⇒ P )

Q

¬(P )

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

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

45

Page 46: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

(P ⇒ Q)

(Q ⇒ R)

¬(P ⇒ R)

P

¬R

nnnnnnnnnnnnn

JJJJJJJJJJ

¬P Q

tttttttttt

JJJJJJJJJJJ

geschlossen ¬Q R

geschlossen geschlossen

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.52 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.53 Fur die Tableau-Expansionsregeln gilt: Wenn T zu T ′ expandiertwird, dann ist T erfullbar gdw. T ′ erfullbar.

46

Page 47: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.54 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.53, 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.

Bemerkung 2.55 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.

47

Page 48: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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(N): {3, 3, 2, 1} >> {3, 2, 2, 2}, denn {3, 2, 2, 2} = {3, 3, 2, 1} \ {3, 1} ∪{2, 2, 2}.

Lemma 2.56 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:

� ¬¬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.

48

Page 49: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

Definition 2.57 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.58 (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

Aussage 2.59 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.60 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.59, also erfullbar nach Lemma 2.58, undsomit auch die eingegebene Formel, was der Voraussetzung widerspricht. Alsoist jeder Pfad geschlossen. 2

49

Page 50: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Aussage 2.61 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,dass die in diesem Pfad enthaltenen Atome ein Modell der Formel an der Wurzeldefinieren.

50

Page 51: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

2.9 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 ist die Gultigkeit einer Formel definiert.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 kann- Wenn man eine ”effiziente“ Implementierung hat, hat mandamit auch ein effizientes Entscheidungsverfahren fur alle PSPACE-vollstandi-gen Probleme, wobei man vorher noch das Problem entsprechend ubersetzenmusste. Naturlich sind alle bekannten Entscheidungsalgorithmen exponentiell,aber die Hoffnung ist, dass man durch geeignete Optimierungen der Implemen-tierung doch einen großen Anteil der praktisch relevanten Probleme effiziententscheiden kann.

Beispiel 2.62 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 ausagenlogischen Variablen in Fsind.

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

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.Folgendes Verfahren kann man dazu verwenden:

51

Page 52: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

• Alle gebundenen Variablen mussen verschieden sein.Wenn nicht, unter Beachtung der Bindungsbrereich umbennen mit neue Variablen-Namen.Diese Umbennenung muss auch gemacht werden, wenn Formeln kopiert werden, z.B. bei der Elimination von Aquivalenzen.

1. Implikation und Aquivalenz ersetzen.2. Negationen nach innen schieben, u.a. mit

¬(∀X.P ) → (∃X.¬P ) und ¬(∃X.P ) → (∀X.¬P )3. Quantoren nach außen schieben, wobei

F ∨ ∀X.P → ∀X.F ∨ Pdas gleiche auch fur die anderen Kombinationen von Quantoren und Junktoren wedge,∨,

Bei Ubersetzungen von QBFs in aussagenlogische Formeln muss man immer voneinem expontiellen Zeitbedarf ausgehen, manchmal sogar von exponentiellemPlatzbedarf, d.h. die erzeugte Formel ist exponenentiell groß, da Erfullbarkeitvon aussagenlogischen Formeln NP-vollstandig ist bzw. Unerfullbarkeit co-NP-vollstandig.Eine einfache, aber nicht effiziente Moglichkeit, die Gultigkeit einer QBFs zuprufen, die man auch als Definition der Gultigkeit ansehen kann, ist folgendeTransformation:

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

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

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. Eine geschickte Simplifi-kation kann in linearem Platz durchgefuhrt werden, aber in evtl. exponentiellerZeit.Hier ist zu beachten, dass alle geschlossenen QBFs entweder 0 oder 1 ergeben,d.h. entweder Tautologien oder Widerspruche sind (im Sinne der QBFs). Dasgilt in der Pradikatenlogik nicht mehr.

Beispiel 2.63 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.

Eine andere, direkte Ubersetzung nach Aussagenlogik, die QBFs in aussagen-logische Formeln ubersetzen kann erlaubt die Verwendung der aussagenlogischeDPLL-Prozedur: Die neu eingefuhrten Variablen kann man als existenzquanti-fiziert ansehen.

� ∀X.Q → ((X ⇔ 1) ⇒ Y ) ∧ ((X ⇔ 0) ⇒ Y ) ∧ (Y ⇔ (Q ∧ Q))

� ∃X.Q → (((X ⇔ 1) ∧ Y ) ∨ ((X ⇔ 0) ∧ Y )) ∧ (Y ⇔ Q)

52

Page 53: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Hierbei ist Q die Formel Q, bei der alle Vorkommen von X durch ¬X ersetztwurden. Die Ubersetzung ist erfullbarkeitserhaltend. Deshalb kann man nur For-meln auf Widerspruch testen. Die Ubersetzung ergibt eine Formel, die lineareGroße in der Anzahl der Existenzquantoren, aber exponentielle Große in derAnzahl der All-Quantoren hat. Bei der Ubersetzung und nachfolgender Um-wandlung in Klauselform geht die Quantor-Struktur verloren, so dass man dieOptimierungen die die Quantoren erlauben, verliert.

Eine weitere Ubersetzungsvariante von QBFs in Aussagenlogik ist folgende:

� ∀X.Q → ((X ⇔ 1) ⇒ Y ) ∧ ((X ⇔ 0) ⇒ Y ) ∧ (Y ⇔ (Q ∧ Q))

� ∃X.Q → (((X ⇔ 1) ∧ Y ) ∨ ((X ⇔ 0) ∧ Y )) ∧ (Y ⇔ Q)

Q ist die Formel Q[¬X/X].

Diese Ubersetzung ist erfullbarkeitserhaltend. D.h. man muss auf Widerspruchtesten!Die Komplexitat der Ubersetzung is linear in der Anzahl der ∃-Quantoren, aberexponentiell in der Anzahl der ∀-Quantoren.

2.9.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. Man kann auch die Variante

P.F [G] → P.∀X.((X ⇔ G) ⇒ F [X])

verwenden.

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

� Bei der Erfullbarkeit gibt es kein Problem, wenn man die erste Varianteverwendet, da man nur eine existenzquantifizierte Variable hinzufugt.

� Bei der Tautologie-Eigenschaft gibt es kein Problem, wenn man die zweiteVariante verwendet, da man dann eine allquantifizierte Formel hat, undallquantifizierte Variablen hinzufugt.

� Allerdings ist die Aquivalenz der Formeln vorher und nacher i.a. falsch.

53

Page 54: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Bei Klauselmengen mit Quantoren-Prafix kann man Klauseln schon vorher klas-sifizieren:

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.

Beispiel 2.64 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.65 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.

54

Page 55: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

� 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.

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.66 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.9.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.

55

Page 56: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

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 fur QBF.

2.10 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, sondern

56

Page 57: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

ahnlich 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, wahrendfur 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 den

57

Page 58: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Modallogiken 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.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. Typische

58

Page 59: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Widerspruche 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,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.

59

Page 60: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

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?

60

Page 61: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 zweiEffizienzkriterien, 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.

61

Page 62: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 vonZustanden 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. Hat

62

Page 63: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

man 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.

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.

63

Page 64: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

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.

64

Page 65: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 lasst. Im Gegensatz zu vielen Programmier-sprachen z.B. ist die Grammatik von PL1 aber extrem einfach. Wie fur diemeisten Logiken 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

65

Page 66: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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, . . .}

66

Page 67: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

67

Page 68: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

� 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}.

68

Page 69: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Zum Schluss des Abschnitts uber die Syntax von PL1 werden noch einigeSprechweisen und Begriffe, die z.T. auch schon benutzt wurden, eingefuhrt. Dasie sehr haufig 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.

69

Page 70: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

70

Page 71: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

71

Page 72: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

� 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.

Σ-Algebra A1 = (N, {0, inc} wobei N = naturliche Zahlen, inc(x) := x + 1,Hierbei wird o der Konstanten 0 zugeordnet und s der FUnktion inc. DieRelationn wird nicht interpretiert.

Σ-Struktur S1 = (N, {0, inc}, {<}) wobei (N = naturliche Zahlen, inc(x) :=x + 1) und das Pradikatensymbol L wird als < interpretiert.

Σ-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 ganz ge-nau festgelegt, wie die Funktionssymbole von Σ in A interpretiert werden – undwenn man sagt, man hat eine Σ-Struktur A, dann ist genau festgelegt, wie dieFunktionssymbole und die Pradikatensymbole von Σ in A interpretiert werden.Die Interpretation der Variablensymbole ist jedoch vorlaufig noch offen. Auchist noch nicht gesagt, wie die Abbildung der Terme formal definiert wird. Manwill ja nicht irgendeine Abbildung, sondern eine, die zur Struktur der Termepasst. Die eleganteste Formulierung dieser Abbildung, die auch fur viele spatereZwecke die richtige Begriffsbildung zur Verfugung stellt, geht von der Beobach-tung aus, dass man fur eine Signatur Σ aus der Menge der Terme T (Σ, V ) selbstzusammen mit einer Menge von ”Termkonstruktorfunktionen“ eine Σ-Algebraerhalt. Diese Termkonstruktorfunktionen nehmen n Terme t1, . . . , tn und bauendaraus einen neuen Term f(t1, . . . , tn) auf. Diese Termalgebra ist das geeigneteObjekt, 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 Σ und

72

Page 73: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

den 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 Σ.

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 passt 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 Tragermenge

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

73

Page 74: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

der Σ-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.)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

6PS ist die in S dem Symbol P zugeordnete Relation

74

Page 75: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

unerfullbar (widerspruchlich) wenn sie von keiner Interpretation erfulltwird.

falsifizierbar wenn sie in einer Interpretation falsch wird.

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.

75

Page 76: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

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 Σ-Struktur 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.

76

Page 77: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

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.

77

Page 78: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

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

78

Page 79: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

(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.

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.

79

Page 80: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

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

80

Page 81: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

∀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.

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 und

F ⇒ G → ¬F ∨G(siehe Lemma 4.26). Die Optimierung durch Abkurzen wie n derAussagenlogik (schnelle CNF) kann auch hier verwendet werden. DieVerallgemeinerung auf Pradikatenlogik erfodert Abkurzungen der FormP (x1, . . . , xn) fur (Sub-)Formeln F mit den freien Variablen x1, . . . , xn.

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 moglich

81

Page 82: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

nach 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

Diese Operationen sind optional und konnen die Stelligkeit der Skolem-funktionen minimieren. Es konnen aber auch mehr Skolemfunktionen ent-stehen.

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 disjunkti-ve Normalform ergeben.) Hier ist eine Optimierung sinnvoll, die mittelsAbkurzungen unnotiges Kopieren von großen Formeln vermeidet. Auchhier ist nochmals umzubenennen, damit alle Klauseln variablendisjunktwerden.

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

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

)

oder in (Multi-)Mengenschreibweise:

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

}}

Bemerkung 4.33 Der CNF-algorithmus (4.32) ist im schlechtesten Fall expo-nentiell, d.h. die Anzahl der Literale in der Klauselform wachst exponentiell mitder Schachtelungstiefe der Ausgangsformel (siehe 2.4).Analog zu 2.4 und kann man den Algorithmus optimieren, so dass nur ein li-neares Anwachsen der Formel erfolgt. Damit gibt es eine zweite Quelle, die dieFormeln nicht-aquivalent macht, und nur die Erfullbarkeit erhalt: Abkurzungenund Skolemisierung.

82

Page 83: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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)| < ε}}.

83

Page 84: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

84

Page 85: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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, lasst sich durch Anwenden der Resolu-tion 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 lasst 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:

85

Page 86: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

σ(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 Instanziierungrelation ≤ [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:

86

Page 87: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

� {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)

87

Page 88: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

88

Page 89: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 Unifikator

P (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.

89

Page 90: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Definition 5.19 Unifikationsalgorithmus U1:

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,Γ

Fail

wenn x ∈ FV(t),

und t 6= x(occurs check Fehler)

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:

90

Page 91: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

{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

91

Page 92: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 lasst 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:

92

Page 93: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.3.1 Ein effizienterer Unifikationsalgorithmus nach Martelli undMontanari

Er basiert auf Multigleichungen, die mehrere Gleichungen bedeuten, z.B. s1?=

s2?= s3 entspricht den zwei Gleichungen s1

?= s2 und s2?= s3. Außerdem werden

nur spezielle flache Terme in Multigleichungen aufgenommen, d.h nur solche mitTiefe 1 und die als Unterterme nur Variablen haben. Z.B. wird f(g(x), y) ?= z

als f(x′, y) ?= z, x′?= g(x) behandelt. Nach einer Vorbereitung, das Flachma-

chen (Flattening), das in linearer Zeit durchgefuhrt werden kann, startet derUnifikationsalgorithmus mit einer Multi-Menge von Multigleichungen, die nur

93

Page 94: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

flache Terme enthalten. Die Multimengen werden in den Regeln als Er operiertauf einem Paar: der Multimenge der gelosten und der ungelosten Gleichungen,bezeichnet mit Γs,Γu wobei folgende Regeln angewendet werden:

(Merge)Γs; Γu ∪ {x

?= M1} ∪ {x?= M2}

Γs; Γu ∪ {x?= M1

?= M2}

(solved)Γs; Γu ∪ {x

?= s?= M}

Γs ∪ {x?= s}; Γu ∪ {s

?= M}wenn x /∈ Var(Γu, s, M)

(single)Γs; Γu ∪ {s}

Γs; Γu

(decompose)Γs; Γu ∪ {f(x1, . . . , xn) ?= f(y1, . . . , yn) ?= M}

Γs; Γu ∪ {f(y1, . . . , yn) ?= M} ∪ {x1?= y1} ∪ . . . ∪ {xn

?= yn}

Die neu eingefuhrten Variablen reprasentieren Knoten in einem gerichtetenGraphen, und optimieren dadurch das Sharing. Die einzigen Objekte, diekopiert werden, sind flache Terme, was in konstanter Zeit passieren kann undsomit keine exponentielle Vergroßerung der Terme bzw. der Gleichungsmengebewirkt. Die Erkennung, dass die Menge nicht unifizierbar ist, erfolgt durchzwei Regeln:

(Clash)Γs; Γu ∪ {f(. . .) ?= g(. . .) ?= M}

Nicht unifizierbar

(cycle)

Es gibt eine Folge x1?= s1, . . . xn

?= sn von Gleichungen,so dass x1 ∈ Var(sn) und xi ∈ Var(si−1), i = 2, . . . , n

und mindestens ein si ist keine Variable

Nicht unifizierbar

Argumentation zur Komplexitat: Wir betrachten dabei nur den ungelosten Teil.(decompose) vermindert die Anzahl der Vorkommen der Funktionssymbole, underhoht die Anzahl der Vorkommen von Variablen maximal um die (maximale)Stelligkeit von Funktionssymbolen. die anderen Regeln verkleinern jeweils dieAnzahl der Terme im ungelosten Teil. Da man die Datenstrukturen verwaltenmuss, ergibt sich noch ein logarithmischer Faktor in der Komplexitat. Die cycle-Regel kann ebenfalls polynomiell durchgefuhrt werden analog zum topologischenSortieren.Wenn man die Losung bereitstellen will, muss man darauf achten, dass Γs nichtdie Substitution selbst darstellt, sondern noch nicht voll eingesetzt ist: Z.B.konnte es {x ?= f(y, y), y ?= g(z)} sein. Beim vollen Einsetzen kann sich wie-der eine exponentiell große Substitution ergeben, so dass man entweder DAGsnehmen muss, oder bei der iterierte Form der Einsetzungen bleiben muss.Wir schauen uns an, wie der Algorithmus das exponentielle Wachstum im obigenBeispiel verhindert.

94

Page 95: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Beispiel 5.27 Gleichungen:

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

Nach dem Flachmachen sind die Gleichungen:f(x2, x3, x4, . . . , xn) ?= f(y1, . . . , yn−1), y1

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

g(xn−1, xn−1)).Der Multigleichungsalgorithmus macht daraus in einigen Schritten:x2

?= y1, . . . , xn?= yn−1, y1

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

x2?= y1

?= g(x1, x1), x3?= y2

?= g(x2, x2), . . . xn?= yn−1

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

Wenn wir nur die Variablen xi betrachten, die im Originalproblem vorkommen,dann erhalten wir als Darstellung des Unifikators:

xn 7→ g(xn−1, xn−1)

xn−1 7→ g(xn−2, xn−2)

. . . . . . . . .

x2 7→ g(x1, x1)

Das zeigt deutlich die Struktur der Losung und warum die eingesetzte Losungexponentiell groß wird ohne Sharing.

5.4 Der allgemeine Resolutionskalkul

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

Definition 5.28 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}

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.29 Herbrand Interpretation: Sei C eine Klauselmenge uber derSignatur Σ und V die Menge der Variablen. Eine Herbrand Interpretation isteine Interpretation (IV , T (Σ, ∅), P ) wobei

95

Page 96: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

� 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.30 (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

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. Der

96

Page 97: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Teilbaum 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.31 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.32 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.30) gibt es eine endliche unerfullbare Grundklauselmenge,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

97

Page 98: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.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 lasst sich dann folgendermaßendurch PL1-Formeln beschreiben:

98

Page 99: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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:

99

Page 100: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

5.7 Loschregeln: Subsumtion, Tautologie und Isoliertheit

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. eine

100

Page 101: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Buchfuhrung 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 5.33 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 5.34 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.Dass 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 5.35 Die Loschregel fur isolierte Literale kann zum Resolutionskalkul hin-zugenommen werden, ohne die Widerlegungsvollstandigkeit zu verlieren.

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 5.36 Betrachte die Klauselmenge

C1 : P (a)

C2 : P (b)

C3 : ¬Q(b)

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

101

Page 102: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 5.37 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)}. Dasseine 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 5.38 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 5.39

� P subsumiert {P, S}.

� {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,

102

Page 103: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 5.40 Seien D,E Klauseln in der Klauselmenge C, so dass D die Klau-sel E 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 Ewie τσ 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 5.41 Der Resolutionskalkul zusammen mit der Loschung subsumierterKlauseln ist widerlegungsvollstandig.

103

Page 104: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Beweis. Induktion nach der Lange einer Resolutionsableitung mit Lemma 5.40als Induktionsschritt und der Tatsache, dass die einzige Klausel, die die leereKlausel subsumiert, selbst nur die leere Klausel sein kann, liefert die Behaup-tung. 2

Definition 5.42 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 5.43 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 5.44 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. MitLemma 5.40 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 5.45 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,

104

Page 105: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.

105

Page 106: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

6 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.

6.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.

6.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)}

106

Page 107: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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

107

Page 108: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 6.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.

108

Page 109: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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:

109

Page 110: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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).

110

Page 111: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

6.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.

6.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 6.2 ( Unare Resolution)

111

Page 112: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 (a)

��

¬P (x);P (f(x))

sshhhhhhhhhhh

xxqqqqqqqqqqqqqqqq

||zzzzzzzzzzzzzzzzzzzzz

������

����

����

����

����

����

��

P (f(a))

��P (f(f(a)))

��P (f(f(f(a))))

��P (f(f(f(f(a))))

��

¬P (f(f(f(f(a))))

ssggggggggggggg

2

¬P (x);P (f(x))

��

¬P (x);P (f(x)

ssgggggggggg

¬P (x);P (f(f(x))

��

¬P (x);P (f(f(x))

ssgggggggggg

¬P (x);P (f(f(f(f(x))))

��

P (a)

ssgggggggggggggg

P (f(f(f(f(a))))

��

¬P (f(f(f(f(a))))

rrfffffffffffffff

2

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.

6.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 man

112

Page 113: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

fur 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.

6.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 6.3 Lineare ResolutionWir widerlegen die Klauselmenge {P,Q}, {¬P,Q}, {P,¬Q}, {¬P,¬Q}, einmalmit linearer Resolution und einmal mit allgemeiner Resolution:

lineare Resolution allgemeine Resolution

mit Vorgangerschritt

PQ

��

¬QP

������

����

P

��

��

¬PQ

������

����

Q

��

¬Q¬P

������

����

¬P

��2

PQ

��====

¬QP

~~}}}}

¬PQ

""DDDD

¬P¬Q

{{wwww

P

((QQQQQQQQQ ¬P

uulllllllll

2

Beispiel 6.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.

113

Page 114: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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 .

6.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.

6.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 Klauselaus 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 6.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)

114

Page 115: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

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.Am meisten instanziierte Literale zuerst:

¬A(a, v);¬P (v, d)

C1iiiiiiiiiiiiC2

¬P (a, v);¬P (v, d)

v 7→b;C3

¬P (a, y);¬A(y, v);¬P (v, d)

y 7→b;C3

¬P (b, d) ¬A(b, v);¬P (v, d)

C1C2

WWWWWWWWWWWWWW

Fehler ¬P (b, v)¬P (v, d)

v 7→c;C4

¬P (b, y′);¬A(y′, v);¬P (v, d)

y′ 7→c;C4

¬P (c, d)

C5

¬A(c, v);¬P (v, d)

C1C2

TTTTTTTTTTTT

Erfolg ¬P (c, v);¬P (v, d)

v 7→d;C5

Rekursion

¬P (d, d)

Fehler

115

Page 116: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Am wenigsten instanziierte Literale zuerst:

¬A(a, v);¬P (v, d)

C1iiiiiiiiiiiiC2

¬P (a, v);¬P (v, d)

v 7→b;C3

¬P (a, y);¬A(y, v);¬P (v, d)

C1C2

XXXXXXXXXXXXXXXX

¬P (b, d) ¬P (y, v);¬P (a, y);¬P (v, d)

y 7→a,v 7→b C3

y 7→b,v 7→c

C4

PPPPPPPPPPPPPPPPPPPPPPPPP

y 7→c,v 7→d

C5

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW¬P (y, y′);¬A(y′, v);¬P (a, y),¬P (v, d)

WWWWWWWWWWWWWWWWWWWW

Fehler ¬P (a, a)¬P (b, d) ·

Fehler ¬P (a, b);¬P (c, d)

C3

¬P (a, c);¬P (d, d)

¬P (c, d)

C5

Fehler

Erfolg

116

Page 117: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

7 DPLL mit Theorien: SMT: Satisfiability mo-dulo Theories

SMT- Beweiser (Satisfiability Modulo Theories) sind Erweiterungen der DPLL-Prozedur fur Aussagenlogik, die i.a. die gegebene Klauselmenge in zwei Teilezerlegen: F ∪T , so dass DPLL auf F arbeitet, und es einen Algorithmus (Solverfur T ) bereits gibt, der von der DPLL-Prozedur ab und zu befragt wird, unddann mit den Antworten des T -Solvers weiter fortfahrt. I.a. ist die Theorie Tund der Solver speziell, so dass man hier effizientere Antworten fur den T -Anteilimplementieren kann.Dieser Anteil kann auch eine nicht-Aussagenlogik sein, z.B. Pradikatenlogik er-ster Stufe, so dass man hier eine Kombination von Prozeduren und Logikenhat.

7.1 Algorithmus zu SMT

Im folgenden gehen wir davon aus, dass die Formeln der Pradikatenlogik ersterStufe entsprechen, wobei das Gleichheitssymbol ebenfalls erlaubt ist. Wenn dasGleichheitssymbol vorkommt, dann gelten automatisch die Axiome

Reflexivitat ∀x.x = x

Symmetrie ∀x, y.x = y ⇒ y = x

Transitivitat ∀x, y, z.x = y ∧ y = z ⇒ x = z

Kongruenz Fur alle in der Signatur vorkommenden Funktionssymbole f (mitStelligkeit n) das Axiom:∀x1, . . . , x,y1, . . . , yn : x1 = y1 ∧ . . . ∧ xn = yn ⇒ f(x1, . . . , xn) =f(y1, . . . , yn).und fur alle in der Signatur vorkommenden Pradikatensymbole P (mitStelligkeit n) das Axiom:∀x1, . . . , x,y1, . . . , yn : x1 = y1 ∧ . . . ∧ xn = yn ∧ P (x1, . . . , xn) ⇒P (y1, . . . , yn).

Diese Theorie wird auch EUF (equality with uninterpreted function symbols)genannt.

Zuerst einige Definitionen:

� Eine Theorie T ist eine Menge von geschlossenen PL1-Formeln. Der de-duktive Abschluss von T sind die geschlossenen formeln F mit T |= F .Normalerweise nimmt man an, dass T konsistent ist, d.h. T 6|= false.

� Eine Formel F ist T -erfullbar, gdw. F∧T erfullbar (konsistent) ist im Sinneder PL1. Ansonsten sagt man, dass F T -unerfullbar ist. Zur Erinnerung:G ist erfullbar, gdw. wenn es eine Belegung der freien Variablen in G, und

117

Page 118: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

eine Interpretation der Symbole in G gibt, so dass G wahr wird. (Hierwird angenommen, dass es eine endliche Axiomatisierung gibt, bzw. dassT endlich ist.)

� Eine partielle Interpretation ist eine Menge M aus geschlossenen Lite-ralen. Hier spricht man ebenfalls von T -konsistent und meint damit dieT -Konsistenz der Konjunktion der Literale aus M .

� Eine partielle Interpretation M , die T -konsistent ist, ist ein T -Modell ei-ner Formel F , wenn M |= F gilt. D.h. wenn F eine (aussagenlogische)Folgerung aus M ist.

� F |=T G gilt gdw. F ∧ ¬G T -unerfullbar ist.

� Zwei Formeln F,G sind T -aquivalent, gdw. F |=T G und G |=T F gilt.

� Ein T -Satz (oder T -Lemma, T -Tautologie) ist eine Formel F , fur die ∅ |=T

F gilt.Das ist das gleiche wie: ¬F ist T -unerfullbar, bzw. ¬F ∧T ist unerfullbar.

Das SMT-Problem fur eine Theorie T ist die Aufgabe, gegeben eineFormel F , herauszufinden, ob F T -erfullbar ist bzw. ob F ein T -Modellhat.

Eine Annahme, die hierbei gemacht wird, ist folgende: nur Grund-Mengen Mwerden betrachtet; und nur solche Theorien T , fur die die Erfullbarkeit vonendlichen Mengen M von Grundliteralen entscheidbar ist.Jeder Algorithmus, der diese Aufgabe lost, heißt ein T -Solver.

7.2 Direkte SMT-Prozeduren

Man kann diese in direkte (eager) und indirekte (lazy) Varianten unterteilen.Die direkte Variante der SMT-Prozeduren geht im wesentlichen so vor, dass dieeingegebene Formel F direkt in eine aussagenlogische Formel τ(F ) ubersetztwird, wobei die Theorie in der Ubersetzungsmethode implementiert ist. Hierbeimuss die Erfullbarkeit erhalten bleiben. Diese Formel τ(F ) wird dann mit derDPLL-Prozedur gelost.Vorteil der direkten Methode: Diese kann sofort von verbesserten SAT-Solvernprofitieren.Nachteile: Man muss sich sehr diffizile Ubersetzungstechniken ausdenken, dienormalerweise auch sehr problemspezifisch sind, d.h. nur fur eine eng begrenzteKlasse von Formeln bzw. Problemstellungen funktioniert. Außerdem muss mansicherstellen, dass die Ubersetzung selbst korrekt ist.

Beispiel 7.1 Ein einfaches Beispiel (siehe im Aussagenlogischen Kapitel 2) istdas n-Damen Problem oder der aussagenlogische Sudoku-Loser. Deren Funkti-onsweise beruht auf einer Spezialubersetzung, die das Problem in eine aussagen-logische Klauselmenge ubersetzt.

118

Page 119: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Statt z.B. ∀x, y, z.x 6= y ⇒ Dame(x, z) ⇔ ¬Dame(y, z) die Menge der Grund-instanzen fur die Werte x, y, z, in{1, . . . , n} wobei im Standardfall n = 8.Dieser Fall ist eine Spezialfall der Methode, aus den Klauseln bzw. Formeln allenotwendigen Instanzen zu bilden (wenn klar ist, dass es nur endlich viele sind)und dann die Grundklauseln aussagenlogisch zu behandeln.

Bemerkung 7.2 Historisch gesehen, waren die ersten logischen Beweissyste-me alle von dieser direkten (eager) Art: Eine pradikatenlogische Formel (meistAxiome und die Negation eines zu zeigenden Theorems) wurden systematischinstanziiert, d.h. in Grundklauseln ubersetzt, und dann mit der DP-Prozedurauf widerspruchlichkeit gepruft. Die Grundlage war das Herbrand-Theorem, dasgarantiert, dass man nur endlich viele Grundinstanzen erzeugen muss, wenn esuberhaupt einen Nachweis gibt. Allerdings weiss man vorher nicht, wieviele, undob das Theorem gilt. Die Unentscheidbarkeit impliziert, dass man a-priori keineobere Schranke fur Tiefe der formeln, Anzahl o.a. angeben kann. Diese Verfah-ren war hochgradig ineffizient, da man (in der Tiefe der Terme) exponentiellviele Instanzen erzeugen musste, von denen mehr als 99% sinnlos waren. DieseBeweismethode wurde dann (ca 1965) abgelost von Resolution mit Unifikation,die das unnotige Instanzenbildung vermeidet.Durch die seit dieser Zeit sehr viel schnelleren Rechner ist das alte Verfahrenwieder (in einigen Anwendungsbereichen) interessant geworden. Aber die Inef-fizienzen sind naturlich noch genauso. Das indirekte Verfahren s.u. vermeideteinige dieser Ineffizienzen.

7.3 Indirekte SMT-Prozeduren

Im Folgenden soll die indirekte Methode, die den Weg uber eine DPLL(T)-Varianten geht, genauer beschrieben werden, da diese viel flexibler auf neueTheorien reagiert und gemeinsame Techniken schon in diese DPLL(X)-Methodeimplementieren kann.

Beispiel 7.3 Ein Beispiel mit Gleichungen. D.h. T sei die Theorie der Glei-chungen, siehe oben. Ungleichungen s 6= t sind eine Abkurzung fur ¬(s = t).Betrachte die Literale:

b = c, f(b) = c, , a 6= g(b), g(f(c)) = a

Wenn M diese vier Literale enthalt, dann findet der T -Solver heraus, dass MT -unerfullbar ist, denn

b = c, f(b) = c, g(f(c)) = a |= a = g(b)

Damit muss die zugehorige SMT-Prozedur zurucksetzen.

7.4 Die Regeln der DPLL(T)-Prozedur

119

Page 120: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Die Erweiterungen zur aussagenlogischen DPLL-Prozedur sind:Es sind Grundliterale statt aussagenlogischen Variable zulassig. Diese kann mansehen als (kompliziert aufgebaute) Namen von aussagenlogischen Variablen.Die Regeln Decide, Fail, Restart, UnitPropagate sind unverandert. Folgende Re-geln sind die an die Theorie T angepassten:Bei der Backjump-Regel ist der einzige Unterschied zur aussagenlogischen Va-riante, dass F,C |= C ′ ∨ l′ durch F,C |=T C ′ ∨ l′ ersetzt wurde.

T− Backjump :

M ld N || F,C =⇒ M l′ || F,C

M ld N |= ¬C

Es gibt eine Klausel C ′ ∨ l′ mit

F,C |=T C ′ ∨ l′ und M |= ¬C ′

l′ ist nicht definiert in M

l′ oder ¬l′ kommen in F oder in M ld N vor

T− Learn :

M || F =⇒ M || F,C

Jedes Atom aus C kommt inF oder M vor

F |=T C

T− Forget :

M || F,C =⇒ M || F wenn F |=T C

Ein gute Erklarung zu Vorgehen bei der Restart- Regel ist:Wenn man einen Zustand M || F erreicht hat, so dass M alle Literale von Fdefiniert, und alle Klauseln in F wahr macht, dann gibt es folgende Moglichkei-ten:

� M ist T -erfullbar. In dem Falle hat man ein T -Modell gefunden. Um daseinzusehen, muss man noch argumentieren (siehe [?]).

� M ist T -unerfullbar. In dem Fall kann man eine moglichst kleine Mengevon Literalen {l1, . . . , ln} ⊆ M finden, so dass ∅ |= ¬l1 ∨ . . . ∨ ¬ln. DieseKlausel kann man dann mittels T-Learn zu F hinzufugen und das DPLL-Verfahren neu starten mittels Restart.

Eine weitere Regel, die in einigen Implementierungen verwendet wird, und diedie gegebene Theorie ausnutzt, ist die TheoryPropagate-Regel

120

Page 121: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

TheoryPropagate :

M || F =⇒ M l || l

M |=T ¬C

l′ oder ¬l′ kommen in F vor

l′ ist nicht definiert in M

Beispiel 7.4 Ein Beispiel zum Zusammenspiel der Regeln zu einer Theorie T :hier ist es die Gleichheitstheorie (EUF). Sei die Klauselmenge F gegeben. sodass mindestens folgende Klauseln in F sind:

(1) a = b ∨ g(a) 6= g(b)

(2) h(a) = h(c) ∨ p

(3) g(a) = g(b) ∨ ¬p

Der Zustand der DPLL-Prozedur sei nach einigen Schritten von der FormM, c = b, f(a) 6= f(b) || F , wobei die folgenden weiteren Schritte der Prozedur:

Schritt Neues Literal in M Grund

Decide h(a) 6= h(c)

TheoryPropagate a 6= b da h(a) 6= h(c) ∧ c = b |=T a 6= b

UnitPropagate g(a) 6= g(b) da a 6= b und wegen Klausel (1)

UnitPropagate p da h(a) 6= h(c) und wegen Klausel (2)

Der resultierende Zustand M ′ ist:M, c = b, f(a) 6= f(b), h(a) 6= h(c), a 6= b, g(a) 6= g(b), p || F ,In diesem Zustand ist die Klausel (3) ein Konflikt.Eine Backjump-KlauselC ′ ∨ l′:, die man erzeugen kann, ist h(a) = h(c)∨ c 6= b.Hierbei ist C ′ = {c 6= b} inkonsistent mit M ′, und l′ ist h(a) = h(c).Um die Backjump-Regel genauso verwenden zu konnen wie im Theorie-freienFall, muss der T -Solver auch Rechtfertigungen liefern, in dem Sinne, welcheImplikationskette von Literalen und Klauseln (auch modulo T ) zum Widerspruchbzw. zum Konflikt gefuhrt hat.

121

Page 122: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

8 Automatische induktive Beweise und ein Sy-stem dazu: VeriFun

Ein System, das wir in der Vorlesung benutzen wollen ist VeriFun, von derArbeitsgruppe von Prof. Dr. Christoph Walther an der TU Darmstadt entwickelthttp://www.inferenzsysteme.informatik.tu-darmstadt.de/verifun/Dieser Beweiser ist teilautomatisch, erlaubt auch Interaktionen und beweistSatze uber Eigenschaften von Funktionen einer strikten funktionalen Program-miersprache. Z.B. kann man damit die Peano-Kodierung der naturlichen Zah-len leicht definieren und dann Satze uber naturliche Zahlen beweisen. Die we-sentliche Beweistechnik von VeriFun sind induktive Beweise. Zum Beispiel derNachweis von Aussagen uber alle naturlichen Zahlen, oder uber andere induktivdefinierte Datenstrukturen wie endliche Listen oder endliche Baume.Ein praktischer Vorteil dieses Beweisers ist, dass er portabel ist und einen leich-ten Einstieg fur Anfanger erlaubt, so dass man nach kurzer Zeit in der Lageist, bereits einfache Induktionsbeweise anzustoßen, die erfolgreich abgeschlos-sen werden, wobei man allmahlich von wenig Interaktion zu mehr und mehrInteraktion geleitet wird.Zu beachten ist, dass die freie Version von VeriFuneine abgespeckte Version einerausdrucks- und leistungsstarkeren internen und experimentellen Variante ist

8.1 Zur Syntax

Es gibt zwei Ebenen der Syntax: die funktionale Programmiersprache, die eserlaubt, Funktionen zu definieren und die logische, die es erlaubt Formeln undAussagen zum Verhalten der Funktionen zu formulieren.Als Basis braucht man einfach getypte7 Terme: Diese kann man sehen als mar-kierte, geordnete Baume mit weiteren Beschrankungen und Eigenschaften.

1. Es gibt eine Menge von atomaren Typen. Das sind einfach nur Namen.

2. Es gibt eine Menge von Funktionssymbolen. Jedes Funktionssymbol hatgenau einen Typ der Form T1× . . .×Tn → Tn+1, wobei Ti atomare Typensind. D.h. es sind Funktionen mit einem Typ erster Ordnung. In Haskellwurde man schreiben: T1 → . . . → Tn → Tn+1.

3. es gibt zu jedem atomaren Typen T unendliche viele Variablen zu diesemTyp.

4. Ein Term ist induktiv definiert und kann sein:

� eine Variable. Der Typ des Terms ist er Typ der Variablen.

� f(t1, . . . , tn), wenn t1, . . . , tn Terme sind mit den Typen t1 ::T1, . . . , tn : .Tn, und f : T1× . . .×Tn → Tn+1, dann ist f(t1, . . . , tn) :Tn+1 ein Term (vom Typ Tn+1).

7VeriFun erlaubt auch polymorphe parametrisierte Typen

122

Page 123: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Beachte, dass Terme atomare Typen haben8. Außerdem sind Typen hohererOrdnung nur sehr eingeschrankt erlaubt. Es gibt z.B. nur Funktionen ersterOrdnung. Der Typ bool ist vordefiniert mit false, true; aber er spielt eineSonderrolle, da er nicht der Termebene, sondern der logischen Ebene zugerechnetwird.Datenstrukturen erklart man dadurch, dass man Funktionssymbole unterschei-det in:

� Konstruktoren

� definierte Funktionen (VeriFun-Sprechweise: Funktionen)

Zu jedem Konstruktor f : T1 × . . . × Tn → Tn+1 gibt es automatisch n Selek-torfunktionen (Selektoren) self,i :: Tn+1 → Ti, die aus einem Wert der Formf(t1, . . . , tn), die i-te Komponente extrahieren. D.h. self,i(f(t1, . . . , tn)) wertetaus zu (reduziert zu) ti. Beachte, dass es Konstruktorkonstanten gibt.

Definition 8.1 Ein Wert ist ein Grundterm, der nur aus Konstruktoren be-steht.

Beispiel 8.2 Zahlen definiert man so:Es gibt einen Typ nat.Es gibt zwei Konstruktoren 0 :: nat und succ :: nat→ nat.Die Selektorfunktion zu succ ist pred.Dann sind alle variablenfreien Terme (auch Grundterme genannt) genau dieWerte, die zu nat gehoren:0, succ(0), succ(succ(0)), succ(succ(succ(0))), . . . , die man dann auch alsdie Zahlen 0,1,2,3,. . . interpretiert.

Definierte Funktionen sind dann z.B. die Funktion inc, die Zahlen um 1 erhoht,oder dec, die Zahlen um 1 erniedrigt. Diese definiert man in einer (strikten)funktionalen Sprache. Z.B. definiert man inc folgendermaßen:inc :: nat→ natinc (x) = succ(x)Um dec zu definieren, braucht man bereits eine Selektorfunktion, die i.a. predgenannt wird:dec :: nat→ natdec x = pred(x), oder alternativ:dec x = if x = 0 then undefined else pred(x)

Die Syntax der Funktionen, neben der Typdeklaration und dem Kopf dec x,erlaubt im Rumpf der Funktionen noch folgende Konstrukte:

Vergleiche: s = t

Fallunterscheidung: if x = 0 then undefined else pred(x).

8VeriFun erlaubt auch parametrischen Polymorphismus. Dann sind auch parametrisierteTypen moglich

123

Page 124: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Hier sind die ublichen Typbedingungen zu beachten: s = t darf nur fur Terme s, tmit gleichem Typ verwendet werden und ergibt true oder false. Die Ausgangeder Fallunterscheidung mussen vom gleichen Typ sein.Wir benutzen eine Konstante undefined, die alle Typen hat, die aber kein Kon-struktor ist, also auch nicht in Werten enthalten sein kann. Diese reprasentiertalle Grund-Ausdrucke, die nicht zu einem Wert ausgewertet werden konnen. Inder Syntax von VeriFun gibt es ebenfalls ein Zeichen (?) fur diese Klasse derAusdrucke.Die verwendete Syntax von VeriFun benutzt einen UNICODE (nicht-ASCII)-Zeichensatz, der in der Oberflache zu finden ist, der aber hier nicht exakt wie-dergegeben ist.Die benutzerdefinierte Additions-Funktion + ist unten dargestellt, vor- undhochgestelltes + bedeutet succ, vor- und hochgestelltes − bedeutet pred9; dieSchreibweise ?0(x) entspricht genau der Frage x = 0.

function [infixr,20] +(x : N, y : N) : N <=if ?0(x)then yelse +(−(x) + y)end_if

8.1.1 Auswertung von Ausdrucken

Auswertung von Grund-Ausdrucken ist strikt, d.h. ein Ausdruck f(t1, . . . , tn)wertet folgendermaßen aus, wobei wir annehmen, dass es sich um Grund-Ausdrucke handelt.Folgende Falle konnen auftreten:

1. Die Auswertung ist erfolgreich beendet, wenn f(t1, . . . , tn) ein Wert ist,d.h. nur aus Konstruktoren besteht.

2. Ist der Ausdruck kein Wert, dann werden zuerst die ti von links nachrechts ausgewertet. Ist eines der ti undefiniert, dann ist auch f(t1, . . . , tn)undefiniert.

3. Sind alle ti ausgewertet (d.h. Werte), ist f eine definierte Funktion,r der Rumpf von f und x1, . . . , xn die Argumentvariablen, dann wirdr[t1/x1, . . . , tn/xn] ausgewertet, und der entsprechende Wert zuruckgege-ben.

4. Das Konstrukt if-then-else wird nicht-strikt ausgewertet: Ein Ausdruckif b then s else t wird so ausgewertet, dass zuerst b ausgewertet wird.Ist das Ergebnis definiert, dann wird bei true als Ergebnis s ausgewertetund der entsprechende Wert zuruckgegeben, und bei false wird t aus-gewertet und zuruckgegeben. Ist das Ergebnis von b undefiniert, dann istdas Ergebnis des gesamten if b then s else t ebenfalls undefiniert.

9 + und − konnen auch als succ und pred im VeriFun-Editor eingegeben werden.

124

Page 125: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

5. Eine Gleichheit s = t wird ausgewertet, indem zunachst s, dann t aus-gewertet wird. Ist mindestens eines der Resultate undefiniert, dann istdas Ergebnis undefiniert. Sind beide Resultate definiert, dann wird trueausgegeben, wenn die Terme als Werte gleich sind, ansonsten wird falsezuruckgegeben.

Terminierung einer Funktion f bedeutet, dass fur alle Werte t1, . . . , tn als Ar-gumente, die vom Typ her erlaubt sind, die Funktionsanwendung f(t1, . . . , tn),entsprechend obiger call-by-value-Strategie, einen Wert (d.h. einen Grundterm,bestehend nur aus Konstruktoren) ergeben. Es kann passieren, dass die Auswer-tung fur bestimmte erlaubte Argumente nicht terminiert. In diesem Fall kannman undefiniert als Ergebnis ansehen. Das ist semantisch korrekt, kann abernaturlich nicht immer berechnet werden. In VeriFun wird die globale Termi-nierung jeder Funktion in einer ersten Stufe der Eingabe verifiziert. Somit sindFunktionen, die in Termen verwendbar sind, alle schon auf Terminierung ge-testet. Funktionen werden in VeriFun nur dann aktiviert, wenn diese fur alleEingaben terminieren. Dazu gibt es einen Modul, der Terminierung von Funk-tionen nachweist und der nichtterminierende Funktionen nicht akzeptiert, bzw.als ”nicht freigegeben“ markiert.VeriFun behandelt auch Funktionen mit undefinierten Ergebnissen, erwartetaber vom Benutzer, dass diese selbst dafur sorgen, dass undefiniert nicht imEndergebnis erscheint.

8.1.2 Boolesche Ausdrucke und Auswertungen

Diese werden von VeriFun NICHT als Terme sondern als Teil der logischenEbene behandelt. Dies wirkt sich folgendermaßen aus:

� true, false sind KEINE Konstruktoren, sondern logische Konstanten,konnen also nicht innerhalb eines Wertes verwendet werden.

� Funktionen haben keine bool-Argumente.

� Funktionen, die auf bool abbilden, sind damit als definierte Pradikate zusehen.

� Das Konstrukt if-then-else ist somit keine Funktion, sondern ein logischerOperator, der zudem nicht-strikt ist.

� In VeriFun werden alle logischen Junktoren mittels if-then-else darge-stellt. Das ist unproblematisch, aber manchmal wenig intuitiv: Z.B. muss(if (not b) then s else t) als (if b then t else s) dargestellt werden.Eine Bedingung mit logischem oder zB (if (b1 ∨ b2) then s else t) mussals (if b1 then s else (if b2 then s else t)) geschrieben werden.

Der Vorteil dieser Sichtweise ist, neben der Effizienz, dass man mit dem glei-chen Mechanismus, mit dem man Funktionen definiert, auch Pradikate (d.h.bool-wertige ”Funktionen“) definieren kann, und somit den Typcheck und denAuswertungsmechanismus fur beides verwenden kann.

125

Page 126: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

8.2 Syntax und Semantik der logischen Formeln

Folgende Formeln sind in VeriFun zulassig.Syntax:Es ist ein Prafix von All-Quantoren erlaubt, deren Variablen typisiert sind, unddie als Rumpf eine quantorenfreie Formel hat, d.h. die vom Typ bool ist:

∀x1 : T1, . . . , xn : Tn.F

Die Formeln F sind Vergleiche: s = t, oder if-then-else-Ausdrucke. Komplizier-tere logische Formeln kann man, wie oben bereits angemerkt, immer mit diesenKonstrukten ausdrucken. Formeln sind geschlossen, wenn alle freien Variablenin F , in einem Allquantor gebunden sind.Jeder Grundterm t ist entweder undefined oder gleich zu einem Wert w.Es gilt: t = w fur einen Wert w, genau dann wenn t zu w auswertet.D.h. auch dass es unentscheidbar ist, ob ein Term zu einem Wert auswertet bzwundefined ist, aber die Berechnung des Wertes w, falls es ihn gibt ist in derKlasse ”rekursiv aufzahlbar“.Semantik:Eine Formel ∀x1 : T1, . . . , xn : Tn.F ist wahr (oder eine Tautologie, wenn furalle Werte ti : Ti gilt: F [t1/x1, . . . , tn/xn] ergibt true.Hierbei werden Grundterme entsprechend der obigen Eigenschaft mitihrem Wertidentifiziert bzw als undefined behandelt.

Die Logik ist dreiwertig mit undefiniert als drittem Wert.Die Logik selbst erlaubt auch weitere Quantifizierungen, allerdings ist die obenangegebene Klasse genau die Klasse der Formeln, die VeriFun als Eingabe akzep-tiert. Die anderen Formeln werden nicht akzeptiert bzw. sind nicht eingebbar.

8.2.1 Allgemeine Formeln

Diese gehen uber VeriFunhinaus und sind dort nicht direkt eingebbar. Mankann analog zur Pradikatenlogik beliebig aus Existenz- und All-Quantoren zu-sammenbauen.Hierbei muss man allerdings eine dreiwertige Logik akzeptieren, da auch dasErgebnis undefined vorkommen kann. Eine Formel ist eine Tautologie, wenndiese stets als true interpretiert wird.

Beispiel 8.3 ∀x : nat∃y : nat : x + succ(0) = y ist eine Tautologie.Aber:∃x : nat : pred(0) = x ergibt stets undefiniert.Das gleiche gilt fur:¬(∃x : nat : pred(0) = x). Somit kann man diese Formel nicht nachweisen.

Es gibt somit geschlossene Formeln F , fur die F ∨ ¬F keine Tautologie ist, imGegensatz zur Pradikatenlogik.

126

Page 127: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Das Beispiel zeigt, das man bei Formelumformungen beachten muss, dass nichtalle Tautologien der Pradikatenlogik gelten und somit nicht alle Umformungender Pradikatenlogik verwendbar sind. Wenn man aber gezeigt hat, dass eineFormel (oder eine entsprechend Subformel) nicht undefiniert ist, dann kannman die pradikatenlogische Umformungen anwenden.

Wenn man in VeriFuntrotzdem eine Existenzaussage beweisen will, dann mussman das auf Umwegen machen: Will man z.B. ∀y : ∃x.f(x) = s beweisen, somuss man dazu die Funktion (sagen wir mal g) definieren, die das x berechnetund dann die Formel ∀y.f(g(y)) = s[g(y)/x] beweisen.

8.3 Beweise mit vollstandiger Induktion

Die Beweistechnik der Induktion basiert auf der induktiven Definition der Werte.Es wird somit i.a. eine Induktion nach der Struktur der Terme durchgefuhrt.Es gibt naturlich weitere Induktionsschemata, die aber alle auf einer fundiertenOrdnung (well-founded order) beruhen mussen .Bei naturlichen Zahlen ist die >-Ordnung fundiert: es gibt keine unendlichen ab-steigenden Folgen von naturlichen Zahlen. Die Peano-Kodierung erlaubt gleich-zeitig eine Induktion nach der Struktur der Terme, da z.B. 3 > 2 in Termensich darstellt als succ(succ(succ(0))) > succ(succ(0)), d.h. die Ordnung aufZahlen entspricht der Ordnung nach der Große der Terme.

Das Beweis-Prinzip der vollstandigen Induktion kann man so beschreiben: Ge-geben eine Menge M mit fundierter Ordnung <. Um eine Aussage A fur alleElemente m ∈ M zu zeigen, sind folgende Beweisschritte erforderlich:

1. Induktionsbasis: Zeige A(m) fur alle <-minimalen Elemente vonM :

2. Induktionsschritt: Fur festes aber beliebiges m ∈ M : ZeigeA(m), wobei die Annahmen A(m′) fur alle m′ < m verwen-det werden darf. Diese nennt man dann Induktionshypothesen.

Geht dieser Schritt fur alle m, dann hat man ∀m ∈ M : A(m)gezeigt.

Bei Zahlen verwendet man teilweise ein etwas einfacheres Induktionsschema:Induktionsbasis und Schritt von n auf n+1: A(n) wird als Induktionshypotheseverwendet, aus dem man dann A(n + 1) erschließen muss.

8.4 Beispiel: Kommutativitat der Peano-Addition

Wie oben bereits erwahnt, ist die Addition uber Peanozahlen in VeriFun folgen-dermaßen definiertfunction [infixr,20] +(x : N, y : N) : N <=if ?0(x)

then y

127

Page 128: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

else +(−(x) + y)end_if

Die Behauptung, dass + kommutativ ist, entspricht dem Satz:∀x : nat, y : nat . x + y = y + xD.h. fur alle Werte s, t vom Typ nat : s + t = t + s.Wir geben den induktiven Beweis an. Bei diesem genugt es, fur x die fundierteOrdnung < zu verwenden: Die Induktion ist nach der Struktur der Terme undx, y sind die Induktionsparameter. Es ist dazu wichtig zu wissen, wie alle Wertevom Typ nat aussehen: Die sind aufgebaut aus 0, oder succ(r), wobei r einWert vom Typ nat ist.

1. Induktionsbasis: Fur x = 0 und Werte y : nat gilt: 0 + y = y = y + 0Zum Nachweis braucht man eine extra Induktion zum Nachweis von:∀y : nat.y + 0 = y.

(a) Induktionsbasis: y = 0: Nachrechnen unter Benutzung der Definitionder Addition ergibt: (0 + y)[0/y] = 0, ebenso ist (y + 0)[0/y] = 0.

(b) Induktionsschritt: y = succ(y′): (0 + y)[succ(y′)/y] =(0 + succ(y′)) = succ(y′).Die Berechnung der rechten Seite ergibt: (y + 0)[succ(y′)/y] =(succ(y′) + 0) = succ(y′ + 0).Jetzt kann man die Induktionshypothese fur y′ anwenden: das ergibtsucc(y′ + 0) = succ(y′). Somit sind rechte und linke Seite gleich.Vollstandige Induktion ergibt die Behauptung ∀y : nat.y + 0 = y.

Da 0 + y = y wegen der Definition der Addition, hat man die Indukti-onsbasis fur die Kommutativitat von + gezeigt.

2. Induktionsschritt: Auch beim Induktionsschritt kommt man nicht direktzum Ziel. Man muss erst (wieder induktiv) zeigen:∀x : nat, y : nat . x + succ(y) = succ(x + y). Wieder mit Induktion:

(a) Basis: Linke Seite: x + succ(y)[0/x] = 0 + succ(y) = succ(y).Rechte Seite: succ(x + y)[0/x] = succ(0 + y) = succ(y).

(b) Induktionsschritt: Linke Seite: x + succ(y)[succ(x′)/x] =succ(x′) + succ(y) = succ(x′ + succ(y)).Anwendung der Induktionshypothese wg x′ < x ist erlaubt und er-gibt: = succ(succ(x′ + (y))).Rechte Seite: succ(x + y)[succ(x′)/x] = succ(succ(x′) + y) =succ(succ(x′ + (y))). Der letzte Schritt ist erlaubt wegen der Aus-wertung der Addition.

Jetzt kann man die Kommutativitat der Addition nachweisen, indem manden Induktionsschritt durchfuhrt: x = succ(x′). Die rechte Seite der Glei-chung ergibt: (x + y)[succ(x′)/x] = (succ(x′) + y) = succ(x′ + y).Die linke Seite ergibt: (y + x)[succ(x′)/x] = (y + succ(x′)) =

128

Page 129: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

succ(x′ + y), wobei die letzte Gleichung aus der Zwischenbehauptungfolgt.

Damit sind alle Teile des vollstandigen Induktionsbeweises gezeigt und es gilt:∀x : nat, y : nat . x + y = y + x

8.4.1 Beobachtungen aus dem Beweis

� Es ist wichtig zu wissen, wie sich die Werte eines Typs konstruieren lassen.Das muss vorher festgelegt sein und darf sich nicht durch zusatzliche De-finitionen andern. D.h. nach der Festlegung des Typs nat darf man nichtnachtraglich noch Konstruktoren dieses Typs einfuhren.VeriFun verlangt dementsprechend, dass neue Typen und deren Konstruk-toren gemeinsam festgelegt werden und danach nicht anderbar sind.

� Die Induktion erfordert manchmal Zwischeninduktionen, die ihrerseitswieder Induktionsbeweise sind. Dies wird in VeriFun durchgefuhrt, indemder Benutzer diese Zwischenziele als Lemmas formulieren muss, und furdiese einen eigenen automatischen Induktionsbeweis anstoßen muss.

� Es ist wichtig zu wissen, welche Variablen die Induktionsvariablen sind:Diese wird teilweise automatisch ausprobiert.

� VeriFun in der einfachen Variante hat als Beweiseinheit einen Induktions-beweiser, und kann aber die Gleichungsumformungen unter Ausnutzungder Induktionshypothese, vorher bewiesener Lemmas und und der Funk-tionsdefinitionen durchfuhren.

8.5 Terminierung von Funktionen

Terminierung einer Funktion f bedeutet, dass f(s1, ldots, sn) fur alle Werte si

mit einem Wert terminiert wobei die Wertargumente si vom Typ her zulassigsein mussen.Es ist klar, dass das nicht fur alle Ausdrucke gefordert werden kann, da zB einAusdruck selbst schon eine nichtterminierende Berechnung anstoßen kann.In vielen Fallen kann VeriFundie Terminierung aufgrund einfacher Kriterienautomatisch erkennen, da man schnell testen kann, ob die rekursiven Aufrufe mitkleineren Argumenten gemacht werden. Normalerweise muss man die richtigeArgumentstelle finden, die kleiner wird, oder eine lexikographische Ordnungverwenden:

Beispiel 8.4 Die Additionsfunktion hat die zwei Moglichkeiten:

� 0 + v → v. Hier kann man annehmen, dass v schon ein Zahlenwert ist.Dann terminiert dieser Fall offenbar immer erfolgreich.

129

Page 130: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

� succ(v)+w → succ(v +w) Auch hier kann man annehmen, dass v, w be-reits Zahlenwerte sind. Der Aufruf (v+w) findet statt mit einem kleinerenv, da ja der Konstruktor succ einmal entfernt wurde.

Also terminiert die Additionsfunktion. Man sieht auch, dass dieser Nachweisebenfalls eine vollstandige Induktion ist, wobei die Ordnung die Große der Werteals Terme ist.

Beispiel 8.5 Wir betrachten die Ackermannfunktion in einer Variante mit zweiArgumenten. Das Beispiel zeigt, dass man Terminierung zeigen kann, auchwenn ein Argument kleiner und das andere großer wird im rekursiven Aufruf.Die Notation ist in Regelform geschrieben. Die Haskell-Definition ist zuerst an-gegeben.

ack 0 y = 1ack 1 0 = 2ack x 0 | x >= 2 = x+2ack x y | x > 0 && y > 0 = ack (ack (x-1) y) (y-1)

Jetzt die VeriFun-kompatible Regelform:

ack 0 y → 1

ack 1 0 → 2

ack (succ(succ(x))) 0 → succ(succ(succ(succ(x)))))

ack (succ(x)) (succ(y)) → ack (ack x (succ(y))) y

Hier sieht man, dass die lexikographische Ordnung auf den Argumenten x, yjeweils kleiner wird bei jedem rekursiven Aufruf, wobei man (|y|, |x|) nehmenmuss:In den ersten drei Fallen terminiert ack erfolgreich. Das zweite Argument wirdkleiner im außeren rekursiven Aufrufen ack (ack x succ(y)) y, da y kleiner alssucc(y) ist und beides Werte sind. Der Wert des ersten Arguments spielt keineRolle. Der innere rekursive Aufruf wird ebenfalls kleiner: das zweite Argumentsucc(y) ist genauso groß wie beim eigentlichen Aufruf von ack, aber das ersteArgument wird echt kleiner, da |succ(x)| > |x|, und x ein Wert ist.

In ahnlicher Weise kann man das fur die Listenfunktionen unten nachweisen.Bei der Terminierung der Reversefunktion muss man die Terminierung der Ap-pendfunktion benutzen. Bei der iterativen Reversefunktion geht der Nachweisdirekt (Ubungsaufgabe?)

8.6 Listen-Beispiele in VeriFun

Bevor wir uns Listen anschauen, vorher noch eine Erweiterung der Semantikauf polymorphe Typen.

130

Page 131: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

Damit die Semantik unter polymorpher Typisierung problemlos wie im einfachgetypten funktioniert, muss folgende wichtige Eigenschaf erfullt sein:Zu jedem Grundtyp τ gibt es einen Wert v : τ .Das ist in Haskell falsch, und ohne weitere Bedingungen an Datentypdefinitionenware es in VeriFun ebenfalls falsch:

data T0 = Cons0 T0

data T1 = Cons1 T2data T2 = Cons2 T1

Syntaktisch kann man die Bediungung erfullen, wenn:

� fur jeden Datentyp ein Konstruktor existiert, (z.B. nullstellig), der sich inden Argumenttypen nicht auf den Typ selbst bezieht (irreflexive).

� Polymorphe Typen nur auf der Basis der bereits vorhandenen Typen de-finiert werden konnen (und des aktuell zu definierenden Typs).

8.6.1 Listen

Folgende VeriFun-Definition erklart den Typ list (mit Parameter) und die dieListen-Konstruktoren Nil und Cons, wobei diese als Nil (bzw. als das Sonder-zeichen ∅ in der VeriFun-Oberflache) und als Infix-Konstruktor ”::“ geschriebenwerden. Die Selektoren zu :: sind hd und tl.structure list[@a] <=

∅,[infixr,100] ::(hd : @a, tl : list[@a])

Die Append-Funktion <> ist definiert durch:

function [infixr,20] <>(k : list[@a], l : list[@a]) : list[@a] <=if ?∅(k)

then lelse hd(k) :: (tl(k) <> l)

end_if

Die Reverse-Funktion rev ist definiert durch:

function rev(k : list[@a]) : list[@a] <=if ?∅(k)

then ∅else rev(tl(k)) <> hd(k) :: ∅

131

Page 132: uni-frankfurt.de · 2020. 12. 15. · Inhaltsverzeichnis 1 Einf¨uhrung und Uberblick: Grundlagen und Anwendungen von¨ Automatischen Deduktionssystemen 4 1.1 Literatur

end_if

Damit kann man die Datenstruktur Liste aufbauen und bereits Lemmas nach-weisen. Ein interessantes Lemma ist die Assoziativitat von Append <> (furendliche Listen):∀x : list[@a], y : list[@a], z : list[@a] . (x <> (y <> z)) = ((x <> y) <> z)

Der Induktionsbeweis dazu, mit x als Induktionsvariable:

1. Induktionsbasis. x = Nil: Einfache Rechnung ergibt, dass linke und rechteSeite der Gleichung gleich sind.

2. Induktionsschritt. x = a :: x′:Linke Seite: ((a :: x′) <> (y <> z)) reduziert zu (a :: (x′ <> (y <> z)))Rechte Seite (((a :: x′) <> y) <> z) reduziert zu ((a :: (x′ <> y)) <> z),und dies zu a :: ((x′ <> y) <> z). Jetzt kann man die Induktionshypotheseanwenden und erhalt daraus (a :: (x′ <> (y <> z))).

Der Beweis ist genau der Datenstruktur und der Funktionsdefinition angepasst.Man sieht, dass man den Typ der Datenstruktur Liste analysieren muss, um zuerkennen, dass man x = a :: x′ als Induktionsschritt verwenden muss. Ebensomuss der Induktionsbeweiser erkennen (bzw. raten), dass x die richtige Induk-tionsvariable ist.Der Beweis zu

∀x : list[@a], y : list[@a], z : list[@a] . (x <> (y <> z)) = ((x <> y) <> z)

wurde durchgefuhrt, ohne auf Elemente vom Typ @a Bezug zu nehmen, deshalbist der Beweis auch noch gultig, wenn neue Datenstrukturen hinzugefugt werden.Die semantische Definition zur Formel benutzt allerdings verschiedene Mengenvon Werten, wenn man neue Datentypen definiert.

Man kann jetzt mit den gleichen Methoden auch die folgenden Satze beweisen:∀x : list[@a], y : list[@a] . rev(x <> y) = rev(y) <> rev(x)

∀x : list[@a] . rev(rev(x)) = x

132