automatische deduktion, ss 2017, vom 13.05.2017 ...[cl73]chin-liang chang and richard char-tung lee....

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

Upload: others

Post on 07-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 1

Automatische Deduktion

Teil 1 : Deduktionssysteme: Grundlagen

Sommersemester 2017

Professor Dr. Manfred Schmidt-Schauß

Fachbereich Informatik und Mathematik

J.W.Goethe-Universitat Frankfurt

Page 2: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 2

Vorbemerkung zum Skript im Sommeremester2017

Dieses Skript enthalt auch Kapitel die Grundlagen zur Vorlesung sind, aber ichtzum eigentlichen Stoff gehohren.Der tatsachliche Inhalt der Vorlesung, der auch prufungsrelevant ist, bestehtaus den Kapiteln:

• Kapitel 4 zur Pradikatenlogik.

• Kapitel 5 zu Resolution.

• Kapitel 6 zu Erweiterungen der Resolution.

• Kapitel 7 zu PL1-Tableau-Verfahren.

• Kapitel ?? zur Kompression.

• Die Kapitel zu Termersetzung als extra pdf-Datei.

und dem Inhalt auf den entsprechenden Folien.

Optional”Nominal Unification“.

Page 3: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 3

Inhaltsverzeichnis

1 Einfuhrung und Uberblick: Grundlagen und Anwendungen vonAutomatischen Deduktionssystemen 51.1 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Vorbemerkung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3 Begriffe und Teilgebiete aus der Automatischen Deduktion . . . . 8

1.3.1 Beweiserbau . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.2 Gleichheitsbehandlung . . . . . . . . . . . . . . . . . . . . 91.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 . . . . . . . . . . . . . . . . . . . . . . . . . . 101.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 . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2 Tautologien und einige einfache Verfahren . . . . . . . . . . . . . 222.3 Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.4 Schnelle CNF (Tseitin-Kodierung) . . . . . . . . . . . . . . . . . 262.5 SAT - Problem und Hornklauseln in Aussagenlogik . . . . . . . . 292.6 Resolution fur Aussagenlogik . . . . . . . . . . . . . . . . . . . . 322.7 Davis-Putnam-Logemann-Loveland-Verfahren . . . . . . . . . . . 352.8 Davis-Putnam-Logemann-Loveland Verfahren mit Backjumping . 43

2.8.1 Restart, Regeln zum Lernen und Vergessen . . . . . . . . 472.9 Tableaukalkul fur Aussagenlogik . . . . . . . . . . . . . . . . . . 48

2.9.1 Tableau-Kalkul fur Aussagenlogik . . . . . . . . . . . . . 492.10 Entscheidungsprozeduren fur quantifizierte Boolesche Formeln . . 57

2.10.1 Formeln in Klauselform . . . . . . . . . . . . . . . . . . . 602.11 Ein DPLL-ahnliches Entscheidungsverfahren fur Pranex-

Klauselmengen (QBF) . . . . . . . . . . . . . . . . . . . . . . . . 612.11.1 Optimierungen: . . . . . . . . . . . . . . . . . . . . . . . . 64

2.12 Internet Referenzen (unvollstandig, bitte selbst googlen) . . . . . 652.13 Internationale Standardisierung der Formel-Eingaben . . . . . . . 66

Page 4: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 4

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

3.0.1 Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.0.2 Kalkul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703.0.3 Logische Zustandsubergangssysteme . . . . . . . . . . . . 723.0.4 Steuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . 733.0.5 Verwendung, Dialogverhalten . . . . . . . . . . . . . . . . 74

4 Pradikatenlogik (PL1) und Resolution 754.1 Syntax der Pradikatenlogik erster Stufe . . . . . . . . . . . . . . 754.2 Semantik von PL1 (nach Tarski) . . . . . . . . . . . . . . . . . . 79

4.2.1 Berechenbarkeitseigenschaften der Pradikatenlogik . . . . 884.3 Normalformen von PL1-Formeln . . . . . . . . . . . . . . . . . . 89

5 Resolution und Unifikation 955.1 Grundresolution: Resolution ohne Unifikation . . . . . . . . . . . 95

5.1.1 Resolution im allgemeinen Fall . . . . . . . . . . . . . . . 965.2 Unifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.3 Komplexitat des Unifikationsalgorithmus . . . . . . . . . . . . . . 104

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

5.4 Der allgemeine Resolutionskalkul . . . . . . . . . . . . . . . . . . 1075.5 Schritte zum Vollstandigkeitsbeweis der allgemeinen Resolution . 1075.6 Ein Beispiel fur Resolutionsbeweise: Hilbertkalkul . . . . . . . . . 1105.7 Loschregeln: Subsumtion, Tautologie und Isoliertheit . . . . . . . 111

6 Einschrankung und Varianten der Resolution 1176.1 Set-of-Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176.2 UR-Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176.3 Hyperresolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216.4 Input-Resolution und Unare Resolution . . . . . . . . . . . . . . 1216.5 Eingabe-Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 1226.6 Lineare Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . 1236.7 SL-Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1246.8 SL-Resolution fur Horn Klauseln . . . . . . . . . . . . . . . . . . 1246.9 Beispiel: Beweise SPASS Prover Webinterface . . . . . . . . . . . 126

7 Tableau Kalkul fur PL1 1277.1 Tableau mit Grundtermen . . . . . . . . . . . . . . . . . . . . . . 1277.2 Tableau mit freien Variablen . . . . . . . . . . . . . . . . . . . . 129

Page 5: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 5

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.

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

[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 Handbook ofAutomated Reasoning. Elsevier Science Publishers, 1999. to appear.

Page 6: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 6

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

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

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

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

Page 7: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 7

[Lov87] Donald W. Loveland. Automated Theorem Proving: A Logical Ba-sis, 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.

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

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

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

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

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

[ST12] Uwe Schoning and Jacobo Toran. Das Erfullbarkeitsproblem SAT.lehmanns media, 2012.

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

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

Page 8: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 8

1.2 Vorbemerkung

Als Motivation und erste Information zu Automatischen Dedukti-onssystemen (ATP) und einem Wettbewerb sei auf die Web-Seitehttp://www.cs.miami.edu/ tptp/CASC/ verwiesen.Die interessantesten und erfolgreichsten Resultate von Automatischen Dedukti-onssystemen wurden erzielt in den Bereichen: Mathematik, Automatische Soft-ware Generierung, Software Verifikation, und Hardware-Verifikation.

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

Software Generierung: 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.

Page 9: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 9

1.3.2 Gleichheitsbehandlung

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

1.3.3 Termersetzungssysteme

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

1.3.4 Unifikation

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

Page 10: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 10

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.

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

Page 11: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 11

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“: Diese

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

Page 12: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 12

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 sind

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

Page 13: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 13

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:

Page 14: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 14

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:

Page 15: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 15

”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“.

Page 16: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 16

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. Dannfragte er den zweiten. Der verneinte ebenfalls. Daraufhin sagte der dritteprompt, dass sein Punkt weiß ist. Woher wusste der das?Zweite Frage: wie is die Verteilung der Farben?

Page 17: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 17

Es gibt eine leichte Variante dieses Ratsels, bei dem der Konig mehrfach allegleichzeitig fragt, und zweimal keine Antwort bekommt, aber beim dritten Malbekommt er Antworten. Welche?

Zur Losung dieses Ratsels ist es notwendig, Schlusse uber den Wissensstand derBeteiligten zu ziehen. Zur Formulierung dieses Ratsels, wenn man eine explizi-te Darstellung des Wissensstands jedes Beteiligten haben will und automatischSchlusse ziehen will, ist die pradikatenlogische Sprache daher nicht sehr gut ge-eignet. Einfacher wird es, wenn man die logische Sprache um neue Operatorenerweitert, mit denen man ausdrucken kann, dass jemand eine bestimmte Sacheweiß oder nicht weiß. Damit macht man aus der Pradikatenlogik eine sogenann-te epistemische Logik. Dies fuhrt zur sogenannten Modallogik und deren Vari-anten. Es gibt Methoden, die Aussagen dieser Logik wieder in Pradikatenlogikubersetzen.

Wenn man den Wissenstand der Beteiligten nicht explizit modelliert, und sichdie Falle anschaut, kann man wie folgt argumentieren: Es gibt nur 7 Falle:

Fall → 1 2 3 4 5 6 7↓Nr. des Weisen1. W W W W S S S2. W W S S W W S3. W S W S W S W

Der Fall SSS ist explizit ausgeschlossen, deshalb sind es 7.Im Fall 4 wurde der erste Weise sofort erkennen, dass er W haben muss.In Fall 6 wurde der zweite Weise sofort erkennen, dass er W haben muss.Bleibt Fall 2: In diesem Fall wurde der zweite aus dem Nichtwissen des erstenschließen, dass er W haben muss. Also bleiben nur die Falle, in denen derdritte Weise ein W auf der Stirn hat.Bei der ersten Art der Fragerunde konnen die Falle 3 und 5 vorkommen.

In der zweiten Variante des Ratsels kann man die Falle 4 und 6 ausschließennachdem keiner auf die erste Frage eine Antwort wusste. Nachdem keiner aufdie zweite Frage eine Antwort wusste, kann es nur noch der Fall 1 sein, undalle Weisen antworten gleichzeitig mit W.

Page 18: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 18

2 Aussagenlogik (propositional calculus)

Dieser Abschnitt ist jetzt der der Vorlesung KI-LOG

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 Wirkungsweise vonInferenzverfahren fur Pradikatenlogik und andere Logiken gewinnt. Es soll auchauf Methoden fur schnelle und effiziente Verfahren fur die Aussagenlogik einge-gangen werden. Wir werden nicht auf die Verarbeitung Boolescher Funktioneneingehen und auch nicht auf BDDs und ihre Varianten. Diese haben effizienteDarstellungen und Algorithmen fur eine Klasse von Formen, sind aber nicht sogut geeignet, allgemeinere Logiken und Erweiterungen wie Pradikatenlogik undModallogik verstandlich zu machen.Ein Buch zur Aussagenlogik ist z.B. [ST12]

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, 1oder x nennen wir Atome. Literale sind entweder Atome oder Aussagen derForm ¬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.

Page 19: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 19

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

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

Page 20: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 20

• X ∧ ¬X ist ein Widerspruch.

• X ∨ Y ist erfullbar.

• 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 Tautologienoch Widerspruch, 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.

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

Page 21: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 21

2.1 Folgerungsbegriffe

Man muss zwei verschiedene Begriffe der Folgerungen fur Logiken unterscheiden:

• semantische Folgerung

• 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

Page 22: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 22

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

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.7); Tableaukalkul, der Formeln syntaktischanalysiert (analytic tableau) (siehe 2.9).

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 vonFunktionen 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 sind 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.

Page 23: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 23

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.Hierbei ist eine Klausel eine Formel der Form L1∨ . . . Ln, wobei Li Literale sind,und Literale sind Variablen oder negierte Variablen.

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

Page 24: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 24

• 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: ∧ ↔ ∨,

Page 25: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 25

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

)

Page 26: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 26

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 Biselbst 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 (Tseitin-Kodierung)

Wir geben einen Algorithmus an (Tseitin-Kodierung), der eine aussagenlogischeFormel F in polynomieller Zeit in eine CNF FCNF umwandelt, wobei die FormelF erfullbar ist gdw. FCNF erfullbar ist (Erfullbarkeits-Erhaltung). Es ist hierbeinicht gefordert, dass F und FCNF aquivalent als Formeln sind! Beachte, dassbei diesem Verfahren 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.

