2 Informatik IV, UzL SS2005 Empfohlene Lehrbücher Unterlagen zur Veranstaltung Einführung in die INFORMATIK IV Universität zu Lübeck SS 2005 M. Huth, M. Ryan, Logic in Computer Science - Modelling and Reasoning about Systems, (2. Ed.), Cambridge University Press, 2004 J. Hopcroft, R. Motwani, J. Ullman, Introduction to Automata Theory, Languages and Computation, Addison Wesley, 2. Edition 2001, deutsche Übersetzung: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie, Addison Wesley 1994 R. Reischuk, Komplexitätstheorie Band I: Grundlagen, Teubner 1998 M. Harrison, Introduction to Formal Language Theory, Addison Wesley 1978 Prof. Dr. R. Reischuk Institut für Theoretische Informatik April – Juli 2005 J. Savage, Models of Computation, Addison Wesley 1998 U. Schöning, Logik für Informatiker, Spektrum Verlag 1995 P. Sander, W. Stucky, R. Herschel, Automaten, Sprachen, Berechenbarkeit, Teubner 1992 T. Ottmann, P. Widmayer, Algorithmen und Datenstrukturen, Spektrum 2002 T. Cormen, C. Leiserson, R. Rivest, Introduction to Algorithms, MIT Press 1990 1 R. Reischuk, ITCS 1 3 Aussagenlogik Die Logik ist schon seit vielen Jahrhunderten ein zentrales Thema wissenschaftlicher Diskussionen, insbesondere in der Mathematik und der Philosophie. Auch für die Informatik besitzt die Logik eine zentrale Bedeutung, unter anderem beim Entwurf von Programmiersprachen und Compilern, bei der Verifikation von Programmen, von Hardwareentwürfen oder Kommunikationsprotokollen. Den Unterschied zwischen Syntax und Semantik, ein wesentliches Element in der Programmierung, kann man sich an logischen Formalismen sehr gut verdeutlichen. Wir präsentieren zunächst die wichtigsten Konzepte der Aussagenlogik. Als Begründer der modernen Aussagenlogik wird der Engländer George Boole (1815-1864) angesehen, der 1847 und 1854 zwei bedeutende Arbeiten zu diesem Thema publiziert hat mit den Titeln The Mathematical Analysis of Logic, Being an Eassay Towards a Calculus of Deductive Reasoning und An Investigation of the Laws of Thought, on Which are Founded the Mathematical Theories of Logic and Probability. Man spricht deshalb heutzutage auch von Boolescher Algebra. 1.1 Die Syntax der Aussagenlogik Definition 1.1 Aussagenlogische Formeln Sei P = {p1 , p2 , p3 , . . .} eine Menge von atomaren Prädikaten. Die Symbole ¬ , ∧ , ∨ und → bezeichnen unäre bzw. binäre Operatoren zur Verknüpfung von Prädikaten, die Negation, die Konjunktion oder und-Verknüpfung, die Disjunktion oder oderVerknüpfung sowie die Implikation. Die Menge der aussagenlogischen Formeln wird induktiv definiert durch: • Jedes atomare Prädikat pi ∈ P ist eine aussagenlogische Formel. • Für jede Formel F ist auch (¬F ) eine Formel. • Für alle Formeln F und G sind auch (F ∧ G) , (F ∨ G) und (F → G) Formeln. Ist p ein atomares Prädikat, so heißen p und ¬p Literale. Für ¬p verwenden wir im folgenden auch die Notation p0 ; entsprechend sei dann p1 := p . Für eine Teilmenge D ⊆ P bezeichnet F (D) die Menge der Formeln über den Prädikaten in D . Die Elemente in D nennen wir auch logische Variable. ! Um bei aus atomaren Prädikaten zusammengesetzten Formeln auf Klammern verzichten zu können, vereinbaren wir die folgenden Bindungsstärten für die Operatoren: 1.) der unäre Operator ¬ besitzt die stärkste Bindung, 2.) danach kommen die Operatoren ∨ und ∧ – entweder gleichberechtigt oder mit einem Vorrang für die Konjunktion ∧ , 3.) die Implikation → bindet am schwächsten. 4 Informatik IV, UzL SS2005 Es wird sich zeigen, daß die Operatoren ∨ und ∧ assoziativ sind, d.h. auf eine Klammerung kann bei einer Konjunktion atomarer Prädikate verzichtet werden, ebenso bei einer Disunktion. Definition 1.2 Ein Monom ist eine Konjunktion von Literalen M = pa11 ∧ . . . ∧ pa! ! , eine Klausel eine Disjunktion K = pa11 ∨ . . . ∨ pa! ! . Die Anzahl ! von Literalen nennen wir auch die Länge des Monoms bzw. der Klausel. Für die leere Klausel der Länge 0 verwenden wir die Notation # , für das leere Monom $. Eine Formel besitzt die konjunktive Normalform (CNF), falls sie aus Konjunktionen von Klauseln besteht. Haben alle Klauseln die Länge ! , so bezeichnet man dies als ! CNF. Die disjunktive Normalform (DNF) ist eine Disjunktion von Monomen. ! 1.2 Die Semantik logischer Formeln Aussagenlogischen Formeln wollen wir eine Bedeutung, eine Semantik, zuordnen, und zwar wahr oder falsch, die davon abhängt, welche Wahrheitswerte die atomaren Prädikate besitzen. Wir betrachten hier nur die 2-wertige Standard-Logik. Darüber hinaus sind auch andere logische Konzepte denkbar, etwa eine 3-wertige Logik mit dem zusätzlichen Wert vielleicht oder noch weitere Verallgemeinerungen wie etwa die Fuzzy-Logik, bei der jedes Prädikat einen unterschiedlichen Grad von Wahrheit besitzen kann. Definition 1.3 Semantik aussagenlogischer Formeln Die Elemente der Menge {0, 1} heißen Wahrheitswerte oder Boolesche Werte – sie werden auch mit false und true bezeichnet. Für D ⊆ P sei Φ : D → {0, 1} eine Belegung der atomaren Prädikate mit Wahrheitswerten. Wir erweitern Φ zu einer Funktion Φ̂ auf F(D) durch: Für jede atomare Formel F ∈ D sei Φ̂(F ) := Φ(F ) . Φ̂(¬F ) := ! 1 0 falls sonst. Φ̂(F ) = 0 , Φ̂(F ∧ G) := ! 1 0 falls sonst. Φ̂(F ) = 1 und Φ̂(G) = 1 , Φ̂(F ∨ G) := ! 1 0 falls sonst. Φ̂(F ) = 1 oder Φ̂(G) = 1 , Φ̂(F → G) := ! 1 0 falls sonst. Φ̂(F ) = 0 oder Φ̂(G) = 1 , R. Reischuk, ITCS 5 Wir vereinbaren noch, daß die leere Klausel $ den Wahrheitswert false besitzt, ein leeres Monom dagegen den Wahrheitswert true, d.h. Φ̂(#) = 0 und Φ̂($) = 1 . ! Da Φ̂ eine Erweiterung von Φ ist, verzichten wir im folgenden darauf, sie weiter zu unterscheiden – die Unterscheidung war nur für eine saubere formale Definition notwendig. Beim Entwurf Boolescher Schaltkreise werden bevorzugt nur die Operatoren ¬, ∨, ∧ verwendet. Andererseits stehen noch weitere Operatoren zur Verfügung, um aussagenlogische Formeln zu verknüpfen, insbesondere F ↔ G und F ⊕ G . Deren Semantik ist definiert durch Φ(F ↔ G) := ! 1 0 falls sonst. Φ(G) = Φ(F ) , Φ(F ⊕ G) := ! 1 0 falls sonst. Φ(G) ,= Φ(F ) , 6 Informatik IV, UzL SS2005 Definition 1.5 Logische Implikation und Äquivalenz Eine aussagenlogische Formel F impliziert eine Formel G , man sagt dann auch G folgt logisch aus F , wenn jedes Modell für F auch ein Modell für G ist; hierfür verwenden wir die Notation F =⇒ G . F und G heißen logisch äquivalent (man sagt auch semantisch äquivalent), wenn F =⇒ G sowie G =⇒ F gilt, in Notation: F ⇐⇒ G oder auch F ≡G . ! Offensichtlich impliziert F ≡ G , daß für alle Belegungen Φ gilt: Φ(F ) = Φ(G) . 1.3 Transformationsregeln für logische Äquivalenz Im folgenden sind die wichtigsten Regeln aufgelistet, wie man Boolesche Formeln F, G, H in semantisch äquivalente transformieren kann. Definition 1.6 Rechenregeln der Aussagenlogik Definition 1.4 Modell, erfüllbar, allgemeingültig, unerfüllbar Eine Belegung Φ mit Φ(F ) = 1 heißt erfüllende Belegung oder Modell für F , hierfür verwenden wir die Notation Φ |= F . Eine Formel F heißt erfüllbar, wenn F ein Modell besitzt. F heißt allgemeingültig oder Tautologie, wenn jede Belegung ein Modell für F ist, Notation: |= F . F heißt unerfüllbar, wenn es kein Modell für F gibt. Mit - bezeichnen wir eine feste Formel, die immer erfüllt ist (z.B. $ ), und mit ⊥ eine Formel, die nie erfüllt ist (etwa # ). ! Eine zentrale Fragestellung in der Aussagenlogik ist es zu entscheiden, ob eine gegebene Formel ein Modell besitzt oder ob sie allgemeingültig ist. Dies kann offensichtlich dadurch geschehen, daß man alle möglichen Belegungen der elementaren Prädikate betrachtet und dafür die Formel auswertet. Während die Auswertung einer Formel sehr effizient geschehen kann, ist diese Vorgehensweise bei größeren Formeln mit vielen Variablen in der Praxis nicht anwendbar, da die Zahl der Belegungen exponentiell in der Anzahl der Variablen wächst. Gesucht sind daher andere Verfahren – man spricht auch von logischen Kalkülen, mit deren Hilfe man solche Fragen entscheiden kann. Dazu definieren wir zunächst die semantische Implikation und Äquivalenz logischer Formeln folgendermaßen. (F ∧ F ) ≡ F (F ∨ F ) ≡ F Idempotenz (F ∧ G) ≡ (G ∧ F ) (F ∨ G) ≡ (G ∨ F ) Kommutativität ((F ∧ G) ∧ H) ≡ (F ∧ (G ∧ H)) ((F ∨ G) ∨ H) ≡ (F ∨ (G ∨ H)) Assoziativität (F ∧ (F ∨ G)) ≡ F (F ∨ (F ∧ G)) ≡ F Absorption (F ∧ (G ∨ H)) ≡ ((F ∧ G) ∨ (F ∧ H)) (F ∨ (G ∧ H)) ≡ ((F ∨ G) ∧ (F ∨ H)) Distributivität ¬ (¬F ) ≡ F ¬(F ∧ G) ≡ (¬F ∨ ¬G) ¬(F ∨ G) ≡ (¬F ∧ ¬G) Doppelnegation deMorgansche Regeln Ist T eine Tautologie und U eine unerfüllbare Formel, so gelten außerdem: R. Reischuk, ITCS 7 (T ∨ G) ≡ T (T ∧ G) ≡ G (F ∨ ¬F ) ≡ (U ∨ G) ≡ G, (U ∧ G) ≡ U , (F ∧ ¬F ) ≡ ⊥ 8 Informatik IV, UzL SS2005 Ein Deduktionsbeweis leitet durch Kombination verschiedener Axiome unter Verwendung der Schlußregeln neue Formeln (sogenannte Lemmata) her, aus diesen weitere Lemmata, bis sich die zu beweisende Formel ergibt. Solch ein Beweis hat damit eine baumförmige Struktur, wobei die Blätter Axiome sind und die Wurzel das gesuchte Theorem. Dabei dürfen Axiome und auch Lemmata mehrfach verwendet werden. Tautologieregeln Unerfüllbarkeitsregeln Elementare Deduktionsregeln der Aussagenlogik Beispiel 1.1 ((A ∨ (B ∨ C)) ∧ (C ∨ ¬A)) ≡ ((B ∧ ¬A) ∨ C) Kombination Die linke Seite läßt sich auf folgende Weise in die rechte transformieren: ((A ∨ (B ∨ C)) ∧ (C ∨ ¬A)) ≡ (((A ∨ B) ∨ C) ∧ (C ∨ ¬A)) ≡ ((C ∨ (A ∨ B)) ∧ (C ∨ ¬A)) ≡ (C ∨ ((A ∨ B) ∧ ¬A)) ≡ (C ∨ (¬A ∧ (A ∨ B)) ≡ (C ∨ ((¬A ∧ A) ∨ (¬A ∧ B)) ≡ (C ∨ (¬A ∧ B) ≡ (C ∨ (B ∧ ¬A) ≡ ((B ∧ ¬A) ∨ C). ∧ ≡ (¬F ∨ G) ∧ (¬G ∨ F ) nachzuweisen, und zwar sowohl mit Hilfe einer Tabelle der Wahrheitswerte als auch durch äquivalente Umformungen. 1.4 Der Deduktionskalkül Gegeben eine Menge wahrer logischer Prädikate oder Formeln, die man in diesem Zusammenhang auch als Axiome bezeichnet, so wollen wir Formeln, die dadurch logisch impliziert werden, auch Theorme genannt, ableiten. Nicht immer lassen sich logische Implikationen durch eine einfache Folge von Transformationen herleiten. Der Logiker Gerhard Gentzen (1909-1945) hat einen Kalkül entwickelt, die Deduktion, die unter Verwendung zweier Typen von Regeln, Kombinations- und Eliminationsregeln für Formeln, das logische Schließen modelliert. Diese Regeln werden in der folgenden Tabelle zusammengefaßt, die folgendermaßen zu interpretieren sind. Oberhalb des Striches stehen die Voraussetzung, die für die Anwendung der Regel benötigt werden, unter dem Strich die neue Formel, die sich damit erzeugen läßt, und rechts der Name. φ ∧ ψ ∧E1 φ φ ψ φ ∧ ψ ∧K φ .. . φ∨ψ ∨ φ φ ∨ ψ ∨K1 ψ .. . χ ψ φ ∨ ψ ∨K2 φ ∧ ψ ∧E2 ψ χ χ ∨E φ .. . Zur Übung empfehlen wir, die logische Äquivalenz (F ∧ G) ∨ (¬F ∧ ¬G) Elimination → ψ φ→ψ →K φ φ → ψ →E (modus ponens) ψ φ .. . ¬ ⊥ ¬φ ¬K φ ⊥ ¬φ ¬E ⊥ ⊥ ⊥E φ ¬¬ ¬¬φ ¬¬E φ Die und -Kombinationsregel φφ∧ψψ ∧K beispielsweise gestattet es, aus zwei Formeln F und G die Konjungtion F ∧ G zu folgern. Ist es möglich, durch Deduktion aus Formeln R. Reischuk, ITCS 9 F1 , . . . , Fm die Formel H abzuleiten, so notieren wir dies durch F1 , . . . , Fm / H . Eine wichtige Schlußregel ist der modus ponens, die Elimination einer Implikation: Gilt eine Implikation φ → ψ und ist deren Voraussetzung φ erfüllt, so kann man die Gültigkeit der Konklusion ψ folgern. Als Beispiel geben wir einen vollständigen Beweis für das Theorem F, F → G, F → (G → H) / H . Um die Lesbarkeit zu erleichtern, listen wir zunächst die Voraussetzungen auf und geben dann bei jedem Schluß an, welche Regel auf welche Formeln angewendet werden. 1 2 3 4 5 6 F → (G → H) F →G F G→H G H 10 Informatik IV, UzL SS2005 zur Verfügung hat. Dies nennt man dann eine abgeleitete Regel. Vier wichtige solche Regeln haben wir im Anschluß aufgeführt. Die Kontraposition, der modus tollens, ist ein Beispiel hierfür: Gilt eine Implikation φ → ψ und ist deren Konklusion ψ nicht erfüllt, so kann auch die Voraussetzung φ nicht gelten. Sie läßt sich aus dem modus ponens unter Verwendung weiterer elementarer Regeln herleiten. Entwickelt man ein logischen Kalkül, z.B. auf Grund eines intuitiven Verständnisses, welche logischen Schlüsse erlaubt sein sollten, so ist nicht automatisch sichergestellt, daß dieser das Gewünschte auch leistet. Wir müssen daher zwei zentrale Eigenschaften, Korrektheit (soundness) und Vollständigkeit (completeness), näher untersuchen. Definition 1.7 Ein Kalkül heißt korrekt, falls jedes Theorem H , das sich in dem Kalkül aus Axiomen F1 , . . . , Fm ableiten läßt, logisch durch F1 ∧ . . . ∧ Fm impliziert wird, d.h. die Relation F1 , . . . , Fm / H hat zur Folge, daß auch die Relation F1 ∧ . . . ∧ Fm =⇒ H erfüllt ist. Umgekeht ist ein Kalkül vollständig, falls sich jede logische Implikation im Kalkül beweisen läßt, d.h. gilt die Relation F1 ∧ . . . ∧ Fm =⇒ H , dann auch F1 , . . . , Fm / H . Voraussetzung Voraussetzung Voraussetzung →E auf Zeile 3 und 1 →E auf Zeile 3 und 2 →E auf Zeile 5 und 4 Ein Rechteck wie beispielsweise bei der ∨ E-Regel hat folgende Bedeutung. Die oberste Zeile φ des linken Rechtecks stellt eine Annahme dar, die unterste Zeile χ eine Schlußfolgerung. Wenn als Voraussetzung φ ∨ ψ gegeben ist und man sowohl aus der Annahme φ die Formel χ folgern kann als auch aus der Annahme ψ , dann darf aus φ ∨ ψ χ gefolgert werden. Korrektheit garantiert, daß keine falschen Theoreme abgeleitet werden können. eine Eigenschaft, die sicherlich erfüllt sein sollte. Ist ein Kalkül allerdings nicht stark genug, so kann es passieren, daß gewisse Theoreme nicht bewiesen werden können, obwohl sie korrekt sind, er ist damit unvollständig. Abgeleitete Regeln Theorem 1.1 Der Deduktionskalkül ist korrekt und vollständig. MT: modus tollens RAA: reductio ad absurdum TND: tertium non datur Ein formaler Beweis für diese Beauptung ist nicht sehr schwierig, aber länglich. Einerseits zeigt man für jede elementare Schlußregel, daß ihre Anwendung auf eine Menge von Formeln auch durch eine entsprechende logische Implikation begleitet wird. Induktion über die Länge eines Deduktionsbeweises und die Transitivität der logischen Implikation ergibt dann die Korrektheit. Die Vollständigkeit kann induktiv über den syntaktischen Aufbau logischer Formeln bewiesen werden. φ → ψ ¬ψ ¬φ MT φ ¬¬φ ¬¬K ¬φ .. . ⊥ φ RAA φ ∨ ¬φ TND Einerseits sollte man Gründen der Übersichtlichkeit und Ökonomie des Kalküls möglichst wenig Regeln benutzen, die dennoch ausreichen, jede logische Schlußfolgerung auch durchzuführen. Andererseits erweisen es sich aus beweistechnischen Gründen oftmals als hilfreich, wenn man statt einer Folge einfacher Regeln auch eine einzige komplexere Regel Für Systeme komplexer als die Aussagenlogik, z.B. die Prädikatenlogik, bei der zusätzlich logische Quantoren verwendet werden können, oder die elementare Arithmetik, ist es keinesfalls offensichtlich, daß sie einen korrekten und vollständigen Beweiskalkül besitzen. Dies ist in der Tat nicht immer gegeben, was der Logiker Gödel in seinen Unvollständigskeitssätzen gezeigt hat.