Logik - Institut für Theoretische Informatik

Werbung
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.
Herunterladen