Page 27: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 27

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 undI ′(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≥ 4 hat, dann ersetze Hj folgendermaßen: Ersetze alle Subformeln G1, . . . , Gmvon Hj mit Sub-Tiefe 3 in Hj durch neue Variablen Ai (ersetze Gi nur wennes kein Atom 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 hochstens 3und 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 werdenmuss und bei der die Tautologie-Eigenschaft erhalten bleibt.

Page 28: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 28

Beachte, dass man Disjunktionen und Konjunktionen auch als Liste verarbeitenkann, aber zur schnellen CNF-Herstellung muss man eine obere Schranke derLange 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 CNF (oder 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 ′ =⇒ F ist eine Tautologie.

5. F ′ ist i.a. keine Tautologie. Ebenso ist F =⇒ F ′ i.a. keine Tautologie.

Beweis.

1. Hierzu zeigt man dass fur jeden Ersetzungsschritt diese Eigenschaft gilt.

2. Das folgt aus dem ersten

3. Wenn F eine Tautologie ist dann ist F erfullbar, und wegen der Aussagenvorher, ist dann F ′ erfullbar.

4. F ′ =⇒ F ist eine Tautologie: Sei I ein Modell von F ′. Dann sind alleDefinitionsgleichung erfullt und man mann damit zeigen, dass die Inter-pretation I auch ein Modell von F ist.

Page 29: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 29

5. F ′ ist i.a. keine Tautologie, denn z.B. X ∨ ¬X wandelt man um in Y ∧Y ⇐⇒ (X ∨ ¬X), aber die Interpretation die Y falsch macht, ist keinModell. Das gleiche Beispiel zeigt, dass F =⇒ F ′ keine Tautologie ist, dafur die Interpretation I gilt: I |= F aber I 6|= F ′, also ist I(F =⇒ F ′) = 0.

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

spass-prover. org/ contact. html gefunden werden. Das Programm heißtFLOTTER. Es benotigt einen gewissen Vorspann: Symbole, . . . ; es verlangt einestandardisierte Syntax und erzeugt dann als Ausgabe-Datei eine Klauselmenge.Diese kann dann in einen weiteren Beweiser (SPASS) eingegeben werden. Aller-dings hat FLOTTER einen aussagenlogischen Check als Teilsystem eingebaut,so dass sich aussagenlogische Formeln sofort damit entscheiden lassen. DiesesSystem gibt im erfullbaren Fall ein Modell aus.Mittlerweile gibt es auch verschiedene Portierungen.

2.5 SAT - Problem und Hornklauseln in Aussagenlogik

Die Frage ob eine aussagenlogische Klauselmenge erfullbar ist, ist auch als SAT-Problem bekannt (siehe z.B. das Buch von Schoning und Toran).Dieses Problem ist NP-vollstandig.Es gibt Spezialisierung wir zB k − SAT : Das ist die gleiche Frage, wobeiman sich auf Klauseln der Lange genau k einschrankt. Fur k = 2 ist es inpolynomieller Zeit entscheidbar (s.u.) und fur k ≥ 3 wieder NP-vollstandig.

Mittlerweile gibt es viele Forschergruppen, die sich nur um das SAT-Problemund moglichst schnelle Algorithmen auch fur sehr große Eingaben kummern.Interessant ist ein Satz der aufgrund der reinen Anzahlen von Klauseln bereitsErfullbarkeit zeigt.

Satz 2.30 Wenn fur ein k ≥ 2 die Klauselmenge S zu k-SAT gehort (d.h. alleKlauseln haben Lange k, und es sind h < 2k Klauseln, dann ist S erfullbar.

Beweis. Wenn die Anzahl der aussagenlogischen n ist (es gilt ja n ≥ k), danngibt es 2n mogliche Interpretationen. Ein Klausel der Lange k hat 2n−k nichterfullende (d.h. widerlegende) Interpretationen. Betrachtet man die gesamteKlauselmenge, so kann man alle widerlegenden Interpretationen finden, indemman die Menge der Interpretationen nimmt, die mindestens eine Klauselwiderlegen. Das sind maximal h ∗ 2n−k < 2n, also gibt es mindestens eineInterpretation, die S erfullt. 2

Das zeigt, dass man in Beispiele, bei denen man k aussagenlogischen Variablenhat, und nur Klauselmengen mit k-Klauseln, die Erfullbarkeit durch Zahlenentscheiden kann. Denn nur die Klauselmenge, die alle Klauseln enthalt, istunerfullbar; wahrend alle kleineren Klauselmengen erfullbar sind.Fur Literale a schreiben a fur das Literal das aus ¬a durch evtl. Eliminationvon doppelten Negationszeichen entsteht.

Page 30: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 30

Satz 2.31 2-SAT ist in polynomieller Zeit entscheidbar.Ein erfullende Interpretation kann man in polynomieller Zeit konstruieren.

Beweis. Man kann das mittels Vollstandigkeit der aussagenlogischen Resolutionund Sattigung zeigen.Ein anderer Beweis (siehe [ST12]) geht direkt: Sei C eine Menge von 2-Klauseln.Seien V := {x1, . . . , xn} die aussagenlogischen Variablen in C. Konstruie-re einen gerichteten Graphen G der als Knoten alle 2n Literale zu V hat:V ′ := {x1, . . . , xn,¬x1, . . . ,¬xn}. Zu v1, v2 ∈ V gibt es genau dann eine Kantev1 → v2, wenn ¬v1 ∨ v2 eine Klausel in C ist (nach Elimination einer Doppel-negation). D.h. Jede Klausel erzeugt maximal 2 Kanten.Der Graph hat folgende Eigenschaft: wenn es fur verschiedene Literale a, b einenWeg von a nach b gibt, dann auch einen von b nach a: Das folgt, da es fur dieKlauseln und Kanten gilt.Behauptung ist jetzt: C ist erfullbar gdw. es kein x gibt, so dass G einen Wegvon x nach ¬x und gleichzeitig einen von ¬x nach x enthalt.Sei C erfullbar, z.B. mit Interpretation I. Dann kann mal alle Kanten und auchalle Wege wie Implikationen interpretieren. Wenn es ein x gibt mit Weg nach¬x, dann kann nur I(x) = 0 sein, und einen Weg von ¬x nach x kann es dannnicht geben. Entsprechend, wenn es einen Weg von ¬x nach x gibt.Wenn die Wegebedingung fur G gilt, dann ist C erfullbar: Dazu konstruiere eineInterpretation I: Zuerst betrachte die Variablen x fur die es einen Weg von xnach ¬x gibt oder einen Weg von ¬x nach x. Wenn es einen Weg von x nach¬x gibt, dann definiere I(x) := 0. Wenn es einen Weg von ¬x nach x gibt, danndefiniere I(x) = 1. Danach lege die Interpretation fest fur alle von a ∈ {x,¬x}aus erreichbaren Literale falls I(a) = 1. Hierbei kann es keinen Konflikt geben:Angenommen von a aus ist sowohl b als auch b erreichbar und I(a) = 1 istfestgelegt. Dann gibt es auch einen Weg von b nach a, was aber nur moglich ist,wenn I(a) = 0 ware.Ist eine Variable y nicht erreichbar von den bereits I-festgelegten Variablen,dann lege I(y) = 1 fest, und definiere auch alle von y aus erreichbaren Literale

a als I(a) = 1. Hierbei kann es kein b mit y+−→ b geben, bei dem bereits I(b) = 0

festgelegt wurde, denn es gibt einen Weg von b nach y, der dann schon I(y) = 0festgelegt hatte. Also kann man die Interpretation festlegen, so dass alle KantenImplikationen entsprechen unter I. Dann sind auch alle Klauseln von I erfullt:Eine Klausel a ∨ b erzeugt ja eine Kante a → b. Wenn I(b) = 1 ist die Klauseloffenbar erfullt. Wenn I(b) = 0 ist, dann kann man aus der Kante b→ a schlie-ßen, dass I(a) = 1 ist, also dass I(a) = 0 sein und die Klausel wird auch von Ierfullt.Die Konstruktionen und die Wege-Suche sind in polynomieller Zeit machbar. 2

Definition 2.32 Eine Klauselmenge ist Horn, bzw eine Hornklauselmenge,wenn es in jeder Klausel maximal ein positives Literal gibt.Eine Klauselmenge C ist renamable Horn, wenn es eine Umbenennung σ gibt,die fur eine Untermenge V der Variablen und mit σ := {x 7→ x;x 7→ x | x ∈ V },so dass σ(C) eine Hornklauselmenge ist.

Page 31: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 31

Es kann in einer Hornklauselmenge positive 1-Klauseln geben: diese nennt manFakten.

Aussage 2.33 Erfullbarkeit von Hornklauselmengen ist polynomiell entscheid-bar. Auch die erfullende Interpretation kann in polynomieller Zeit konstruiertwerden.

Beweis. Sei C die Klauselmenge. Wenn es keine Fakten (positive 1-Klauseln)gibt, dann ist die Menge erfullbar: man definiert alle Variablen als falsch. Wennes eine positive Unit x gibt, dann definiert man die als wahr, und erzeugt eineKlauselmenge, aus der alle Klauseln, die x positiv enthalten, eliminiert sindund alle negativen Vorkommen von x aus Klauseln geloscht sind. Es resultierteine Hornklauselmenge C ′ und diese ist erfullbar gdw. C erfullbar ist und auchkleiner.Insgesamt ist das Verfahren polynomiell durchfuhrbar.

Bemerkung 2.34 Erfullbarkeit von Hornklauselmengen kann man in ZeitO(n2 log n) testen, wobei n die Große der eingegebenen Klauselmenge ist.Es geht sogar O(n log n) mit guten Datenstrukturen: Dazu erst alle Klauseln ineinen Suchbaum einfugen. Dabei alle Unit Klauseln in einer Liste merken. ProKlausel die Große speichern und die vorkommenden Variablen als Suchbaum.Dann die Liste abarbeiten:

1. Fur jede unit x in der Unit-Liste:In alle Klauseln K gehen die x enthalten:

(a) Wenn x positiv in K, dann K loschen.

(b) Wenn x negativ in K, dann x aus K loschen und Variable-Suchbaumvon K anpassen.

(c) Wenn der Suchbaum nur noch eine Variablen enthalt, dann die Klau-sel in die Unit-Liste.

2. Wenn es eine leere Klausel gibt (entstanden aus eine nur negativen Klau-sel), dann unerfullbar; Sonst: Klauselmenge erfullbar.

Satz 2.35 Eine Klauselmenge C kann in polynomieller Zeit daraufhin uberpruftwerden, ob sie renameble Horn ist, und auch das Renaming kann in polynomi-eller Zeit berechnet werden.

Beweis. Sei C die gegebene Klauselmenge. Konstruiere eine 2-Klauselmenge C2:diese enthalt alle Klauseln a∨ b, wenn a 6= b in einer Klausel von C vorkommen.D.h. es gehen nur Klauseln aus C mit mindestens 2 Literalen hier ein. Die Ideeist, dass C2 erzwingt, dass die negierten Literale der umbenannten Hornformelals wahr interpretiert werden. Es gilt:C ist renamable Horn gdw. C2 erfullbar:Wenn C renamable Horn, dann gibt es eine Menge von Variablen V und eineErsetzung σ so dass σ(C) eine Hornklauselmenge ist. Eine erfullende Interpreta-tion nach der Umbenennung ergibt sich, wenn alle Variablen mit 0 interpretiert

Page 32: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 32

werden. In dem Fall wird nach der Umbenennung in den Klauseln maximalein Literal mit 0 interpretiert. andert man die Interpretation jetzt so ab, dassI(x) = 1, wenn x ∈ V und I(x) = 0, wenn x 6∈ V , dann wird in jeder ursprung-lichen Klausel maximal ein Literal mit 0 interpretiert. Fur Klauseln u ∨ v inC2 mit u 6= v muss somit eines mit 1 interpretiert werden und deshalb ist C2

erfullbar.Wenn C2 erfullbar ist, dann kann man mit analogen Argumenten zeigen, dassC eine Hornklauselmenge ist: Sei I die erfullende Interpretation von C2. Dannsieht man, dass in jeder Klauseln von C maximal ein Literal mit 0 interpretiertwird. Jetzt konnen wir eine Substitution σ angeben: σ benennt die mit 0 inter-pretierten Literal so um, dass diese positive Variablen sind. Literale, die von Imit 1 bewertet sind, werden so umbenannt, dass diese negative Literale sind.Jetzt muss man nur noch einsehen, dass dabei kein Konflikt entsteht: Der einzigemogliche Konflikt sind zwei verschiedene Literale, die mit 0 bewertet sind, unddie in einer einzigen Klausel vorkommen. Das war aber schon ausgeschlossen.1-Klauseln in einer Klauselmenge C sind kein Problem beim Schließen, bei derSuche nach einem Widerspruch oder bei der Suche nach einer erfullenden Bele-gung, da man damit unit-propagation die Klauselmenge verkleinern kann.

2.6 Resolution fur Aussagenlogik

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

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

Beweis. Ubungsaufgabe 2

Die semantische Entsprechung ist:

Lemma 2.37 {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:

Page 33: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 33

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.38 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 ∨ . . . ∨Cmwahrmacht. Wenn I(A) = 1, dann gibt es ein Cj , so dass I(Cj) = 1. Damit istauch die Resolvente unter I wahr. Analog fur den Fall I(A) = 0.2

Aussage 2.39 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.40 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-Logemann-Loveland-Prozedur (siehe 2.7) oder ein Tableaukalkul (siehe 2.9) ge-eigneter .

Page 34: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 34

Was jetzt noch fehlt, ist ein Nachweis der naheliegenden Vermutung, dass dieResolution fur alle unerfullbaren Klauselmengen die leere Klausel auch findet.

Satz 2.41 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 manK durchK ′, 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

Beweis. Alternativer Beweis mit Induktion nach der Große der Klauselmenge:Sei C eine unerfullbare Klauselmenge. Wahle ein existierende Variable A undzerlege die Klauselmenge in drei Unterklauselmengen: C = CA∪C¬A∪C∅, wobeiCA alle Klauseln von C enthalt, die A positiv enthalten, CA alle Klauseln die¬A enthalten und C∅ die Klauseln die weder A noch ¬A enthalten.Dann gibt es keine Interpretation I mit I(A) = 0, die CA ∪C∅ erfullt und keineInterpretation I mit I(A) = 1, die C¬A ∪C∅, also sind folgende Klauselmengenunerfullbar: C1 = C ′A ∪ C∅ wobei C ′A genau die CA-Klauseln enthalt, wobei Agestrichen wurde; C2 = C ′¬A ∪ C∅ wobei C ′¬A genau die C¬A-Klauseln enthalt,wobei ¬A gestrichen wurde. Resolution findet die leere Klausel, sowohl fur C1

als auch fur C2. Wenn C∅ unerfullbar, dann kann Resolution bereits hier dieleere Klausel herleiten. Wenn C∅ erfullbar, dann benutzt die Resolutionsherlei-tung der leeren Klausel in C1 eine Klausel aus C ′A. Diese kann man erweiternund erhalt eine Resolutionsherleitung von {A} aus CA ∪ C∅. Analog eine Re-solutionsherleitung von {¬A} aus C¬A ∪ C∅. Danach kann man einen weiterenResolutionsschritt machen und aus {A} und {¬A} die leere Klausel herleiten.

Satz 2.42 Resolution erkennt unerfullbare Klauselmengen.

Page 35: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 35

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.7 Davis-Putnam-Logemann-Loveland-Verfahren

Die Prozedur von Davis, Putnam, Logemann und Loveland zum Entscheiden derErfullbarkeit (und Unerfullbarkeit) von aussagenlogische Klauselmengen beruhtauf Fallunterscheidung und Ausnutzen und Propagieren der Information. Wennman die Vollstandigkeit des Resolutionskalkuls fur Pradikatenlogik inklusiveeiniger Redundanzregeln voraussetzt, (Subsumtionsregel, Isolationsregel), kannman die Korrektheit leicht begrunden.

Definition 2.43 Resolutionsverfahren fur Aussagenlogik (Davis-Putnam Pro-zedur)Sei C eine aussagenlogische Klauselmenge. Dann wird die Davis-Putnam-Loveland-Logemann- Entscheidungsprozedur DP folgendermaßen (rekursiv) de-finiert: Es ist ein Algorithmus, der eine Klauselmenge als Eingabe hat, undgenau dann true als Ausgabe hat, 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.

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

Page 36: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 36

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 brauchtim schlimmsten Fall exponentiell viel Zeit, was nicht weiter verwundern kann,denn der Algorithmus lost ein co-NP-vollstandiges Problem und als Unterpro-blem auch SAT, das Erfullbarkeitsproblem fur aussagenlogische Klauselmengen,das NP-vollstandig ist.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, kann

man 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.44 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 nichtmehr vorkommt

Page 37: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 37

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.45 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 nach

einem Modell.

• H ∨ S ∨M

• H =⇒ ¬(S ∨M)

• S =⇒ ¬(H ∨M)

• M =⇒ ¬(H ∨ S)

• ¬S =⇒ ¬H

• ¬H =⇒ ¬M

Dies ergibt eine Klauselmenge (doppelte sind schon eliminiert):

Page 38: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 38

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.46 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 <=> I

E <=> (-OE => U)

I <=> (U => -E)

O <=> (E /\ UE)

U <=> (UE => I)

OE <=> (A XOR I)

UE <=> O

Page 39: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 39

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.47 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:

Page 40: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 40

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.48 Anwendung auf ein Suchproblem: das n-Damen Problem.Es sollen Koniginnen auf einem quadratischen Schachbrett der Seitenlange n soplatziert 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],

Page 41: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 41

[-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 Platzierungen im Fall n = 4.Der Aufruf dpqueens 8 ergibt nach kurzer Zeit:- - D - - - - -

- - - - - - D -

- D - - - - - -

- - - - - - - D

- - - - D - - -

D - - - - - - -

- - - D - - - -

- - - - - D - -

Beispiel 2.49 Das n-Damen Problem gibt es noch in weiteren Varianten: DieTorus-Variante: In dem Fall setzt sich die Bedrohung uber der Rand an der Seiteund oben und unten fort. Die die Bedrohung entlang Diagonallinien des 8 × 8Feldes ist so dass die Dame in der ersten Zeile im unteren Beispiel die Damein der vierten Zeile bedroht, wenn man die Diagonale nach links unten verfolgt.- - D - - - - -

- - - - - - D -

- D - - - - - -

- - - - - - - D

- - - - D - - -

D - - - - - - -

- - - D - - - -

- - - - - D - -

Recherche im Internet ergibt (z.B Polya hat sich schon damit beschaftigt): esgibt offenbar Losungen, wenn n teilerfremd zu 6 ist und n ≥ 5. D.h. fur n =5, 7, 11, 13, 17, .. gibt es Losungen, fur n = 4, 6, 8, 9, 10, 12, 14, 15, 16, . . . gibt eskeine Losungen. Eine Losung (Aufruf: dpqueenscyl 5) ist:

Page 42: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 42

D - - - -

- - D - -

- - - - D

- D - - -

- - - D -Fur n = 11 werden 4 Losungen ermittelt und fur n = 13 werden 174 Losun-gen ermittelt (allerdings nach einer Symmetrieoptimierung). Eine generischeLosung ist (Nr 33.):D - - - - - - - - - - - -

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

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

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

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

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

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

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

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

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

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

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

- - - - - - - - - - - D -Aus diesen Beispielen kann man sich auch eine Serie von erfullbaren und un-erfullbaren Klauselmengen generieren, die man fur Testzwecke verwenden kann.

Beispiel 2.50 Sudoku: Losen mittels DP-AlgorithmusSudoku-Ratsel setze ich mal als bekannt voraus: Es ist ein 9× 9 Feld, unterteiltin 9 3×3 Quadrate: In jeder Zeile, Spalte und in jedem 3×3-Quadrat muss jedeZahl zwischen 1 und 9 genau einmal vorkommen. Einige Zahlen sind vorgegeben.Es gibt eine Beispiel-Implementierung, die auf dem DP-Algorithmus basiert undfolgende Sequenz von Operationen ausfuhrt:

• Texteingabe: die Aufgabe, d.h. die bereits bekannten Zahlen.

• Parser: Texteingabe wird uberfuhrt in eine Klauselmenge aus Units.die logischen Variablen Xi,j,k beschreiben ob auf Feld mit Koordinate i, jdie Zahl k steht oder nicht.

• Generator: Klauselmenge, die alle Bedingungen beschreibt. (Theorie) ZumBeispiel muss genau eine der Variable x1,1,1, . . . x1,1,9 wahr sein und dieanderen falsch.

• DP-Lauf mit der Klauseleingabe

• Aus der ausgegebenen Interpretation wird eine textuelle Losung berechnet.

sudokuex20100419 =

["3--5-4--1",

"-1-----7-",

Page 43: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 43

"--9-1-5--",

"4--3-9--7",

"--3---9--",

"1--8-7--6",

"--5-6-2--",

"-8-----4-",

"2--4-5--9"]

> length (sudokucnf sudokuex20100419)

12016

> sudokuexam20100419loesung = sudokul sudokuex20100419

> sudokuexam20100419trace

> sudokuexam20100419loesung

> sudokuexam20100419loesung

326574891

514698372

879213564

468329157

753146928

192857436

945761283

681932745

237485619

Diese Implementierung ist nur ein Demonstrator, der zeigen soll, dass und wieman mit Logik auch solche Puzzles losen kann. die Rechenzeit ist im Sekun-denbereich, kann aber auch recht lange werden, wenn es sich um ein schweresProblem handelt. Zum Vergleich:es gibt spezialisierte Algorithmen zB im Inter-net, die alle Sudoku-Fragen im Milli-Sekunden berechnen.

2.8 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].

Page 44: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 44

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

Page 45: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 45

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

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.51 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:

Page 46: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 46

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 dieserBerechnung 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 Interpretation und zuM mitgefuhrt.Der Konfliktgraph am Beispiel oben:

5

3

1

-6

4

2

Wid Konflikt

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

Page 47: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 47

9d

-7

-8

6

-5

2

-3

2

-1

Zum Fortschritt bzw der Ordnung die die Terminierung der DPLL-Prozedurbestimmt:Diese wird alleine bestimmt durch die partielle InterpretationM , 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.Da die Ordnung fundiert ist – es gibt nur endlich viele Literale – terminiert dasVerfahren.

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

Page 48: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 48

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.9 Tableaukalkul fur Aussagenlogik

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

• α-Formeln (konjunktive Formeln) und

• β-Formeln (disjunktive Formeln)

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

α α1 α2

X ∧ Y X Y¬(X ∨ Y ) ¬X ¬Y¬(X =⇒ Y ) X ¬Y(X ⇐⇒ Y ) X =⇒ Y Y =⇒ X

Die direkten Unterformeln der β-Formeln sind:

β β1 β2

X ∨ Y X Y¬(X ∧ Y ) ¬X ¬YX =⇒ Y ¬X Y¬(X ⇐⇒ Y ) ¬(X =⇒ Y ) ¬(Y =⇒ X)

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

Page 49: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 49

2.9.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.52 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.

Definition 2.53 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:

¬¬XX

α

α1

α2

β

β1 | β2

¬0

1

¬1

0

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

Page 50: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 50

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

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

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

X ∧ ¬X|X|¬X

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

¬(X ∧ Y =⇒ X)|

X ∧ Y|¬X|X|Y

Beide Tableaus sind geschlossen.

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

A⇔ B

A ¬AB ¬B

¬(A⇔ B)

A ¬A¬B B

Page 51: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 51

Beispiel 2.56

¬((P ⇐⇒ Q) ⇐⇒ (Q ⇐⇒ P ))

iiiiiiiiiiiiiiiii

VVVVVVVVVVVVVVVVV

(P ⇐⇒ Q) ¬(P ⇐⇒ Q)

¬(Q ⇐⇒ P )

rrrrrrrrrrrQ ⇐⇒ P

hhhhhhhhhhhhhhhhhhhhh

P ¬P ¬Q Q

Q

{{{{{{{{¬Q P ¬P

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

P ¬P

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

Page 52: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 52

¬(P =⇒ (Q =⇒ P ))

P

¬(Q =⇒ P )

Q

¬(P )

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

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

(P =⇒ Q)

(Q =⇒ R)

¬(P =⇒ R)

P

¬R

nnnnnnnnnnnnnn

LLLLLLLLLLL

¬P Q

ttttttttttt

IIIIIIIIIII

geschlossen ¬Q R

geschlossen geschlossen

Page 53: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 53

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

Beweis.”

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

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

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

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

• Analog fur die anderen α und β-Formeln.

”⇐“: Wenn ein Pfad in T ′ erfullbar ist, dann ist auch der verkurzte Pfad in T ,

der den Pfad T ′ erzeugt hat, erfullbar. 2

Korollar 2.62 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.61, insbesondere kann kein geschlossenesTableau erzeugt werden. 2Die 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.

Page 54: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 54

Bemerkung 2.63 Zu Ordnungen

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

′2) gdw. m1 >1 m

′1

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

′2) fundiert.

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

Page 55: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 55

• ¬¬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 (nichtoptimierteVariante).Da gr(X ⇐⇒ Y )− 1 = gr(X =⇒ Y ), kann man die gleiche Argumen-tation wie oben anwenden.

• Andere Falle analog.

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

Definition 2.65 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.66 (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

Page 56: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 56

Aussage 2.67 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.68 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.67, also erfullbar nach Lemma 2.66, undsomit auch die eingegebene Formel, was der Voraussetzung widerspricht. Alsoist jeder Pfad geschlossen. 2

Aussage 2.69 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.

Page 57: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 57

2.10 Entscheidungsprozeduren 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.Fur geschlossenen QBFs ist die Gultigkeit einer Formel definiert. Diese kannnur 0 oder 1 sein. Man kann auch fur offene QBFs entsprechende Begriffe wirErfullbarkeit und Tautologie definieren. Diese sind aber direkt aquivalent zurFrage der Gultigkeit einer entsprechenden geschlossenen QBF.Es ist bekannt, dass die Gultigkeit von QBFs PSPACE-vollstandig ist. Auch dieKomplexitatsklassen der polynomiellen Komplexitatshierarchie sind einfach mitQBF zu erklaren: Die Klassen Σpn und Πp

i sind definiert als:

• NP : Klasse der Probleme, die nichtdeterministisch in polynomieller Zeitentschieden werden konnen.

• coNP : Klasse der Probleme, deren Negation (Komplemente) nichtdeter-ministisch in polynomieller Zeit entschieden werden kann.

• Σp1 := NP , Πp1 := coNP

• Σpi+1 Klasse der Probleme, die n.d. in polynomieller Zeit entschieden wer-den konnen, wobei ein Orakel aus Πp

i verwendet werden darf.

• Πpi+1 Klasse der Probleme, deren Negation n.d. in polynomieller Zeit ent-

schieden werden kann wobei ein Orakel in Σpi verwendet werden darf.

• PH Vereinigung aller Πpi = Vereinigung aller Σpi

• Es gilt: PH ⊆ PSPACE

Die Klassen Σpn und Πpi haben die folgenden QBFs als vollstandige Problemmen-

gen, wobei zu Πpi die Menge (∀+∃+)∗.F gehort und zu Σpn: die Menge (∃+∃+)n.F

mit maximal n− 1 Quantorenwechseln.Das Interesse an der Implementierung von Entscheidungsalgorithmen fur QBFskommt daher, dass man dadurch Implementierungen fur eine ganze Klasse vonProblemen behandeln kann. Wenn man eine

”effiziente“ Implementierung hat,

hat man damit auch ein effizientes Entscheidungsverfahren fur alle PSPACE-vollstandigen Probleme, wobei man vorher noch das Problem entsprechend uber-setzen musste. Naturlich sind alle bekannten Entscheidungsalgorithmen expo-nentiell, aber die Hoffnung ist, dass man durch geeignete Optimierungen der

Page 58: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 58

Implementierung doch einen großen Anteil der praktisch relevanten Problemeeffizient entscheiden kann.

Beispiel 2.70 Aussagenlogische Formeln kann man als QBFs ansehen, wobeiman je nach Fragestellung (Erfullbarkeit bzw Unerfullbarkeit) andere Quantorenwahlt.

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

2. Die Tautologie-Eigenschaft einer aussagenlogischen Formel F ist das glei-che wie Gultigkeit der QBF ∀p1, . . . , pn.F , wobei pi die aussagenlogischenVariablen 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 aussagen-logische Formel. Eine weitergehende Normalform ist eine Pranex-Klausel-Form,in der die Formel im Rumpf eine Konjunktion von Klauseln ist. Oder auch indie Negations-Normalform (alle Negationszeichen sind vor Variablen).Folgendes Verfahren kann man dazu verwenden:• Alle gebundenen Variablen mussen verschieden sein.

Wenn nicht, unter Beachtung der Bindungsbereiche umbenennenmit neuen Variablen-Namen.Diese Umbenennung muss auch gemacht werden, wenn Formelnkopiert werden, z.B. bei der Elimination von Aquivalenzen.

1. Implikationen ersetzen durch A =⇒ B → ¬A ∨B;und Aquivalenzen ersetzen durch:A ⇐⇒ B → A =⇒ B ∧B =⇒ A.

2. Negationen nach innen schieben, u.a. mit¬(∀X.P )→ (∃X.¬P ) und ¬(∃X.P )→ (∀X.¬P )

3. Quantoren nach außen schieben, wobeiF ∨ ∀X.P → ∀X.F ∨ P (mit evtl. Umbenennungen)das gleiche auch fur die anderen Kombinationen von Quantorenund Junktoren und ∧,∨

4. Die Verwendung von Abkurzungen wie in der schnellen CNF.hierbei ist die Transformation im bereits quantorfreien Rumpf:F [G] ; ∃X.F [X] ∧ (X ⇐⇒ G).

Aussage 2.71 Man kann eine QBF F , die keine Aquivalenzen enthalt, in ZeitO(n ∗ log(n)) in eine aquivalente Pranexform umwandeln.

Beweis. Zunachst kann man Negationen nach innen und Quantoren nach außenschieben, ohne die Formel zu vergroßern. Die Umwandlung des quantorenfreienRumpfs in eine CNF ist wie bei der schnellen CNF; hierbei konnen weitereEx-Quantoren hinzugefugt werden.

Page 59: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 59

QBFs mit Aquivalenzen sind immer noch in PSPACE, da man die Gultigkeitder Formel durch ein top-down Verfahren (semantischer Baum) ermitteln kann,das nur linear viel Platz benotigt. Wenn man diese in in eine Pranexform um-wandelt, kann die Formel exponentiell groß werden durch die Verdopplung derUnterformeln bei der Ersetzung der Aquivalenzen.Bei Ubersetzungen von QBFs in aussagenlogische Formeln (ohne Quantoren)muss man immer von einem (worst-case) exponentiellen Zeitbedarf ausgehen,manchmal sogar von (worst-case) exponentiellem Platzbedarf, d.h. die erzeugteFormel ist exponentiell groß, da Erfullbarkeit von aussagenlogischen FormelnNP-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 variablenfreie (geschlossene) aussagenlogische For-mel, die man nur vereinfachen 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.72 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 aussagenlo-gische Formeln ubersetzen kann, erlaubt die Verwendung der aussagenlogischenDPLL-Prozedur: Die neu eingefuhrten Variablen werden als existenzquantifiziertangesehen.Die QBF Formel wird, nach Elimination der Aquivalenzen und Implikationen,zunachst in Negations-Normalform uberfuhrt, d.h. alle Negationszeichen nachinnen geschoben. Danach wird von oben die Formel transformiert: Sei ψ dieTransformation

• ψ(∀X.Q) := ψ(Q ∧ Q) wobei Q die Formel Q[¬X/X] ist.

• ψ(∃X.Q) := ψ(Q).

Page 60: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 60

• ψ(F1 ⊗ F2) := ψ(F1)⊗ ψ(F2) wobei ⊗ ∈ {∨,∧}.

Die Ubersetzung erhalt die Erfullbarkeit, wenn man die auch auf offene QBFsanwendet. D.h. eine QB-Formel F in NNF ist gultig, gdw. die Formel ψ(F )erfullbar ist.Beweis. Induktion nach Tiefe der Quantoren, und dann nach Große der For-meln.Sei I eine Interpretation mit I(F ) = 1. Wenn F = F1∨F2, dann I(F1) = 1 oderI(F2) = 1, und Induktion reicht aus, entsprechend F = F1 ∧ F2. Wenn F keineQuantoren enthalt, dann gibt es nichts zu zeigen.Wenn F = ∀X : F ′, dann ist I(F ′[1/X]) = 1 und I(F ′[0/X]) = 1. Fur jede In-terpretation I ′, die I auch auf X ausdehnt, ist dann auch I ′(F ′∧F ′[¬X/X]) = 1,unabhangig vom Wert von I ′(X). Genauso fur F = ∃X.F ′.Umgekehrt geht es analog. Wir schauen mal den Fall F = ∀X : F ′ genauer an.Sei I eine erfullende Interpretation von F ′∧F ′[¬X/X], d.h. I(F ′∧F ′[¬X/X]) =1. Dann ist I(F ′[1/X]) = 1 als auch I(F ′[0/X]) = 1. Deshalb gilt auch I(∀X :F ′) = 1.Die Ubersetzung ergibt eine Formel, die lineare Große in der Anzahl der Exi-stenzquantoren, aber exponentielle Große in der Anzahl der All-Quantoren hat.Bei der Ubersetzung und nachfolgender Umwandlung in Klauselform geht dieQuantor-Struktur verloren, so dass man die Optimierungen, die die Quantorenerlauben, verliert.

2.10.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: Sei jetzt F eine aussagenlogischeFormel, d.h. existenzquantifizierte Formel.

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

Page 61: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 61

• Allerdings ist die Aquivalenz der Formeln vorher und nachher i.a. falsch.

2.11 Ein DPLL-ahnliches Entscheidungsverfahren furPranex-Klauselmengen (QBF)

Wir betrachten in diesem Unterabschnitt ein DPLL-analoges Entscheidungs-verfahren fur Klauselmengen mit Quantoren-Prafix, Das Ziel ist es, zu zeigen,dass die eingegebene Formel falsch ist. Dies Asymmetrie kommt daher, dass derFormelrumpf, die sogenannte Matrix, eine Klauselmenge ist, und somit besserfur Widerspruchlichkeit geeignet ist. Allerdings ist dies nur fur die Regel derisoloierten Literale wichtig.Hierbei kann man Klauseln innerhalb der Klauselmenge schon vorher klassifi-zieren:

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

2. Eine Klausel ist PK-falsch, wenn 1 nicht gilt und wenn die Klausel kei-ne existenziell quantifizierte Variable enthalt. Z.B. eine Klausel mit nurallquantifizierten Variablen ist falsch, wenn sie keine Tautologie ist.

3. Andere Klauseln nennt man PK-offen.

Dies Klassifikation wird im Entscheidungsverfahren verwendet, nachdem Fallun-terscheidungen fur die Belegung von Variablen gemacht wurde und meist auchnachdem eine Simplifikation durchgefuhrt wurde, die die Konstanten eliminiert.Als Beispiel die QBF ∀x.∃y.x∧ (¬x∨y). Hier kann man den Term x als Klauselansehen, die nach Definition als PK-falsch klassifiziert wird. Wenn man als sicherannimmt, dass PK-falsche Formeln falsch sind, dann ist die gesamte Formel auchfalsch.

Lemma 2.73 • Wenn eine QBF F in Pranexform eine PK-wahre Klau-sel enthalt, dann kann diese Klausel gestrichen werden (durch 1 ersetztwerden), was eine Formel F ′ ergibt, unter Erhaltung der Gultigkeit derFormel, d.h. F gultig gdw F ′ gultig.

• Wenn eine QBF F in Pranexform eine PK-falsche Klausel enthalt, dannist F nicht gultig.

Beweis. Die erste Aussage ist ganz einfach zu zeigen und gilt ja bereits inAussagenlogik ohne Quantoren.Die zweite Aussage kann man folgendermaßen begrunden: Wenn x1, . . . , xn dieVariablen der PK-falschen Klausel sind, dann mache die n Ersetzung ∀xi.Fi →Fi[0/xi] ∧ Fi[1/xi]. Hierbei sind die xi all-quantifiziert und erscheinen in dieserReihenfolge, und man kann annehmen, dass zuerst xn, dann xn−1 usw. ersetztwird. Nach jeder Ersetzung kann man die Formel wieder in PK-Form bringendurch P.∀xn.P ′.K → P.P ′.K[1/xn]∧P ′.K[0/xn], und dann durch Umbenennenund verschieben in P.P ′.P ′′K[1/xn]∧K ′′[0/xn]. Hierbei ist K[1/xn]∧K ′′[0/xn]

Page 62: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 62

wieder eine Klauselmenge. Macht man das fur alle x1, . . . , xn, dann ergibt sichPn.Kn und es wird in einer der Kopien von K die PK-falsche Klausel nach einerErsetzung sich zu 0 simplifizieren lassen, da ja alle Moglichkeiten vorkommen.Damit wird die gesamte Klauselmenge Kn falsch und somit auch die Formel.

Beispiel 2.74 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

Die zwei offenen Knoten brauchen nicht weiter expandiert zu werden, da sichjeweils im anderen Ast schon ein

”False“ ergeben hat. Insgesamt ist die Formel

dann ein Widerspruch.

Die Entscheidungsprozedur fur Pranex-Klauselformen die analog zu DPLL ist,muss sich nach dem Quantorenprafix richten. Sie arbeitet von oben nach untenund macht Fallunterscheidungen: Es wird immer eine quantifizierten Variablemit 0 oder 1 belegt, je nach Quantor mussen dann beide Falle wahr sein (∀) oderein Fall (∃). Es wird jeweils die Klauselmenge untersucht, ob schon erkennbarist ob diese immer wahr ist, oder immer falsch. Optimierungen werden spaterbetrachtet.Folgende semantische-Baum Prozedur ist die einfachste Variante:

Definition 2.75 Entscheidungsprozedur semantischer Baum, wobei man genaugenommen nur nach der Gultigkeit der Formel fragt. Knoten sind mit Formelnmarkiert. Man kann Knoten nach UND- bzw. ODER-Knoten klassifizieren, jenachdem ob die Variable All- oder Ex-quantifiziert ist:

• An der Wurzel steht die eingegebene Formel.

Page 63: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 63

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

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

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

• ein Knoten wird als Blatt angesehen, wenn sich die Klauselmenge bereitszu 1 oder 0 auswerten lasst, entsprechend der Definition von PK-wahrenund PK-falschen Klauseln: Wenn eine PK-falsche Klausel dabei ist, dann0, wenn alle Klauseln PK-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. 2

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.Bei ∀ muss man beide untersuchen und bei ∃ kann man mittels eine Strategieraten. Wenn man allerdings Gultigkeit und ungultigkeit der Formel als Fragestellt, dann sind die beiden Quantoren gleichwertig.

Bemerkung 2.76 Man kann auch nach der Ungultigkeit der Formel fragen.Das macht keinen Unterschied bei geschlossenen Formeln. Die UND und ODER-Knoten sollte man dann dual interpretieren. Einen Unterschied gibt es bei Op-timierungen wie isolierte Literale (s.u.), da man dann eine Wahl hat und dieOptimierung abhangt von der ursprunglichen Frage.

Der Nichtdeterminismus der Prozedur hat zwei Quellen:

• Welche Variable wird zur Fallunterscheidung verwendet?

• Welcher Fall wird zuerst untersucht pro Variable?

Beispiel 2.77 Nochmal die Formel ∀x.∃y.x ⇐⇒ y:(mit einer Nicht-Klauselmenge, aber das geht auch)

∀x∃y.x ⇐⇒ y

iiiiiiiiiiiiiiiii

iiiiiiiiiiiiiiiii

NNNNNNNNNNN

NNNNNNNNNNN

∃y.1 ⇐⇒ y

sssssssss

KKKKKKKKK ∃y.0 ⇐⇒ y

ooooooooooo

KKKKKKKKK

1 ⇐⇒ 0 1 ⇐⇒ 1 0 ⇐⇒ 1 0 ⇐⇒ 0

Man sieht: der Wert an der Wurzel ist 1.

Page 64: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 64

2.11.1 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 (fur den Unterbaum) aus dem Prafix streichen.

Eine gute Entscheidungsprozedur benotigt noch mindestens zwei Regeln:

Unit-Propagation Eine Klausel c ist eine PK-Unit, gdw. sie genau ein existen-zielles 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 Top-Variable ist.

Isoliertes Literal Ein Literal in einer Klauselmenge ist PK-isoliert (PK-pur),wenn das Komplement nicht in der Klauselmenge vorkommt.Hier nehmen wir an, dass die Frage ist ob die Gesamtformel F = 1 ist.

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.

Auch diese Aktion kann durchgefuhrt werden, wenn x nicht die Topvaria-ble ist.

Das Verfahren, das man erhalt, ist das Davis-Putnam-Loveland-Logemann(DPLL-) Verfahren fur QBF.Die prototypische Implementierung zur Vorlesung hat nur die Unit-Propagation,aber noch nicht die Regel zu PK-isolierten Literal eingebaut.

Bemerkung 2.78 Dependency-directed Backtracking und Relevanz-MengenEine einfache Idee, die Entscheidungsprozedur mittels semantischem Baumweiter zu verbessern sind dynamische Relevanz-Mengen: Hierbei wird ange-nommen, dass die QBF in einer Pranexform vorliegt und die Formel eineKlauselmenge ist.Die Transformation kann man schnell durchfuhren wie bei der schnellen

Page 65: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 65

CNF-Erzeugung, wobei die neuen Variablen existenzquantifiziert sind.

Grob die Idee: Wenn man an einem Knoten verzweigt fur eine existenzquanti-fizierte Variable x; und im linken Zweig (x = 0) findet man eine Klausel, dieunabhangig von x immer falsch ist, dann ist diese Klausel auch im rechten Zweig(x = 1) falsch und man kann sofort backtracken.Dies kann man implementieren durch einen Markierungsalgorithmus, der einenRelevanzmarker fur Ex-Variablen verwaltet:

1. Bei Verzweigung an einer Ex-Variablen: markiere diese als irrelevant.

2. Wenn an einem Knoten eine falsche Klausel entdeckt wird, dann wirdam Knoten ein backtracking gemacht; gleichzeitig werden all Ex-Variablendieser Klausel als relevant markiert.

3. Kommt man (von links) beim backtracking an einen Knoten N , der aneiner Ex-Variablen y verzweigt, und y ist (noch) als irrelevant markiert,dann kann man den rechten Zweig uberspringen.

Dies kann man weiter verfeinern durch Verwaltung von Relevanzmengen.

2.12 Internet Referenzen (unvollstandig, bitte selbst goo-glen)

http://www2.tcs.ifi.lmu.de/ letz/TU/semprop/http://users.ics.aalto.fi/rintanen/jussi/publications.html

Page 66: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 66

2.13 Internationale Standardisierung der Formel-Eingaben

Fur SAT-Klauselmengen gibt es eine Standardform der Eingaben, damit alleSAT-Solver die gleichen Benchmarks benutzen konnen und Beispiele leichtaustauschen konnen:

DIMACS-Format:Die Klauselmenge wird zeilenweise eingegeben, pro Zeile eine Klausel, Literalesind positive oder negative ganze Zahlen.Der Vorspann des Files kann Kommentarzeilen enthalten, die mit “c “ beginnenmussen. Danach kommt eine Zeile der Formp cnf 123 456

wobei 123 die genaue Anzahl der Variablen der Klauselmenge ist und 456 diegenaue Anzahl der Klauseln. Danach kommt pro Zeile eine Klausel, wobei alsStoppzeichen noch eine 0 folgen muss, z.B.:1 -3 5 0

Beispiel:

p cnf 2 3

a 1 0

e 2 0

1 0

-1 2 0

2 0

QDIMACS-Format:Das Format fur quantifizerte Boolesche Formel in Pranex-Klauselform ist sehrahnlich, enthalt aber noch den Quantorprefix vor den Klauseln, nach der “pcnf” Zeile: Die Zeile sehen so aus:e 2 3 5 0

wenn die Variablen 2,3,5 existenzquantifiziert sind. a 4 6 0

wenn 4, 6 allquantifiziert sind. Die Quantoren mussen abwechselnd geschriebenwerden und die letzte Quantorzeile muss eine e-Zeile sein. Tautologische Klau-seln oder Klauseln, die zweimal dieselbe Variable enthalten, sind nicht zulassig.Zum Beispiel die Pranex-Klauselform ∀x∃y : x ∧ (¬x ∨ y) ∧ y, wenn man dieNummerierung x als 1 und y als 2 gewahlt hat:

p cnf 2 3

a 1 0

e 2 0

1 0

-1 2 0

2 0

Page 67: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 67

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

Quantifizierung”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

”aus

A folgt B“ gedeutet werden kann. Damit ist ein semantischer Folgerungsbe-griff etabliert, der zunachst jedoch in keiner Weise hilft, fur gegebene A und Balgorithmisch zu bestimmen, ob B wirklich aus A folgt. Wie in den Motivations-beispielen schon angedeutet wurde, gibt es jedoch nicht die eine Logik, sondernahnlich wie bei Programmiersprachen gibt es eine ganze Hierarchie von Logi-ken mit vielen unterschiedlichen Varianten und Erweiterungen nach verschiede-nen Richtungen. Jede von ihnen formalisiert ganz bestimmte Grundkonzepte,auch wiederum ahnlich wie in Programmiersprachen. Genauso wie man sich furnormale Anwendungen eine moglichst gut geeignete Programmiersprache aus-sucht, muss man fur konkrete deduktive Anwendungen eine adaquate Logikauswahlen. Fur einfache Puzzles kann die Aussagenlogik ausreichen, 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 in

der 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 uberhaupt

richtig 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“ hinschreiben, aber nicht uber irgendwelche Mengen quantifizieren. DasProblem, herauszufinden, ob eine Aussage aus einer anderen folgt ist in Aussa-genlogik entscheidbar.Das gilt jedoch nicht mehr in der etwas komplizierten Logik, der Gleichungslogik.

Page 68: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 68

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 der

Pradikatenlogik gibt es Relationen mit beliebiger Stelligkeit.Eine weitere Logik ist zum Beispiel die Modallogik, die man zur (automatischen)Losung des Wise Men Puzzles benutzen kann. Das Grundkonzept, das bei denModallogiken hinzukommt, ist das der Zustande – manchmal auch Welten ge-nannt – und der Zustandsubergange. Wie beim Wise Men Puzzle macht esoffensichtlich Sinn, nicht nur uber eine Welt zu reden, in der eine Aussage einenbestimmten Wahrheitswert hat, sondern es kann notwendig sein, gleichzeitiguber viele verschieden hypothetische Welten und deren Beziehungen zueinanderzu reden. Genau das ist mit Modaloperatoren in sehr eleganter Weise moglich.Beim wise-man-puzzle kann man sich vorstellen, dass jeder ein eigene Mengevon gultigen Aussagen haben kann.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 falsch

Page 69: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 69

zu 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 ist die

Formel wahr und wir haben damit ein Modell der Formel. Wenn wir stattdessendas Symbol

”Garfield“ auf einen Vogel abbilden, dann ist die Formel falsch und

die Interpretation ist kein Modell. Genausogut konnen wir auch als Tragermen-ge die naturlichen Zahlen nehmen und das Pradikatensymbol

”Katze“ auf die

Relation gerade und das Pradikatensymbol”Vogel“ auf die Relation ungerade

abbilden. Wenn jetzt z.B.”Garfield“ auf die 0 und

”Tweety“ auf die 1 abgebil-

det wird haben wir wieder ein Modell der Formel. Man bezeichnet eine Formelals allgemeingultig oder als Tautologie wenn sie unter allen Interpretationenwahr ist. Typische Tautologien sind

”P ∨ ¬P“, aber auch Formeln wie

”Eukli-

dische Geometrieaxiome =⇒ Satz des Pythagoras“. Formeln, die unter keinerInterpretation wahr sind heißen unerfullbar oder widerspruchlich. Typische Wi-derspruche sind

”P ∧ ¬P“, aber auch Formeln wie

”¬ (Euklidische Geometrie-

axiome =⇒ 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 meist

unendlich 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 von

Page 70: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 70

Programmen 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 AundB vorkommenden Symbole uberhaupt keine Rolle spielt. Ein syntaktisch ausA abgeleitetes B soll aber trotzdem semantisch folgen und umgekehrt. Ein kor-rekter Kalkul stellt daher nur solche Ableitungsoperationen zur Verfugung, diegarantieren, dass alles syntaktisch Ableitbare auch semantisch folgt. Wenn um-gekehrt alles, was semantisch folgt, auch syntaktisch ableitbar ist, ist der Kalkulvollstandig. Es gibt auch Kalkule, die statt auf Formeln auf anderen Datenstruk-turen operieren, z.B. auf Folgen von Formeln (Sequenzenkalkul), Mengen vonFormeln, oder auf einem Graph, der u.a. mit Formeln markiert ist.Nach dem Unvollstandigkeitssatz von Kurt Godel [God31] sind vollstandigeKalkule ab einer gewissen Ausdrucksstarke der Logiken jedoch nicht moglich.Dazu gehort die sogenannte Pradikatenlogik zweiter Stufe, in der neben Quan-tifizierungen uber Mengen auch Quantifizierungen uber Funktionen uber denMengen erlaubt sind. Hierzu zahlt auch die Logik, die die Theorie der naturli-chen Zahlen beschreibt, d.h. alle Formeln die genau fur die naturlichen Zahlengelten. In diesen Logiken gibt es Aussagen, die uber den semantischen Fol-gerungsbegriff aus anderen folgen, was aber mit keinem Kalkul, der nur mitSymbolmanipulation arbeitet, nachgewiesen werden kann.

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 lasst sichdamit zum Beispiel aus

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

Page 71: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 71

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: Lasst sich alles semantisch folgerba-re auch ableiten?

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

Page 72: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 72

Die rein syntaktisch arbeitenden Kalkule wie Resolution, die nichts von derBedeutung der Symbole, die sie manipulieren wissen, sind zwar im Prinzipausreichend. Fur viele haufig vorkommende Konstrukte kennt man jedoch Al-gorithmen und Kalkule, die spezielle Probleme erheblich schneller und besserlosen als die universell anwendbaren Kalkule. Niemand wurde zum Beispiel aufdie Idee kommen, die Gleichung 3 + 4 = x mit einem universellen Kalkul wieResolution zu losen. Das rechnet man einfach aus. Daher besteht ein weitererZweig der Kalkulentwicklung darin, Algorithmen fur wichtige Spezialfalle zuintegrieren, bzw. erst uberhaupt zu entwickeln. Als ein Rahmenkonzept dafurhat sich die von Mark Stickel vorgeschlagene Theorieresolution [Sti86] als sehrnutzlich gezeigt. Die Idee dabei ist, einen Resolutionsschritt nicht mehr uberdie syntaktische Komplementaritat – gleiches Pradikatensymbol und Argumen-te, verschiedenes Vorzeichen – sondern uber semantische Widerspruchlichkeitder Resolutionsliterale zu steuern. Diese semantische Widerspruchlichkeit kannvon einem speziellen Algorithmus, der uber die Bedeutung der vorkommendenSymbole etwas weiß, getestet werden. Beispielsweise kann man damit folgern:

a < b ∨ Pa > b ∨QP ∨Q

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

3.0.3 Logische Zustandsubergangssysteme

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

Page 73: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 73

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

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 bevorzugen

und”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 of

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

Page 74: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 74

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 unddie nach zuweisende Schlußfolgerungen, und als Ausgabe nur Er-folg/Misserfolg und eine Begrundung (Beweis). Dies ist die Idealvorstel-lung eines Automatischen Deduktionssystems. Pragmatische System be-schranken sich auf eine (einfache) Auswahl) von Eingaben, z.B. einfacheVerifikationsbedingungen. Im allgemeinen haben die Automatischen De-duktionssystems eine Menge von Parametern, die vor dem Lauf eingestelltwerden mussen. So dass z.B. die Arbeit mit dem System Otter darin be-stehen kann, in vielen Laufen, die richtigen Parameter bzw. Heuristikeneinzustellen, so dass es am Ende doch eher interaktiv wirkt.

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

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

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.

Page 75: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 75

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 noch

hoherer 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 y

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

Page 76: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 76

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.

Um Subterme zu addressieren, benutzt man Positionen in Termen. Dassind Strings von positiven ganzen Zahlen, so dass man mit t|p den Unter-term von t an der Position p berechnen kann:

• t|ε = t

• f(t1, . . . , tn)i.p = (ti)|p.

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

Page 77: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 77

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

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 )“ wahr

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

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

Page 78: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 78

• Meist haben die logischen Verknupfungssymbole die Bindungsordnung =⇒,⇔,∧,∨,¬ , d.h. =⇒ bindet am schwachsten und ¬ am starksten. Da-nach gilt eine Formel ¬A ∧ B ∨ C =⇒ D ⇔ E ∧ F als folgendermaßenstrukturiert: ((¬A) ∧ (B ∨ C)) =⇒ (D ⇔ (E ∧ F )). Quantoren binden,soweit die quantifizierte Variable vorkommt. D.h. ∀x : P (x)∧Q steht fur(∀x : P (x))∧Q wahrend ∀x : P (x)∧R(x) fur (∀x : (P (x)∧R(x))) steht.Um Zweifel auszuschließen, werden aber meist die Klammern explizit an-gegeben.

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

Page 79: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 79

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

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

symbol 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

Grundterm (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 be-

steht. d.h F = ∀n.F ′ und F ′ ist eine Disjunktionen von Litera-len.

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 Compiler

Page 80: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 80

fur 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.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) Ableitungs-regeln, 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), die

Semantik 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 Ergebnis

Page 81: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 81

dieser 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 logischenSymbols 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 → Funktionen

Pradikatensymbole → Relationen

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

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

Page 82: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 82

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

• 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. DieRelation 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. Man

Page 83: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 83

will 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 Σ-Algebra

erhalt. 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 Σ undden Variablen V . Sei FT die Menge der Funktionen {fΣ | f ∈ F , arity(f) =n, fΣ(t1, . . . , tn) := f(t1, . . . , tn)}). Dann nennt man (T (Σ, V ), FT ) die Termal-gebra uber der Signatur Σ.

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. 2Termmengen 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 von

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

Page 84: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 84

der 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)“ zum

Beispiel wird die Belegung des Pradikatensymbols”P“ durch eine Σ-Struktur fi-

xiert, wahrend das Symbol x mit allen Werten der Tragermenge der Σ-Strukturbelegt werden muss, um herauszufinden, ob P (x) fur alle x gilt.Nachdem jetzt geklart ist, wie man Terme evaluiert, wird im nachsten Schrittfestgelegt, wie man Formeln auf Wahrheitswerte abbildet. Fur atomare For-meln, d.h. Formeln der Art P (t1, . . . , tn) funktioniert das einfach so, dass manzunachst die Terme t1, . . . , tn auf Elemente Ih(t1), . . . , Ih(tn) der Tragermengeder Σ-Struktur abbildet und dann pruft, ob diese Elemente in der dem Pradi-katensymbol zugeordneten Relation liegen. Wenn ja, ist das Atom wahr, wennnicht, dann ist das Atom falsch. Fur die zusammengesetzten Formeln wird dieAbbildung auf Wahrheitswerte entsprechend der intuitiven Bedeutung der logi-schen Verknupfungen und Quantoren definiert. (Dies ist die Stelle wo die Be-deutung der logischen Symbole prazisiert wird.)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).

6PS ist die in S dem Symbol P zugeordnete Relation

Page 85: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 85

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

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

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

unerfullbar (widerspruchlich) wenn sie von keiner Interpretation erfulltwird.

falsifizierbar wenn sie in einer Interpretation falsch wird.

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.

Page 86: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 86

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

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

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

Page 87: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 87

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.

Bemerkung 4.21 Es gibt Varianten der Pradikatenlogik erster Stufe: MancheFormulierungen (bezeichen wir hier mit PL1(=)) erlauben ein Gleichheitszei-chen: “=“, das Infix verwendet wird und ein zweistellgies Pradikat ist. Bei In-terpretationen wird es meist speziell behandelt: I(s = t) = 1, wenn I(s) = I(t)ist.In PL1 gilt: Wenn eine Formel F ein Modell hat, dann kann man auch immerein Modell mit unendlich vielen Elementen angeben. Das gilt in PL1(=) nichtmehr: z.B. die Formel ∀x, y : x = y hat nur einelementige Modelle in PL1(=).

Bemerkung 4.22 Folgende Formel hat nur unendliche Modelle:

∀x : ∃y : R(x, y) seriell∧ ∀x, y, z : R(x, y) ∧R(y, z) =⇒ R(x, z) transitiv∧ ∀x, y : R(x, y) =⇒ ¬R(y, x) asymmetrisch

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

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

Satz 4.24 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 inI wahr.Also gilt F =⇒ G in allen Interpretationen I, d.h. F =⇒ G ist allge-meingultig.

”⇐“Annahme ist jetzt: F =⇒ G ist allgemeingultig. Sei I eine beliebige

Interpretation. Wenn I die Formel F erfullt, dann gilt das auch fur G, da F =⇒G ist allgemeingultig ist.Da die Interpretation beliebig gewahlt war, gilt somit F |= G 2

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

Page 88: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 88

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,diesen Effekt durch eine geanderte Definition fur =⇒ zu vermeiden, dann mussdas Deduktionstheorem nicht mehr unbedingt gelten. Da F eine Tautologie istgenau dann 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.26 Es ist unentscheidbar, ob eine geschlossene Formel ein Satz derPradikatenlogik ist.

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

Satz 4.27 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.

Page 89: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 89

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. Zu QBF sieheAbschnitt 2.10.

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 inneren

Quantoren. 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.28 Elementare Rechenregeln

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

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

”=⇒

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

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

Page 90: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 90

”⇐“ Sei I eine Interpretation, die ∃x : ¬F erfullt. Die obige Folgerungskette

kann auch ruckwarts durchlaufen werden. 2

Bemerkung 4.29 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 =⇒ , ⇐⇒ eliminiertsind.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 =⇒ , ⇐⇒ eli-miniert und dann alle Aquivalenzen nutzt, um Negationszeichen nach innen zuschieben.

Die Elimination von Existenzquantoren ist die sogenannte Skolemisierung (NachThoralf Skolem).Idee: Ersetze in ∃x : P (x) das x,

”das existiert“ durch ein Konstantensymbol

a, 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.30 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

Signatur fur F ist. Fur Σ2 = Σ1 plus zusatzliches n-stelliges Funktionssymbolf konstruieren wir ein Σ2-Modell I2 fur F ′ folgendermaßen: I2 = (A2, IV ) mitA2 := A1 plus eine neue n-stellige Funktion fA2

, wobei fA2wie folgt arbeitet:

fur alle a1, . . . , 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)]

Page 91: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 91

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

; F ′ ist erfullbar.

Die”⇐“ Richtung ist trivial. 2

Beispiel 4.31 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+ (y − x) = y.

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

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

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

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

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

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

Satz 4.33 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.34 Transformation in Klauselnormalform unter Erhaltungder Unerfullbarkeit.Folgende Prozedur wandelt jede pradikatenlogische Formel in Klauselform(CNF) um:

Page 92: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 92

1. Elimination von ⇔ und =⇒ : F ⇔ G→ F =⇒ G ∧G =⇒ F und

F =⇒ G→ ¬F ∨G(siehe Lemma 4.28). 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 moglichnach innen schieben

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

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.

8. Allquantoren an die Klauseln schieben, und danach gebundenen Variablenumbenennen, damit alle Klauseln variablendisjunkt werden.

Page 93: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 93

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.35 Der CNF-algorithmus (4.34) 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.

Beispiel 4.36A1: 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.37 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)| < ε)

Page 94: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 94

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

Page 95: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 95

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, . . . Lnund 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, . . . , NnResolvente: 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.36A1: 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.

Page 96: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 96

Aussage 5.3 Die Grund-Resolution ist korrekt:

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

C2 :=: ¬L,N1, . . . , NnR = 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.42 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:

Page 97: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 97

σ(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:

Page 98: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 98

• {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 Lite-rale mittels Resolution nicht ableitbar ist.Man kann aus den Klauseln

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

folgende gesattigte Klauselmenge mit Resolution herleiten:

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

Page 99: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 99

In der folgenden Herleitung werden die Variablen mit”

Friseur“instanziiert, unddann 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)

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:

Page 100: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 100

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

Page 101: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 101

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.

Page 102: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 102

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(. . .),Γ

Failwenn 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 die

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

Page 103: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 103

{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. es

existiert 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, dasnach 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ßt

gelost 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 ungelosten

Page 104: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 104

Variablen 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 geloster

Form. 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:

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:

Page 105: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 105

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 mit

Tiefe 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 nurflache Terme enthalten. Die interne Darstellung der Multimengen ist meist eineListe, kann aber bei großen auch eine Map sein. Der Algorithmus operiert aufeinem Paar: der Multimenge der gelosten und der Mutimenge der ungelostenGleichungen, bezeichnet mit Γs,Γu, eobei die Multimenge der gelosten am An-fang leer ist.Es werden folgende Regeln angewendet:

Page 106: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 106

(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

in Γu ∪ Γs,so dass x1 ∈ Var(sn) und xi ∈ Var(si−1), i = 2, . . . , nund 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 in linearer durchgefuhrt werden analog zum topologischen Sortieren.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.

Beispiel 5.27 Gleichungen:

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

Page 107: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 107

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 (Diese wird teilweise auchDreiecks-Darstellung genannt)

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.

Man kann den Algorithmus auch noch abwandeln druch eine Regel, die Variablendurch Variablen ersetzen kann.

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 zwei folgenden 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

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

Page 108: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 108

• 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 IHfur 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. DerTeilbaum der nicht abgeschlossenen Knoten ist ein unendlicher Baum mit end-licher Verzweigungsrate. Nach Konig’s Lemma gibt es einen unendlichen Pfad

Page 109: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 109

in 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. 2Das 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 Cgrgeben 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 fur

jeden 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

C1,gr C2,gr

C1 C2 2

2

allgemein

Grund

LiftingInstanz

Resolution

Grund-Resolution

HerbrandTheorem

*

*

Page 110: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 110

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

als PL1-Terme dargestellt. Der MINI-Kalkul lasst sich dann folgendermaßendurch PL1-Formeln beschreiben:

F1: ∀x, y : ableitbar(imp(x, imp(y, x)))F2: ∀x, y, z : ableitbar(imp(imp(x, imp(y, z)), imp(imp(x, y), imp(x, z))))F3: ∀x, y : ableitbar(x) ∧ ableitbar(imp(x, y)) =⇒ ableitbar(y)

Wir wollen zeigen, dass daraus folgende Formel folgt:

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

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

Page 111: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 111

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:

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. eineBuchfuhrung kann sinnvoll sein.

Page 112: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 112

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)

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.

Page 113: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 113

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, verhin-dert, dass Elternklauseln ihre Faktoren subsumieren. Die Einschrankung auf dassyntaktische Kriterium θ(C) ⊆ D fur Subsumtion ist zunachst mal pragmati-scher Natur. Es ist namlich so, dass man die allgemeine Implikation, C =⇒ D,nicht immer entscheiden kann. Selbst wenn man es entscheiden konnte, warees nicht immer geschickt, solche Klauseln zu loschen. Z.B. folgt die Klausel{¬P (x), P (f(f(f(f(f(x))))))} aus der Klausel {¬P (x), Pf(x))}. Um eine Wi-derlegung mit den beiden unaren Klauseln P (a) und ¬P (f(f(f(f(f(a)))))) zufinden, benotigt man mit der ersten Klausel gerade zwei Resolutionsschritte,wahrend man mit der zweiten Klausel 6 Resolutionsschritte benotigt. Wurdeman die implizierte Klausel loschen, wurde der Beweis also viel langer werden.Ein praktisches Problem bei der Loschung subsumierter Klauseln ist, dass derTest, ob eine Klausel C eine andere subsumiert, NP-vollstandig ist. Die Kom-plexitat steckt in den Permutationen der Literale beim Subsumtionstest. In der

Page 114: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 114

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

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.

Page 115: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 115

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 nach einer gro-ben Abschatzung in Zeit O(n3) durchfuhrbar.Eine genauere Analyse zeigt, dass der Test auch schon O(n2) durchfuhrbar:Nimmt man das erste Literal L einer Klausel C und prft ob diese nochmal in Cvorkommt, so braucht man fr jedes andere Literal L′: maximal c|L′| Zeit. Sum-miert man, dann ist das maximal c|C|. Das muss man fr jedes Literal machen,also maximal c|C|2. Fr alle Klauseln summiert, ergibt das cΣ|Ci|2, was kleinerals c|CS| ist. Hierbei ist jeweils die Gesamtgroße der Klauseln bzw. Klauselmen-ge gemeint. Also O(n2).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. 2Es 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,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 Klausel

Page 116: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 116

durch den Faktor. Diese Operation wird auch Subsumtionsresolution genannt.Die Prozedur von Davis und Putnam (siehe Abschnitt 2.7) zum Entscheidender Unerfullbarkeit von aussagenlogische Klauselmengen kann man jetzt leichtaus Resolution, Subsumtionsregel, Isolationsregel und Fallunterscheidung zu-sammenbauen.

Page 117: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 117

6 Einschrankung und Varianten 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,Resolventen abzuleiten. Um einen wirklich guten Resolutionsbeweiser zu im-plmentieren und dann bereitszustellen, muss man noch viel mehr Redundanzeneliminieren und Strategien hinzufugen, die alle syntaktischen und semantischenHilfestellungen ausnutzen.

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 Klausel-form nur ¬F im set-of-support. Die Resolution mit SOS kann also nur damitanfangen zu schließen. Die Einschrankung ist am Anfang einer Beweissuche mit-tels Resolution sehr wirksam. Allerdings vergroßert sich die SOS-Menge nacheinigen Resolutionsschritten, 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 unaren

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

Damit sind u.a. folgende Resolutionsschritte moglich:

Page 118: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 118

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 σ

L1. . . Ln Ln+1

reso

lvie

rbar

reso

lvie

rbar

UnitKlauseln

Nukleus

UR-Resolvente

Ln+1

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

Page 119: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 119

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

initial state A

B

1 2goal state B

A

1 2

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.

Page 120: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 120

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:

C1 : 1 6= 2C2 : 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).

Page 121: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 121

6.3 Hyperresolution

Die Hyperresolution kann man als Verallgemeinerung der UR-Resolutionansehen. Sie wurde ebenfalls von John Alan Robinson entworfen und wirddurch folgendes Schema beschrieben:

R1 −K1. . . −KnRn

simultanerUnifikator σ

+L1. . . +Ln −Ln+1 . . . −Ln+m−Ln+m

Elektronen

Nukleus

Hyper-Resolvente

σ( R1. . . Rn −Ln+1 . . . −Ln+m )

Als”Nukleus“ dient eine Klausel, die mindestens ein positives Literal enthalt.

Solche Klauseln gibt es in unerfullbaren Klauselmengen immer. Fur jedes posi-tive Literal des Nukleus benotigt man ein sogenanntes

”Elektron“, eine Klausel

mit nur negativen Literalen. Rein negative Klauseln kommen in unerfullbarenKlauselmengen ebenfalls immer vor. Der Nukleus wird wieder simultan mit allenElektronen resolviert, wodurch eine rein negative Klausel entsteht, die wiederumals Elektron im nachsten Hyperresolutionsschritt dienen kann. Die rein negati-ven Klauseln ubernehmen hier also die gleiche Rolle wie die unaren Klauseln inder UR-Resolution. Dual zu dieser sogenannten negativen Hyperresolution de-finiert man die positive Hyperresolution, bei der die Vorzeichen der Literale inNukleus und Elektronen gerade vertauscht sind. Da im Normalfall eine negierteBehauptung nur negative Literale enthalt und damit als Elektron fur negativeHyperresolution verwendbar ist, eignet sich diese fur Ruckwartsschließen vonder Behauptung in Richtung Voraussetzungen, wahrend positive Hyperresoluti-on gerade umgekehrt von den Voraussetzungen in Richtung auf die Behauptungarbeiten kann. Beide Varianten der Hyperresolution (mit eingebauter Faktori-sierung) sind widerlegungsvollstandig fur beliebige 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)Wir widerlegen die Klauselmenge {{P (a)}, {¬P (x), P (f(x))}, {¬P (f(f(f(f(a)))))}},

Page 122: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 122

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

tthhhhhhhhhh

xxqqqqqqqqqqqqqqqq

}}zzzzzzzzzzzzzzzzzzzz

