Einführung in die mathematische Logik Proseminar „Maschinelles Beweisen“ Uwe Bubeck IV ERS ITÄT U L M · C UR · SCIENDO ANDO · U N 28. Juni 2000 DO CENDO · Inhaltsverzeichnis 1 Einleitung und Motivation 2 2 Logische Grundlagen 2 2.1 Wofür benötigen wir Logik? . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Syntax formaler Systeme . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Axiome und Inferenzregeln . . . . . . . . . . . . . . . . . . . . . . . 4 3 Beweise und Modelle 5 4 Aussagenlogische Systeme 7 4.1 Allgemeiner Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2 Der Sequenzenkalkül . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5 Prädikatenlogische Systeme 9 5.1 Prädikatenlogik als Erweiterung der Aussagenlogik . . . . . . . . . . 9 5.2 Vollständigkeit und Resolution . . . . . . . . . . . . . . . . . . . . . 12 5.3 Der erweiterte Sequenzenkalkül . . . . . . . . . . . . . . . . . . . . 12 6 Ausblick 13 1 Uwe Bubeck Einführung in die mathematische Logik 2 1 Einleitung und Motivation Im Themenkreis des maschinellen Beweisens und der vielfältigen zugehörigen Anwendungen erweist es sich als ausgesprochen lohnende Beschäftigung, sich näher mit den zugehörigen Grundlagen zu befassen. Mit dem Wissen um die dahinterliegenden logischen Konstrukte lassen sich nicht nur manche Entwurfsprinzipien heutiger Beweis- bzw. Verifikationssysteme besser nachvollziehen. Man gewinnt auf einer Entdeckungsreise durch die Welt der Logik auch einen tiefen Einblick in eine überaus vielseitige und vielgestaltige Wissenschaftsdisziplin mit einer langen Geschichte, mindestens auf Aristoteles und Euklid zurückgehend. Im zeitlich knappen Rahmen dieses Vortrages wird naturgemäß die mathematische Logik als wichtigster Teilbereich im Vordergrund stehen - jedoch nicht ohne historische Verweise auf bedeutende Logiker. In erster Linie kommt es mir im folgenden darauf an, einen möglichst breitgefächerten Überblick über die verschiedenen Konzepte und Methoden der mathematischen Logik zu geben, formale Detailfragen sind dabei nur von untergeordneter Bedeutung. Bei einer weitgestreuten Betrachtung wird man immer wieder auf verschiedene konzeptuelle Alternativen stoßen, die sich häufig hinsichtlich ihrer Mächtigkeit auf der einen und ihrer Handhabbarkeit bzw. Praktikabilität auf der anderen Seite stark unterscheiden. Nur vor diesem Hintergrund lassen sich die zweifellos vorhandenen entwurfsbedingten Unterschiede zwischen den heute verfügbaren Beweissystemen deutlicher erkennen und hinsichtlich ihrer Auswirkungen auf den praktischen Einsatz bewerten. Nach einer grundlegenden Einführung in logische Prinzipien und beweistheoretische Fragen werden wir uns zunächst mit der Aussagenlogik beschäftigen, dem ältesten und einfachsten Zweig der Logik. Anschließend steht die Prädikatenlogik als Erweiterung der aussagenlogischen Konzepte im Vordergrund. Fragen nach deren Mächtigkeit bzw. Darstellungskraft werden uns abschließend zu alternativen Logiken führen. 2 Logische Grundlagen 2.1 Wofür benötigen wir Logik? „Logik ist der Anfang aller Weisheit“ - Mr. Spock Im Alltagsleben ziehen Menschen Schlußfolgerungen, ohne genau zu wissen, nach welchen Gesetzen sie dabei vorgehen. Dies ist für viele wichtige Anwendungen einfach zu ungenau. Hinzu kommt, daß man in der Umgangssprache mit einer Vielzahl von Unschärfen und Mehrdeutigkeiten konfrontiert wird. Deshalb geht es in der Logik zunächst darum, Wissen in Form von sprachlichen Aussagen durch Formeln präzise zu repräsentieren, um danach durch die Anwendung formaler Methoden daraus weitergehende Folgerungen abzuleiten. Man erhält auf diese Weise neue Erkenntnisse, erschließt weitergehendes Wissen. Wichtig ist, daß die verwendeten Operationen und Uwe Bubeck Einführung in die mathematische Logik 3 Folgerungen formal nachweisbar korrekt und vernünftig sein müssen. Denn dann können wir sicher sein, daß auch alle unsere Folgerungen vernünftig sind - vorausgesetzt, daß unser Ausgangspunkt im Hinblick auf die beabsichtigte Interpretation bereits vollständig und korrekt war. Die Logik als solche stellt uns folglich einen Satz formaler Methoden zur Verfügung, eine Syntax mit syntaktischen Umformungs- und Schlußregeln. Für eine korrekte Modellierung der „realen Welt“, die sogenannte Semantik, müssen wir selbst Sorge tragen. Teilweise streift man dabei auch philosophische Themen, denn es wird versucht, die Frage nach der Wahrheit zu beantworten über den Wahrheitsgehalt von Aussagen. Der Beziehung zwischen Syntax und Semantik werden wir im folgenden immer wieder begegnen. Uns als Informatiker wird dabei vor allem die Frage interessieren, welche Sachverhalte sich überhaupt adäquat in einer bestimmten Logik ausdrücken lassen. Ferner werden wir untersuchen, inwieweit sich die einzelnen Formalismen automatisieren lassen. „Logik ist die Hygiene, deren sich der Mathematiker bedient, um seine Gedanken gesund und kräftig zu erhalten“ - Hermann Weyl In obigem Zitat wird ein weiterer Aspekt angesprochen, welcher insbesondere die Entwicklung der mathematischen Logik beflügelt hat. Hier steht nicht mehr die Logik als Werkzeug des Denkens im Vordergrund, sondern die Logik wird zum Hilfsmittel der Mathematik. Dahinter steht die Suche nach einem konzisen und möglichst einfachen Fundament der gesamten Mathematik, nach einer Axiomatisierung. Vor allem Hilbert war es, der um 1900 mit Hilfe der mathematischen Logik die Widerspruchsfreiheit der Arithmetik innerhalb der Arithmetik selbst beweisen wollte. Dabei kam es den mathematischen Logikern dieser Zeit in erster Linie darauf an, bestimmte Aspekte im Prinzip beweisen zu können, während die für die Anwendungen der Informatik wichtige tatsächliche Durchführung nicht berücksichtigt wurde. Dies erklärt, warum die Notationen und Formalismen der mathematischen Logik in ihrer reinen Form nur sehr begrenzt für den Einsatz in automatischen Beweissystemen tauglich sind und statt dessen häufig attraktivere und intuitivere Spezifikationssprachen zum Einsatz kommen (vgl. die Diskussion in [1]) Daß das Hilbertsche Programm letztlich nicht durchführbar ist - das haben die Arbeiten von Gödel und Church in den 30er Jahren ergeben -, zeigt deutlich die theoretischen Grenzen auf, mit welchen logische Systeme und besonders das automatische Beweisen prinzipiell konfrontiert sind. Im Rahmen der Prädikatenlogik werden wir auf diese Einschränkungen nochmals zu sprechen kommen. 2.2 Syntax formaler Systeme Ein System, dem eine formale Sprache mit der Möglichkeit zur Deduktion zugrunde liegt, nennen wir formales System. In der Regel besteht ein formales System aus einer logischen und einer nichtlogischen Komponente. Für erstere wählt man häufig die Uwe Bubeck Einführung in die mathematische Logik 4 Aussagen- oder die Prädikatenlogik. Dadurch legt man sich auf eine syntaktisch definierte Sprache zur Bildung von Formeln mit einer festen Bedeutungsdefinition fest. Die Menge der syntaktisch gültigen Formeln (wffs - well formed formulas) gibt man gerne ausgehend von sogenannten atomaren Formeln (beispielsweise den booleschen Konstanten) induktiv an über Aussagen wie „wenn φ und ψ Formeln sind, dann auch (φ ∧ ψ)“. Diese Vorgehensweise erlaubt es, später Induktionsbeweise über den Formelaufbau zu führen (strukturelle Induktion). Als logische Operatoren sind üblicherweise mindestens die folgenden aussagenlogischen Verknüpfungen vorhanden: • Negation („nicht“), Schreibweise ¬ oder ∼ • Konjunktion („und“), Schreibweise ∧ • Disjunktion („oder“), Schreibweise ∨ • Implikation („daraus folgt“), Schreibweise ⇒ oder ⊃ • Äquivalenz („genau dann wenn“), Schreibweise ⇔ oder ≡ Wo dies möglich ist, entsprechen die logischen Operatoren selbstverständlich den intuitiven Bezeichnern. Bekannt sind die Besonderheiten der Implikation: φ ⇒ ψ ist nicht nur dann wahr, wenn φ und ψ wahr sind, sondern auch, falls φ falsch ist. Die beiden Sätze „(1 + 2 = 4) ⇒ Ulm liegt an der Donau“ und „(1 + 2 = 4) ⇒ Ulm liegt am Rhein“ sind demnach beide wahr, zumindest logisch gesehen. In mächtigeren Logiken können beispielsweise auch Funktions- und Prädikatensymbole mit Quantoren (siehe Prädikatenlogik) oder Bedingungen (siehe modale Logik) verwendet werden. 2.3 Axiome und Inferenzregeln Ein formales System verfügt über eine möglicherweise unendliche Menge von grundlegenden Sätzen, die zu Beginn als wahr vorgegeben und in Beweisen oder Deduktionen benutzt werden. Diese Axiome können sowohl Teil der logischen als auch der nichtlogischen Komponente des Systems sein. Wir betrachten im folgenden nur erstere. Es hat sich als zweckmäßig herausgestellt, Axiome über sogenannte Axiomschemata vorzugeben. Ein Beispiel ist das Gesetz der ausgeschlossenen Mitte, welches für jede Formel besagt, daß diese selbst oder ihre Negation wahr ist. Man notiert dies folgendermaßen: φ ∨ ¬φ Uwe Bubeck Einführung in die mathematische Logik 5 In obiger Formel nimmt φ die Rolle einer Metavariablen ein, d.h. für φ kann eine beliebige Formel eingesetzt werden. Dadurch erhält man ein konkretes Axiom als Instanz des Axiomschemas. Es ist wichtig zu bemerken, daß wir damit die Objektebene, also die innerhalb des formalen Systems definierte Formelsprache, verlassen haben. Wir befinden uns stattdessen gedanklich auf einer höheren Ebene, auf der wir nun über diese Objekte sprechen. In ähnlicher Weise werden auch die Inferenz- oder Ableitungsregeln durch Schemata angegeben. Besonders im historischen Kontext wichtig sind auf Tautologien (siehe nächster Abschnitt) basierende Schlußfolgerungsprozeduren wie der Modus Ponens(MP): φ, φ ⇒ ψ ψ Über dem Strich stehen die Voraussetzungen, darunter die Folgerung, φ und ψ sind wieder Metavariable. 3 Beweise und Modelle Der Begriff des Beweises ist für das Folgende von wesentlicher Bedeutung. Wir nehmen uns deshalb die Zeit für eine genaue Definition: Unter einem Beweis innerhalb der Objektsprache (auf die Verbindungen zur Metaebene bzw. Semantik kommen wir am Ende dieses Abschnittes noch zu sprechen) verstehen wir eine Folge von Formeln φ1 ...φn mit der zu beweisenden Zielformel φn = ψ und einer Menge Γ von Annahmen bzw. Voraussetzungen, wobei für jedes φi mit i = 1..n jeweils eine der folgenden Bedingungen erfüllt ist: • φi ist ein Axiom • φi ist in den Annahmen Γ enthalten • φi ist eine Ableitung aus vorangegangenen Beweisschritten, d.h. stammt aus der Menge {φj |j < i} Wenn zu gegebenem ψ ein Beweis mit gewissen Annahmen Γ nach obigem Schema existiert, dann heißt ψ beweisbar aus Γ, in Zeichen Γ ` ψ. Falls ein Beweis mit Γ = {} existiert, sprich falls ψ ohne zusätzliche Voraussetzungen beweisbar ist, heißt ψ Satz oder Theorem. Die Menge aller Sätze eines gegebenen formalen Systems nennen wir Theorie. Beim Entwurf eines formalen Systems möchte man möglichst Konsistenz und Entscheidbarkeit gewährleisten. Ein System ist genau dann konsistent, wenn es keine Formel φ gibt, so daß sowohl φ als auch ¬φ Sätze sind. Entscheidbarkeit bedeutet, daß algorithmisch bestimmt werden kann, ob eine beliebig vorgegebene Formel einen Uwe Bubeck Einführung in die mathematische Logik 6 Satz darstellt oder nicht. Für das maschinelle Beweisen ist dies die Optimalsituation, da das Beweissystem im Prinzip für jede Formel zu einem Ergebnis kommt. Oftmals muß man sich mit Semi-Entscheidbarkeit begnügen. In diesem Fall muß der Algorithmus nur dann mit einer positiven Rückmeldung halten, wenn die Formel einen Satz darstellt. Falls nicht, so muß der Algorithmus nicht unbedingt terminieren, das Beweissystem kann also nicht immer ein Ergebnis liefern. Es ist wichtig, zu bemerken, daß Beweise im Sinne der obigen Definition nichts anderes darstellen als eine Folge syntaktischer Umformungen. Insbesondere muß man zur Durchführung eines Beweises nichts über die tatsächliche Bedeutung (innerhalb der zu modellierenden „realen Welt“) der einzelnen Beweisschritte wissen. Wenn es gelingt, eine Semantik, sprich eine Interpretation syntaktisch korrekter Formeln, so festzulegen, daß die syntaktische Wahrheit (die Sätze und Axiome des Systems) mit der semantischen Wahrheit übereinstimmt, dann können wir davon ausgehen, daß alle beweisbaren Formeln auch auf der Bedeutungsebene wahre Aussagen widerspiegeln. Das heißt, auch wenn sich unser Verständnis über die zugrundeliegende „reale Welt“ zunächst auf wenige Axiome beschränkt, können wir im Vertrauen auf die syntaktische Korrektheit zuverlässig zu neuen Erkenntnissen gelangen, und dies sogar rein mechanisch, etwa durch ein entsprechendes Computerprogramm. Wir nennen eine Interpretation A ein Modell einer Formel φ, wenn sowohl die Axiome des zugrundeliegenden Systems als auch die Formel φ selbst innerhalb dieser Interpretation „wahr“ sind. Man schreibt dann A |= φ. Natürlich muß die Interpretation strukturell zu der vorgegebenen Formel passen, d.h. dieselbe Signatur besitzen. Beispielsweise bedeutet dies im Falle der Prädikatenlogik, daß zugehörige Funktions- und Prädikatbezeichner jeweils dieselbe Stelligkeit besitzen und auf denselben Grundmengen operieren. Eine Formel φ ist gültig bzw. wird Tautologie genannt, wenn sie in allen Modellen des betrachteten formalen Systems wahr ist. In diesem Fall hat sich die Schreibweise |= φ eingebürgert. Analog zur induktiven Angabe des Formelaufbaus (siehe Abschnitt 2.2) benutzt man auch bei Interpretationen und Modellen gerne strukturelle Induktion und definiert beispielsweise: „Falls φ = (ψ ∧ ω), so ist A |= φ genau dann, wenn A |= ψ und A |= ω.“ Weitere Beispiele dazu, etwa für die Funktionsapplikation oder die Verwendung von Quantoren, findet man in [2]. Der Modellbegriff läßt sich erweitern als Relation auf Formeln eines Systems. Seien zwei Formeln φ, ψ gegeben. Wir schreiben dann φ |= ψ, falls jedes Modell von φ ein Modell von ψ ist. Damit kann man die wichtige Eigenschaft der Vollständigkeit definieren, welche um 1920/30 in den Arbeiten von Gödel und Skolem eine wichtige Rolle gespielt hat. Ein System ist vollständig, falls aus Γ |= φ für eine Menge Γ von Voraussetzungen und eine Formel φ folgt Γ ` φ. Mit anderen Worten muß in einem vollständigen System jede wahre Formel beweisbar sein - eine Voraussetzung, die leider nicht in allen praktisch interessanten Systemen gilt. Eine Einordnung dieser Systemeigenschaften in den Kontext des (maschinellen) Beweisens gibt Abbildung 1. Uwe Bubeck Einführung in die mathematische Logik 7 Abbildung 1: Schematische Darstellung des Beweisprozesses. 4 Aussagenlogische Systeme 4.1 Allgemeiner Aufbau Im Abschnitt 2.2 haben wir bereits die aussagenlogischen Verknüpfungen kennengelernt. Theoretisch genügt es aber, zunächst lediglich die Negation und die Implikation vorauszusetzen und darauf aufbauend die anderen Operatoren zu definieren. Die neuen Operatoren kann man dann einfach als Abkürzungen verstehen, beispielsweise kann φ ∨ ψ als Makro für (¬φ) ⇒ ψ betrachtet werden. Eine andere Möglichkeit ist, entsprechende Ableitungsregeln oder Axiomschemata hinzuzufügen, zum Beispiel im Falle der Disjunktion φ∨ψ (¬φ) ⇒ ψ (¬φ) ⇒ ψ φ∨ψ Die Syntax der aussagenlogischen Formeln ist induktiv definiert durch: • Jedes Atom ist eine aussagenlogische Formel. • Wenn φ und ψ aussagenlogische Formeln sind, dann auch (¬φ) und (φ ⇒ ψ). Dazu kommen die folgenden drei Axiomschemata: 1. φ ⇒ (ψ ⇒ φ) 2. (φ ⇒ (ψ ⇒ ρ)) ⇒ ((φ ⇒ ψ) ⇒ (φ ⇒ ρ)) 3. (¬(¬φ)) ⇒ φ Uwe Bubeck Einführung in die mathematische Logik 8 Als Ableitungsregel wird der Modus Ponens aus Abschnitt 2.3 verwendet. Über das Gesetz der Kontraposition (φ ⇒ ψ) ≡ (¬ψ ⇒ ¬φ) - eine Tautologie innerhalb der Aussagenlogik - erhält man den ebenfalls wichtigen Modus Tollens ¬ψ, φ ⇒ ψ ¬φ Zur Interpretation werden wie in der Booleschen Logik Wahrheitswerte verwendet, d.h. jeder aussagenlogischen Formel wird ein Wahrheitswert aus {wahr, f alsch} zugeordnet. Zur Darstellung sind Wahrheitstabellen hilfreich, um Tautologien leicht zu identifizieren: die letzte Spalte darf dann nur wahr enthalten. Für die Erfüllbarkeit genügt es offensichtlich, einmal wahr vorzufinden. In Verbindung mit der Tatsache, daß in der Aussagenlogik Sätze und Tautologien einander entsprechen, die Prädikatenlogik also insbesondere vollständig ist, lassen sich Beweise auch über Wahrheitstabellen auf der semantischen Ebene führen. Die Aussagenlogik ist damit entscheidbar 1 . 4.2 Der Sequenzenkalkül Mit dem Ziel, das Führen von Beweisen auf eine möglichst intuitive und eingängige Art und Weise zu ermöglichen, entwickelte Gentzen 1943 den sogenannten Sequenzenkalkül. Dieser Formalismus basiert vor allem auf Ableitungsregeln und vermeidet Axiome. Mit geringfügigen Erweiterungen läßt er sich auch für prädikatenlogische Beweise einsetzen (siehe Abschnitt 5.3). Wir arbeiten im folgenden mit sogenannten Sequenzen, das sind Ausdrücke der Form Γ → ∆, wobei Γ die Liste der durch Konjunktion verbundenen Vorbedingungen darstellt, welche die Liste ∆ der durch Disjunktion verbundenen Nachbedingungen impliziert. Der Beweis eines Satzes φ hat im Sequenzenkalkül die Struktur eines Baumes aus Sequenzen, wobei die Wurzel durch → φ gegeben ist, d.h. eine Sequenz ohne Vorbedingungen darstellt. Der Baum wird von der Wurzel aus erzeugt durch die Anwendung von Ableitungsregeln mit folgender Form: Γ1 → ∆1 ... Γn → ∆n N. Γ→∆ Aus einem Blatt Γ → ∆ des bisherigen Baumes wird durch eine solche Regel ein Knoten, der sich zu n neuen Blättern Γi → ∆i verzweigt. Falls n = 0 ist, so findet keine weitere Verzweigung statt, sondern wir betrachten den vorliegenden Beweisast als abgeschlossen. Wenn es gelingt, schließlich alle Äste des Beweises auf diese Weise abzuschließen, ist der Beweis erfolgreich durchgeführt. Ein Beispiel für einen solchen Beweisbaum findet sich in Abbildung 2. Die zum Abschluß benutzte Regel wird Aussagenlogisches Axiom genannt und behandelt den Fall, daß eine Formel φ sowohl in den Vor- als auch in den Nachbedingungen 1 Allerdings ist das Erfüllbarkeitsproblem NP-vollständig. Vgl. dazu [2] Uwe Bubeck Einführung in die mathematische Logik 9 Abbildung 2: Beispielbeweis im Sequenzenkalkül auftritt: Γ, φ → φ, ∆ Ax. Diese Regel entspricht der Tautologie (Γ ∧ φ) ⇒ (φ ∨ ∆). Abgesehen davon enthält der Sequenzenkalkül für jede aussagenlogische Verknüpfung zwei weitere Regeln, entsprechend der Tatsache, daß jede dieser Verknüpfungen sowohl innerhalb der Vor- als auch innerhalb der Nachbedingungen auftreten kann. Am Beispiel der Konjunktion ergeben sich die beiden mit ∧ → bzw. → ∧ bezeichneten Inferenzregeln: φ, ψ, Γ → ∆ ∧→ φ ∧ ψ, Γ → ∆ Γ → φ, ∆ Γ → ψ, ∆ →∧ Γ → φ ∧ ψ, ∆ Eine gute Übersicht über die hier nicht aufgeführten Regeln für die restlichen Verknüpfungen findet sich in [1]. Wir beschränken uns an dieser Stelle darauf, zu bemerken, daß die oben erkennbare Symmetrie in der Konstruktion der Ableitungsregeln meist zu recht intuitiven und plausiblen Beweisen führt, wobei es immer wieder vorkommt, daß nachfolgende Beweisschritte durch die Struktur des Sequenzenkalküls bereits eindeutig vorgegeben sind - im Gegensatz zu anderen Formalismen wie etwa der Hilbertschen Notation, in denen häufig nicht klar ist, welche der vielen Alternativen letztendlich zum Ziel führt. 5 Prädikatenlogische Systeme 5.1 Prädikatenlogik als Erweiterung der Aussagenlogik Die Aussagenlogik erweist sich für viele Zwecke als zu stark eingeschränkt. So ist es etwa nicht möglich, auszudrücken, daß bestimmte Objekte in speziellen Beziehungen zueinander stehen. Angenommen, die Aussage „wenn n eine ungerade na- Uwe Bubeck Einführung in die mathematische Logik 10 türliche Zahl ist, dann ist 2n gerade“ sei zu formalisiseren. In der Aussagenlogik stehen als Grundbausteine lediglich Atome zur Verfügung. Ein Ausdruck der Form n_ungerade ⇒ 2n_gerade führt jedoch nicht zum gewünschten Ziel, da die beiden Atome voneinander unabhängig sind. Daß sich beide auf dieselbe Zahl n beziehen, muß explizit ausgedrückt werden: ∀n : (ungerade(n) ⇒ gerade(verdopple(n)). Ein weiteres bekanntes Beispiel ist die in der Analysis gemachte Definition der Stetigkeit einer Funktion (ε-δ-Kriterium). An diesen Beispielen läßt sich gut nachvollziehen, welche sinnvollen Erweiterungen der Aussagenlogik in der Prädikatenlogik zusätzlich benötigt werden: • Quantifizierungen der Form „für alle“ (Allquantor, in Zeichen ∀) sowie „es existiert ein“ (Existenzquantor, in Zeichen ∃) • Konstanten (a, b, ...)2 • Variable (x, y, ...) • Funktionssymbole (f, g, ...) • Prädikatsymbole (P, Q, ...) In der sogenannten Prädikatenlogik der ersten Stufe sind Quantifizierungen nur über Variable möglich, während in der Prädikatenlogik der zweiten Stufe auch über Funktionen und Prädikate quantifiziert werden kann. Eine der ersten Formalisierungen der Prädikatenlogik geht auf den in Jena wirkenden Logiker Gottlob Frege zurück (18481925, vgl. [4]). Zu jeder prädikatenlogischen Formel gehört die Angabe einer Signatur, d.h. die Festlegung, welche Bezeichner für Konstanten, Variablen, Funktionen oder Prädikate vorgesehen sind und, im Falle von Funktionen und Prädikaten, welche Stelligkeit sie besitzen. Zu einer gegebenen Signatur definiert man wie folgt induktiv die Menge aller wohlgeformten prädikatenlogischen Formeln: • Jede Variable ist ein Term. • Ist f ein k-stelliges Funktionensymbol, und sind τ1 , ..., τk Terme, so auch f (τ1 , ..., τk ). • Ist P ein k-stelliges Prädikatsymbol, und sind τ1 , ..., τk Terme, dann ist P (τ1 , ..., τk ) eine (atomare) Formel. • Sei x eine Variable, und seien F und G Formeln. Dann sind auch ¬F , (F ∧ G) und (F ∨ G) sowie ∃x : F und ∀x : F Formeln. 2 Die in Klammern angegebenen Bezeichner spiegeln lediglich allgemeine Namenskonventionen wider. Tatsächlich können beliebige Bezeichner verwendet werden (→ Angabe der Signatur) Uwe Bubeck Einführung in die mathematische Logik 11 Häufig verwendete Funktionen und Prädikate werden oft auch in Infixnotation benutzt, etwa 2 < 3 statt < (2, 3). Ferner muß beim Auftreten von Variablen zwischen gebundenen und freien Variablen unterschieden werden, abhängig davon, ob diese sich im Geltungsbereich eines Quantors befinden oder nicht. Normalerweise läßt man keine Formeln mit freien Variablen zu und bindet alle noch vorhandenen freien Variablen durch Allquantoren. Im folgenden schreiben wir φ(x) für eine (Teil-)Formel φ, in der x als freie Variable vorkommt, und φ[x/t] bezeichne das Ergebnis der Substitution von x durch den Term t überall dort, wo x frei in φ vorkommt. Sei zum Beispiel φ(x) := ∃y : (x + 1 = y), dann ist φ[x/t] = ∃y : (t + 1 = y). Die Axiome und Inferenzregeln der Aussagenlogik gelten auch in der Prädikatenlogik, wobei die Metavariablen jetzt für prädikatenlogische Ausdrücke stehen. Außerdem gibt es zwei weitere Axiome: • (∀x : φ(x)) ⇒ φ[x/t]. Wenn eine Formel φ für alle x wahr ist, dann natürlich auch für den Fall x = t. Also können wir x in φ durch den Term t ersetzen und den Quantor entfernen, dann erhalten wir wieder eine wahre Formel. Vorsicht ist geboten, falls noch andere Quantoren in φ vorkommen: freie Variablen in t dürfen nach der Substitution nicht von einem anderen Quantor in φ gebunden werden. Betrachten wir dazu nochmals unser Beispiel von oben. Beziehen wir die Ausgangsformel φ(x) = ∀x : (∃y : x + 1 = y) auf die natürlichen Zahlen, so erhalten wir die wahre Aussage, daß jede natürliche Zahl einen Nachfolger besitzt. Die Formel ∃y : y + 1 = y würde hingegen zu der falschen Aussage führen, es gebe eine bestimmte natürliche Zahl y, die gleich ihrem Nachfolger sei. • φ[x/t] ⇒ (∃x : φ(x)). Dieses Axiom ist in gewisser Weise dual zur vorangegangenen Aussage. Außerdem gilt hier für freie Variablen in t dieselbe Einschränkung. Als zusätzliche Ableitungsregeln erhalten wir die Generalisierung für beide Quantoren: ψ ⇒ φ(v) ψ ⇒ (∀x : φ(x)) φ(v) ⇒ ψ (∃x : φ(x)) ⇒ ψ Für den Fall ψ = wahr vereinfacht sich die erste Regel zu der einfacher zu verstehenden Aussage „wenn φ für beliebiges v wahr ist, muß es für alle x wahr sein. Zur Interpretation einer prädikatenlogischen Formel muß zunächst deren Struktur angegeben werden. Darunter verstehen wir die Festlegung einer Grundmenge M sowie die Angabe von - zur Signatur der Funktion passenden - Funktionen und Prädikaten auf dieser Grundmenge. Sei A eine Struktur, dann schreiben wir A = (M, f 1 , ..., fk , P1 , ..., Pm ). Um die Bestandteile der Struktur von den Symbolen in der Formel zu unterscheiden, Uwe Bubeck Einführung in die mathematische Logik 12 schreibt man die Elemente der Struktur gerne auch in der Form f A bzw. P A . Die Interpretation verläuft nun entsprechend der Schachtelung der prädikatenlogischen Formel, d.h. es wird zum Beispiel einem Term der Form t = f (x1 , a, g(x2 , x1 )) eine Funktion tA zugeordnet, die Paare von Elementen m1 , m2 der Grundmenge M auf f A (m1 , aA , g A (m2 , m1 )) ∈ M abbildet. Zur Interpretation der Quantoren, d.h. zur Untersuchung von Existenz bzw. Universalität, wird einfach überprüft, ob die Interpretation der Restformel bezüglich eines Elementes bzw. aller Elemente aus der Grundmenge M wahr ist. 5.2 Vollständigkeit und Resolution In seiner Doktorarbeit hat Gödel 1930 die Vollständigkeit der Prädikatenlogik gezeigt und damit - in Verbindung mit ihrer Korrektheit -, daß auch in der Prädikatenlogik Sätze und Tautologien einander entsprechen. Kurz zuvor hatte bereits Skolem die Konsistenz der Prädikatenlogik nachgewiesen. Im Unterschied zur Aussagenlogik haben wir es hier allerdings nur mit einem semi-entscheidbaren System zu tun, d.h. wir können lediglich nachweisen, daß eine Formel einen Satz bzw. eine Tautologie darstellt, daß sie also gültig ist. In der Theorie betrachtet man statt dessen auch oft das dazu duale Unerfüllbarkeitsproblem, welches äquivalent zur Überprüfung der Gültigkeit der Negation einer vorgegebenen Formel ist. Das wohl bekannteste Verfahren, die Unerfüllbarkeit einer prädikatenlogischen Aussage nachzuweisen, ist die Resolution. Obwohl es im allgemeinen sehr schwierig sein kann, geeignete Resolventen auszuwählen, und es sehr viele Schritte erfordern kann, die Resolution erfolgreich abzuschließen3 , benutzt man das Verfahren besonders für Resolutionsbeweise mit spezieller Bauart sehr gerne, etwa im Rahmen der Logikprogrammierung. Die Grundlagen für die prädikatenlogische Resolution wurden vor allem durch die Arbeiten von Gödel, Herbrand und Skolem gelegt. Diese Theorie erlaubt es nämlich, anstatt der prädikatenlogischen Unerfüllbarkeit einer Formel die aussagenlogische Unerfüllbarkeit einer nach bestimmten Regeln aus der Ursprungsformel konstruierten Formelmenge, der sogenannten Herbrand-Expansion, zu betrachten. Für automatisches Beweisen praktisch einsetzbar wurde das Verfahren aber erst nach der Entwicklung des Unifikationsalgorithmus 1965 durch Alan Robinson. Genauere Betrachtungen des Resolutionsverfahrens finden sich in [1] und vor allem in [2]. 5.3 Der erweiterte Sequenzenkalkül Der Sequenzenkalkül unterscheidet sich durch sein beweistheoretisches Vorgehen wesentlich von dem bei der Resolution verfolgten modelltheoretischen Ansatz. Gegenüber dem bereits aus Abschnitt 4.2 bekannten aussagenlogischen Sequenzenkalkül 3 Man kann unerfüllbare Formeln konstruieren, für die jede Deduktion der leeren Klausel exponentiell viele Klauseln enthalten muß. Uwe Bubeck Einführung in die mathematische Logik 13 müssen im prädikatenlogischen Fall für die beiden Quantoren jeweils zwei zusätzliche Regeln eingeführt werden. Diese Regeln lauten für den Allquantor (a ist eine neue Konstante): Γ, A[x/t] → ∆ Γ → A[x/a], ∆ ∀→ →∀ Γ, (∀x : A) → ∆ Γ → (∀x : A), ∆ Wie bei den Axiomen der Prädikatenlogik werden demnach Quantoren durch geeignete Substitutionen aufgelöst. Hinzu kommt noch eine Regel zum Abschließen eines Zweiges, in welchem ein nichtlogisches Axiom oder eine bereits bewiesene Formel vorkommt. 6 Ausblick In der Aussagen- und der Prädikatenlogik können Aussagen entweder wahr oder f alsch sein. In diesen sogenannten klassischen Logiken ist es nicht möglich, zusätzliche Bedingungen (Modi) wie „notwendigerweise“ oder „möglicherweise“ sowie Zeitbzw. Reihenfolgebeziehungen wie etwa „zuerst A, danach B“ auszudrücken. Als kleinen Ausblick möchte ich zum Abschluß des Vortrages kurz die grundlegenden Konzepte von modaler und temporaler Logik skizzieren. Man kann sowohl die Aussagenlogik als auch die Prädikatenlogik zu Modallogiken erweitern. Wir beschränken uns an dieser Stelle auf die wesentlich leichter handhabbare Erweiterung der Aussagenlogik um die modalen Operatoren 2 und 3. Dabei kann 2A gelesen werden als „notwendigerweise A.“ und 3A als „möglicherweise A“. Üblicherweise wird 3 als dualer Operator von 2 eingeführt über die Identität 3A := ¬2¬A. Zusätzlich zu den aussagenlogischen Axiomen und dem Modus Ponens gibt es folgende Inferenzregel der Notwendigkeit: A . 2A Außerdem sind verschiedene Axiomschemata möglich. In der historisch wichtigen Modallogik S4 sind nachfolgende Axiomschemata vorgegeben: • 2(A ⇒ B) ⇒ (2A ⇒ 2B) • 2A ⇒ A • 2A ⇒ 22A Auf S4 basieren viele Temporallogiken, dabei wird 2A dann als „immer A“ und 3A als „manchmal A“ oder „schließlich A“ gelesen. Temporale Logiken werden in der Informatik besonders gerne im Zusammenhang mit verteilten Systemen eingesetzt. In diesem Fall meint „temporal“ vor allem eine zeitliche Reihenfolge, etwa des Eingangs von Nachrichten oder des Ablaufs von Berechnungen. Uwe Bubeck Einführung in die mathematische Logik 14 Literatur [1] John Rushby, Formal Methods and the Certification of Critical Systems, Computer Science Laboratory SRI International [2] Uwe Schöning, Vorlesungsskript Theoretische Informatik 1, Universität Ulm [3] Javier Esparza, Geschichte der Logik - Ein Kurzüberblick, http://wwwbrauer.informatik.tu-muenchen.de/~esparza/Logik/geschichte.html [4] Stanford Encyclopedia of Philosophy, Gottlob Frege, http://plato.stanford.edu/entries/frege/ [5] Wolfgang Bibel, Wissensrepräsentation und Inferenz, Vieweg [6] Bernhard Beckert, Vorlesungsskript Automatisches Beweisen, Universität Karlsruhe http://i12www.ira.uka.de/~beckert/automatisches-beweisen-SS99/