���������������������������

P (f(a))

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

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

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

��

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

ssgggggggggggg

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

ssffffffffffffff

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 manfur jeden dieser bekannten Terme aus den initialen Klauseln einen speziellen

Page 123: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 123

Unifikationsalgorithmus”kompilieren“ kann. Dieser ist in der Regel wesentlich

effizienter 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 Resolutionmit 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.

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 .

Page 124: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 124

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

ist 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 – wenn

es 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 KlauselnProlog Notation: Klausel Notation:

C1: A(x, y)⇐ P (x, y) A(x, y) ∨ ¬P (x, y)C2: A(x, z)⇐ P (x, y) ∧A(y, z) A(x, z) ∨ ¬P (x, y) ∨ ¬A(y, z)C3: P (a, b)C4: P (b, c)C5: P (c, d)

Theorem: ∃v : A(a, v) ∧ P (v, d)?Negiertes Theorem: ¬A(a, v) ∨ ¬P (v, d)

In den beiden folgenden Bildern wird der Suchraum fur dieses Beispiel undfur zwei verschiedene Selektionsfunktionen dargestellt. Die Selektionsfunktionensind:

1. Das am starksten instanziierte Literal zuerst

2. Das am wenigsten instanziierte Literal zuerst.

Die zuletzt eingefuhrten Literale, die zuerst wegresolviert werden, sind unterstri-chen. Da SL-Resolution einen normalen Suchbaum generiert, konnen die nor-malen Suchalgorithmen angewendet werden [Nil80]. Zum Beispiel Tiefensuche,

Page 125: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 125

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

TTTTTTTTTTTTT

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

v 7→d;C5

Rekursion

¬P (d, d)

Fehler

Page 126: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 126

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

TTTTTTTTTT

¬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

JJJJJJJJJJJJJJJJJJJJJ

y 7→c,v 7→d

C5

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

RRRRRRRRRRRRR

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

6.9 Beispiel: Beweise SPASS Prover Webinterface

Webseite zum Aufruf https://webspass.spass-prover.orgBeispiel-Eingabe ins Webformular:

begin_problem(Subset01).

list_of_descriptions.

name({*Subset einfach*}).

author({*anonymous*}).

status(unsatisfiable).

description({*example from set theory*}).

end_of_list.

list_of_symbols.

predicates[(element,2),(subset,2)].

end_of_list.

list_of_formulae(axioms).

formula(forall([X,Y],equiv(subset(X,Y),forall([W],

implies(element(W,X),element(W,Y)))))).

Page 127: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 127

end_of_list.

list_of_formulae(conjectures).

formula(forall([X,Y,Z],implies(and(subset(X,Y),subset(Y,Z)),

subset(X,Z)))).

end_of_list.

% this is a comment. We like comments ;-)

list_of_settings(SPASS).

{*

set_flag(PGiven,1).

set_flag(PProblem,0).

*}

end_of_list.

end_problem.

7 Tableau Kalkul fur PL1

Den aussagenlogischen Tableaukalkul kann man auf PL1 erweitern (siehe[Fit90]). Zu den α (konjunktiven) und β-Formeln (disjunktiven) kommen nochdie Quantorformeltypen γ und δ. Bei den α- und β-Formeltypen brauchte maneine Definition der direkten Unterformeln α1, α2 (bzw. β1, β2). Bei quantifizier-ten Formeln benotigt man Instanzen der Formeln.

All-quantor Ex-quantorγ γ(t) δ δ(t)∀x : Φ Φ[t/x] ∃x : Φ Φ[t/x]¬∃x : Φ ¬Φ[t/x] ¬∀x : Φ ¬Φ[t/x]

7.1 Tableau mit Grundtermen

Zunachst eine Variante des Tableaukalkuls, der mit Grundtermen arbeitet.Im Laufe eines Beweises ist es bei dieser Variante notwendig, neue Konstanteneinzufuhren. Diese werden auch Parameter genannt. Mindestens eine Konstantewird immer automatisch erzeugt, da wir annehmen, dass Domains nichtleer sind.Die Tableau-Erweiterungsregeln, die fur die Pradikatenlogik erster Stufe not-wendig werden, sind:

γ

γ(t)

δ

δ(a)

t ist geschlossener Term a ist ein neuer Parameterder Parameter enthalten kann

Page 128: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 128

Die Eingabe und die Schließungsregeln sind wie beim aussagenlogischen Ta-bleau. D.h. ein Tableau ist geschlossen, wenn jeder Pfad geschlossen ist, unddies wiederum heißt, dass in jedem Pfad ein Paar direkt komplementarer Lite-rale vorkommt

Beispiel 7.1 Im folgenden ein Tableaubeweis der Formel(∀x : (P (x) ∨Q(x)) =⇒ ((∃x : P (x)) ∨ ∀x : Q(x))

)Auch hier wird, wie beim aussagenlogischen Tableau, mit der Negation der For-mel gestartet.

¬(∀x : (P (x) ∨Q(x)) =⇒ ((∃x : P (x)) ∨ ∀x : Q(x))

)∀x : (P (x) ∨Q(x))

¬((∃x : P (x)) ∨ ∀x : Q(x))¬(∃x : P (x))¬(∀x : Q(x))¬Q(c) δ-Expansion¬P (c) γ-Expansion mit t = c

P (c) ∨Q(c) γ-Expansion mit t = cP (c) | Q(c) β-Expansion

Diese Beweisprozedur terminiert i.a. nicht, im Gegensatz zum aussagenlogischenTableau, da man fur die γ-Formeln beliebige Terme einsetzen kann, und es auchnicht ausreicht, sich auf eine endliche Menge zu beschranken.In dieser Form entspricht der Tableaukalkul der Resolution ohne Unifikation,aber mit Raten von Klauselinstanzen. Beim Tableaukalkul bleibt die Strukturder Formeln erhalten, so dass man ohne Normalform und (zunachst) ohne Sko-lemisierung auskommt.

Aussage 7.2 Das Grund-Tableau-Verfahren fur PL1 ist widerlegungs-vollstandig.Im Falle, dass es nicht terminiert, wird in mindestens einem Pfad ein Modellgeneriert, sofern Fairnessbedingungen erfullt sind: Jede Formel muss in jedemPfad und mit jeder Regel (insbesondere jede γ-Instanz) expandiert werden.

Beweis. siehe [Fit90] 2Die Eigenschaft, dass im Falle der Erfullbarkeit ein Modell erzeugt wird, istein Vorteil gegenuber resolutionsbasierten Methoden. Allerdings ist dies ehertheoretisch zu sehen, denn i.a. ist der Pfad dann unendlich lang.Eine einfache Heuristik zum Expandieren des Tableaus ist: zuerst α-Regeln,dann β-Regeln, dann δ-Regeln und dann erst die γ-Regeln. Es ist auch erlaubt,Mehrfachexpansion von Formeln auf dem gleichen Pfad zu verhindern.Es ist moglicherweise ausreichend, die δ-Regel pro Formel und Pfad nur einmalzu verwenden. Allerdings gibt es dann immer noch eine Quelle der Nichtterminie-rung: Jede γ-Formel muss im Prinzip mit jedem Parameter einmal instanziiert

Page 129: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 129

werden. Dies kann darauf hinauslaufen, dass man immer mehr Parameter erzeu-gen muss: Nach Erzeugung eines neuen Parameters d muss eine Formel oben imTableau unten neu angehangt werden; Diese ergibt nach einigen Schritten eineneue δ-Formel, die einen neuen Parameter erzeugt, usw.

7.2 Tableau mit freien Variablen

Um den ausufernden Nichtdeterminismus der γ-Regel zu verhindern, kann manUnifikation ausnutzen, muss dazu aber die Datenstruktur des Tableaus leichtverandern, und freie Variablen zulassen.Gleichzeitig werden statt Parametern Skolemterme bei der Expansion verwen-det:

γ

γ(x)

δ

δ(f(x1, . . . , xn))

x ist neue freie Variable f neue Skolemfunktion undx1, . . . , xn

sind alle bisher in diesemPfad benutzten freien Variablen

Definition 7.3 (Instanziierungsregel) Ein Tableau darf verandert werden,indem man eine Substitution σ auf das ganze Tableau anwendet. Hierbei mussdie Substitution frei fur das Tableau sein. D.h. es werden nur die freien Variablenersetzt, und die eingesetzten Terme durfen keine Variablen enthalten, die inden Bindungsbereich eines Quantors geraten (von einem Quantor eingefangenwerden).

Die Schlussregel ist auch hier, dass nach der Instanziierung alle Pfade ein Paarkomplementarer Literale enthalten mussen.Z.B. ist die Substitution {x 7→ f(y)} nicht frei fur die Formel ∀y :P (x, f(x), a, z), da das y in f(y) nach der Einsetzung gebunden ware.Die Instanziierungsregel und die Schlussregel kann man ersetzen durch eine mitUnifikation kombinierte Schlussregel:

Definition 7.4 Das Tableau ist geschlossen, wenn es eine Substitution σ gibt(frei fur das Tableau), die das Tableau nach Instanziierung im herkommlichenSinne schließt.

D.h. statt einer Instanziierung macht man einen Unifikationsversuch, der einenUnifikator berechnet, der nach Anwendung alle Pfade gleichzeitig schließt. Dafurmuss der Unifikationsalgorithmus geeignete Kandidatenliterale verwenden, unddiese unifizieren.D.h. hier ist doch noch ein Nichtdeterminismus verborgen, da man auf sehr vieleWeisen solche Kandidaten auswahlen kann.

Page 130: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 130

Beispiel 7.5 Im folgenden ein Tableaubeweis mit freien Variablen fur die glei-che Formel wie in Beispiel 7.1(

∀x : (P (x) ∨Q(x)) =⇒ ((∃x : P (x)) ∨ ∀x : Q(x)))

¬(∀x : (P (x) ∨Q(x)) =⇒ ((∃x : P (x)) ∨ ∀x : Q(x))

)∀x : (P (x) ∨Q(x))

¬((∃x : P (x)) ∨ ∀x : Q(x))¬(∃x : P (x))¬(∀x : Q(x))¬Q(a) δ-Expansion¬P (y1) γ-Expansion mit y1

P (y2) ∨Q(y2) γ-Expansion mit y2

P (y2) | Q(y2) β-ExpansionGeschlossen mit σ = {y1 7→ a, y2 7→ a}

Folgendes Beispiel zeigt, wie ein Modell erzeugt wird:

Beispiel 7.6 Betrachte die Formel (∃x : P (x)) =⇒ (∀x : P (x)). Diese istkeine Satz. Versucht man einen Tableaubeweis, so erhalt man ein Gegenbeispiel(bzw. ein Modell fur die Negation).

¬((∃x : P (x)) =⇒ (∀x : P (x)))∃x : P (x)¬(∀x : P (x)

P (a)¬P (b)

Das erzeugte Modell hat zwei Elemente: a, b. Die Struktur ist {P (a),¬P (b)},und in dieser Struktur ist die obige Formel falsch.

Beispiel 7.7 Beweis der Formel

(∃w : ∀x : R(x,w, f(x,w))) =⇒ (∃w : ∀x : ∃y : R(x,w, y))

(1) ¬((∃w : ∀x : R(x,w, f(x,w))) =⇒ (∃w : ∀x : ∃y : R(x,w, y))

)(2) ∃w : ∀x : R(x,w, f(x,w))(3) ¬(∃w : ∀x : ∃y : R(x,w, y))(4) ∀x : R(x, a, f(x, a)) aus (2) mit δ(5) ¬(∀x : ∃y : R(x, v1, y)) aus (3) mit γ(6) ¬(∃y : R(g(v1), v1, y)) aus (3) mit δ(7) R(v2, a, f(v2, a)) aus (4) mit γ(8) ¬(R(g(v1), v1, v3)) aus (6) mit γ

geschlossen mit Unifikator σ = {v1 7→ a, v2 7→ g(a), v3 7→ f(g(a), a)}

Page 131: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 131

Die Frage nach der Terminierung und der Anzahl der notwendigen Kopien wirddurch folgendes Beispiel illustriert:

Beispiel 7.8 Widerlege die Formelmenge {{P (a) ∨ P (b)}, {∀x : ¬P (x)}}.

(1) P (a) ∨ P (b)(2) ∀x : ¬P (x)(3) ¬P (y)(4) P (a) | P (b)

Dieses Tableau lasst sich nicht schließen, da a 6= b. Erst mit einer weiterenγ-Expansion der Formel ∀x : ¬P (x) auf dem rechten Pfad ist das Tableau ge-schlossen.Eine Umstellung der Expansionen zeigt aber, dass man in diesem Fall mit einerExpansion pro Pfad auskommt.

Vermutlich gilt somit, dass eine γ-Formel, die keine inneren Disjunktionenenthalt, nur einmal pro Pfad expandiert werden muss.

Beispiel 7.9 Widerlege die Formelmenge

{{P (a)}, {¬P (f(f(a)))}, {∀x : P (x) =⇒ P (f(x))}}

(1) P (a)

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

(3) ∀x : P (x) =⇒ P (f(x))

(4) P (y1) =⇒ P (f(y1))

lllllllllllllaus (3)

(5) ¬P (y1) P (f(y1))

(6) P (y2) =⇒ P (f(y2))

RRRRRRRRRRRRRRaus (3)

(7) ¬P (y2) P (f(y2))

Das Tableau ist geschlossen mit {y1 7→ a, y2 7→ f(a)}.

Page 132: Automatische Deduktion, SS 2017, vom 13.05.2017 ...[CL73]Chin-Liang Chang and Richard Char-Tung Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, 1973

Automatische Deduktion, SS 2017, vom 13.05.2017 132

Man sieht, dass es nicht moglich ist, das Tableau vorher zu schließen bzw. mitnur einer Kopie der Formel ∀x : P (x) =⇒ P (f(x)) pro Pfad. Eine Erweiterungdieses Beispiels zeigt auch, dass man die Anzahl der notwendigen γ-Expansionenpro Pfad im Prinzip nicht begrenzen kann. Aufgrund der Unentscheidbarkeitkann man durch keinen Trick die Tableau-methode in ein Entscheidungsverfah-ren verwandeln. D.h. es gibt immer eine Regel, die fur das Nichtterminierenverantwortlich ist.Die Anzahl der δ-Expansionen kann man auf eine pro Formel und Pfad be-schranken. Beschrankt man die Anzahl der erlaubten Kopien pro Formel undPfad willkurlich von vorneherein durch die sogenannte

”Q-Tiefe“, dann termi-

niert das Verfahren.Die Terminierung kann man wie im aussagenlogischen Fall begrunden, wobeiman das verwendete Maß leicht variieren muss:

• Basis ist das Paar (Anzahl der Quantoren, Große der Formel).

• Pro Pfad die Multimenge der obigen Paare, wobei man fur jede Formelmit Quantoren das Paar sooft in die Multimenge einfugt, wie man dieFormel noch expandieren kann: (Q-Tiefe − wie oft γ-expandiert). Furα, β, δ-Formeln ist diese Zahl jeweils 1.

• Multimenge der Maße aller Pfade.

Unter Beschrankung der Q-Tiefe ist das Verfahren nicht mehr vollstandig. Al-lerdings wird es wieder vollstandig, wenn man das Verfahren mehrfach ablaufenlasst mit jeweils großerer Q-Tiefe. Dies ergibt dann ein Semientscheidungsver-fahren.