laden - LS1 - Logik in der Informatik

Werbung
Logik für Informatiker
Wintersemester 2007/08
Thomas Schwentick
Teil A: Aussagenlogik
2. Grundlagen
Version von: 2. November 2007(16:19)
Inhalt
2.1 Beispiele
2.2 Syntax
2.3 Semantik
2.4 Modellierung mit AL: Beispiele
2.5 Einige Grundbegriffe
2.6 Äquivalenzen und Normalformen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 1
Gründe für formale Logik: Präzision
(1) Keine zwei Spieler haben in allen Spielen gleich gut gespielt
• = höchstens ein Spieler hat in allen Spielen gleich gut gespielt?
• = es gab keine zwei Spieler, für die in jedem Spiel galt, dass
beide gleich gut gespielt haben?
(2) „Jetzt trinken wir beide mal ein schönes Pils“
(Generaldirektor Haffenloher)
• „Eins? Zusammen?“ (Barkeeper)
(3) Ich fahre im März oder April nach Spanien
• Stimmt das auch noch, wenn ich am 15.3. und am 18.4. nach
Spanien fahre?
• Formale Logik hat eine eindeutige Semantik und erlaubt daher,
Zusammenhänge präzise zu beschreiben
• Aussagen wie (1) und (2): Prädikatenlogik (später)
• Aussage (3): Aussagenlogik (jetzt)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 2
Gründe für formale Logik: Ausnutzen von Struktur
Eine schlüssige Überlegung
• Wenn der Zug zu spät kommt
und keine Taxis am Bahnhof
sind, kommt Jane zu spät zu
ihrem Termin
• Jane ist pünktlich
• Der Zug ist zu spät
➨ Also gibt es Taxis am Bahnhof
Noch eine schlüssige Überlegung
• Falls es regnet und John
seinen Schirm nicht dabei hat,
wird er nass
• John wird nicht nass
• Es regnet
➨ Also hat er seinen Schirm
dabei
(Beispiele aus [HR])
Logik für Inf. / Schwentick / WiSe 07/08
• Die beiden Beispiele sind sehr ähnlich
• In beiden Fällen haben wir es mit 3 elementaren
Aussagen zu tun:
(1) Der Zug ist zu spät
(2)
Es gibt
Bahnhof
Taxis
am
(3)
Jane kommt zu spät
Es regnet
John
hat
seinen
Schirm dabei
John wird nass
• In beiden Fällen ist die Struktur der Argumentation gleich:
– Falls (1) gilt und (2) nicht gilt, so gilt (3)
– (3) gilt nicht
– (1) gilt
➨ Also gilt (2)
• Erkenntnisse:
– Die Argumentation ist unabhängig vom Inhalt der
Aussagen (1) - (3)
– Es kommt nur auf den logischen Zusammenhang
zwischen den Aussagen an
A: Aussagenlogik - 2. Grundlagen
Folie 3
Gründe für formale Logik: Problemlösen
Eine typische Logelei
Angela: „Franz oder ich werden an der Regierungskoalition beteiligt
sein.“
Franz: „Entweder Joschka oder ich werden an der Regierung
beteiligt sein.“
Joschka: „Entweder Angela oder ich werden in der Opposition sein.“
• Das lässt sich wie folgt formalisieren:
(F ∨ A) ∧ (J ↔ ¬F ) ∧ (A ↔ ¬J )
• Dabei steht A für „Angela ist an der Regierung beteiligt“ etc.
• Durch Ausprobieren aller Möglichkeiten ergibt sich:
Nur die Variablenbelegung J 7→ 0, F 7→ 1, A 7→ 1 macht die
Formel wahr
• Erkenntnis: Die logische Formalisierung erlaubt die
Anwendung systematischer Methoden zur Lösung von
Problemen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 4
Aussagen und Aussagenvariablen
• Die Aussagenlogik ist (nicht sehr
• Was unterscheidet Aussagen von anderen
überraschend) die „Logik der Aussagen“
• Was ist eine Aussage?
– Beispiele für Aussagen:
∗ Der Zug ist pünktlich
∗ Alle Marsianer lieben Pizza
∗ Der BVB wird Meister der Saison
2007/08
∗ Jede gerade Zahl, die größer als 2 ist,
ist die Summe zweier Primzahlen
– Keine Aussagen sind:
∗ Geben Sie mir mal das Salz, bitte?
∗ Alles Gute!
∗ Möge das bessere Team gewinnen!
Logik für Inf. / Schwentick / WiSe 07/08
Sätzen?
– Aussagen können wahr oder falsch sein
• Gemäß dieser Erkenntnis wählen wir unsere
Abstraktion von Aussagen: etwas, das wahr
oder falsch sein kann
➞ Statt sprachlicher Aussagen verwenden wir
Variablen, die die Werte wahr oder
falsch annehmen können
• Solche Variablen nennen wir dann
Aussagevariablen
A: Aussagenlogik - 2. Grundlagen
Folie 5
Inhalt
2.1 Beispiele
2.2 Syntax
2.3 Semantik
2.4 Modellierung mit AL: Beispiele
2.5 Einige Grundbegriffe
2.6 Äquivalenzen und Normalformen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 6
Aussagenlogik: Syntax
• Sei AV eine Menge aussagenlogischer
•
Variablen
AV enthalte mindestens A, B, C sowie
Ai, für alle i ∈ N
Def. 2.1 [Syntax aussagenlogischer Formeln]
• Die Menge AL der aussagenlogischen
Formeln ist die kleinste Menge, die die
folgenden Eigenschaften hat.
(1) wahr und falsch sind in AL
(2) Jedes Element aus AV ist in AL
(3) Sind F , F1 und F2 in AL, so auch
(Negation)
– ¬F ,
– (F1 ∧ F2 ),
(Konjunktion)
(Disjunktion)
– (F1 ∨ F2 ),
Beispiel
• Formeln sind:
– ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ))
– ((A ∨ ¬wahr) ∧ ¬¬B)
– (A ∧ ¬A)
• Keine Formeln sind:
– A ∧ ¬B)
– A ∧ B ∨ A2
– ((A ∨ B))
• Die Struktur einer aussagenlogischen
Formel lässt sich durch ihren Syntaxbaum
veranschaulichen:
∧
• Formeln der Typen (1) und (2) nennen wir
•
•
atomar
Wir nennen wahr und falsch
Wahrheitswerte
Abkürzungen: 1 statt wahr, 0 statt falsch
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
∨
A1
¬
A2
A1
∧
¬
A3
Folie 7
Exkurs: Induktive Definitionen
• Die Definition von AL ist ein Beispiel für eine
•
•
induktive Definition einer Menge:
– Zuerst werden gewisse Grundelemente
der Menge definiert (hier: die
aussagenlogischen Variablen, sowie
wahr und falsch)
– Dann wird beschrieben, wie aus
gegebenen Elementen der Menge neue
Elemente gewonnen werden
– Implizit oder explizit gilt zusätzlich: es gibt
keine anderen Elemente als die so
konstruierbaren
Ein (hoffentlich) bekanntes Beispiel einer
induktiven Definition:
– 0∈N
– n∈N ⇒ n+1∈N
Induktive Definitionen von Mengen erlauben:
– induktive Beweise von Eigenschaften
aller Elemente der Menge und
– induktive Definitionen von Funktionen auf
den Elementen der Menge
Logik für Inf. / Schwentick / WiSe 07/08
• Als Beispiel definieren wir die Tiefe d(F )
einer aussagenlogischen Formel:
– d(A) =def d(wahr) =def
d(falsch) =def 0
d(F ) + 1
– d(¬F ) =def
– d((F1 ∨ F2 )) =def d((F1 ∧ F2 )) =def
1 + max(d(F1 ), d(F2 ))
• Sei noch |F | =def Länge von F als String
• Dann lässt sich die Behauptung
d(F ) ≤ |F | induktiv beweisen:
– d(F ) = 0 < |F | für atomare Formeln
– d(¬F ) = d(F ) + 1 ≤
|F | + 1 = |¬F |
–
d((F1 ∧ F2 ))
= 1 + max(d(F1 ), d(F2 ))
≤ 1 + max(|F1 |, |F2 |)
≤ |(F1 ∧ F2 )|
A: Aussagenlogik - 2. Grundlagen
Folie 8
Inhalt
2.1 Beispiele
2.2 Syntax
2.3 Semantik
2.4 Modellierung mit AL: Beispiele
2.5 Einige Grundbegriffe
2.6 Äquivalenzen und Normalformen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 9
Aussagenlogik: Semantik
• Bisher haben wir nur definiert, wie
•
•
•
•
➞
aussagenlogische Formeln aussehen
(Syntax)
Jetzt definieren wir, was sie bedeuten
(Semantik)
Was soll beispielsweise Die Formel
F = ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ))
bedeuten?
F stellt eine Beziehung her zwischen den
Werten der aussagenlogischen Variablen
und einem Wahrheitswert
Genauer: für jede Wahl von
Wahrheitswerten für die Variablen von F
ergibt sich ein einzelner Wahrheitswert
Diese Zuordnung soll gerade die Semantik
von F sein
Logik für Inf. / Schwentick / WiSe 07/08
• Eine (Wahrheits-)Belegung α ist eine
partielle Funktion α : AV → {0, 1}
• Eine Belegung α heißt passend für eine
Formel F , wenn α(X) für alle in F
vorkommenden Variablen X definiert ist
• Die Semantik von F ordnet jeder passenden
Belegung α einen Wahrheitswert α(F ) zu
Semantik aussagenlogischer Formeln
• Sei F ∈ AL
• Sei α eine zu F passende Belegung
• Dann ist α(F ) =def
– 0, falls F = 0
– 1, falls F = 1
– α(X), falls F = X und X ∈ AV
– 1 − α(G), falls F = ¬G
– min(α(F1 ), α(F2 )), falls
F = F1 ∧ F2
– max(α(F1 ), α(F2 )), falls
F = F1 ∨ F2
A: Aussagenlogik - 2. Grundlagen
Folie 10
Aussagenlogik: Semantik (Beispiel)
Beispiel
• Sei F die Formel ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ))
• Sei die Belegung α wie folgt gegeben:
X α(X)
A1
0
A2
1
A3
0
• Dann ist
α(((A1 ∨A2 ) ∧ ¬(A1 ∧ ¬A3 )))
= min(α((A1 ∨ A2 )), α(¬(A1 ∧ ¬A3 )))
= min(max(α(A1 ), α(A2 )), 1 − min(α(A1 ), 1 − α(A3 )))
= min(max(0, 1), 1 − min(0, 1 − 0))
=1
• Wie aus der Vorlesung Rechnerstrukturen bekannt ist, lässt sich die Semantik
einer aussagenlogischen Formel F in einer Wahrheitstabelle repräsentieren
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 11
Wahrheitstabelle (Beispiel)
Beispiel
• Sei F wieder die Formel
((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ))
• Dann ist die Semantik von F durch die folgende Wahrheitstabelle
gegeben:
α(A1 )
0
0
0
0
1
1
1
1
α(A2 )
0
0
1
1
0
0
1
1
α(A3 )
0
1
0
1
0
1
0
1
α(F )
0
0
1
1
0
1
0
1
• Jede Zeile der Wahrheitstabelle entspricht also genau einer
Belegung α der Variablen von F
• Künftig werden wir das „α“ in Tabellenköpfen weglassen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 12
Abkürzende Schreibweisen
• Wir lassen Klammern weg, wenn dadurch keine Missverständnisse
entstehen:
– Statt ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )) schreiben wir
beispielsweise (A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )
– Weitere Fälle, in denen Klammern eingespart werden können,
lernen wir bald kennen
• Und weiterhin: 0 für falsch und 1 für wahr
• Wir vereinbaren die logischen Operatoren → und ↔ als
abkürzende Schreibweisen wie folgt:
–
F1 → F2 für ¬F1 ∨ F2
–
F1 ↔ F2 für (F1 ∧ F2 ) ∨ (¬F1 ∧ ¬F2 )
• Die entsprechenden Wahrheitstabellen:
F1 F2 F1 → F2
0
0
1
1
1
0
1
0
0
1
1
1
Logik für Inf. / Schwentick / WiSe 07/08
F1
0
0
1
1
A: Aussagenlogik - 2. Grundlagen
F2
0
1
0
1
F1 ↔ F2
1
0
0
1
Folie 13
Inhalt
2.1 Beispiele
2.2 Syntax
2.3 Semantik
2.4 Modellierung mit AL: Beispiele
2.5 Einige Grundbegriffe
2.6 Äquivalenzen und Normalformen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 14
Modellierung mit Aussagenlogik: Erstes Beispiel
Beispiel
• „Das Fluchtauto war rot oder grün und hatte weder
vorne noch hinten ein Nummernschild“
• Elementare Aussagen:
– A1 : Das Fluchtauto war rot
– A2 : Das Fluchtauto war grün
– A3 : Das Fluchtauto hatte vorne ein
Nummernschild
– A4 : Das Fluchtauto hatte hinten ein
Nummernschild
• Gesamtaussage: (A1 ∨ A2 ) ∧ (¬A3 ∧ ¬A4 )
(Beispiel aus [MG])
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 15
Modellierung mit Aussagenlogik: Zweites Beispiel
Beispiel
• „Platon hatte Recht mit seiner Einschätzung des Sokrates genau
•
•
dann, wenn Sokrates kein großer Philosoph war“
„Wenn Sokrates ein großer Philosoph war, dann hatte Aristoteles
Recht mit seiner Einschätzung des Platon“
„Aristoteles hatte nur dann Recht mit seiner Einschätzung des
Platon, falls Platon Recht hatte mit seiner Einschätzung des
Sokrates“
• Elementare Aussagen:
– S : „Sokrates war ein großer Philosoph“
– A: „Aristoteles hat Recht mit seiner Einschätzung des Platon“
– P : „Platon hat Recht mit seiner Einschätzung des Sokrates“
• Teilaussagen:
– P ↔ ¬S
– S →A
– A→P
• Gesamtaussage: ((P ↔ ¬S) ∧ (S → A)) ∧ (A → P )
(Beispiel aus [KuK])
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 16
Modellierung mit Aussagenlogik: Drittes Beispiel
Beispiel
• Anfangs sind alle Felder verdeckt
• Einige der Felder enthalten eine Mine,alle anderen sind leer
• Durch Anklicken mit der linken Maustaste kann man ein Feld
•
•
aufdecken:
– Klickt man auf eine Mine, so hat man verloren.
– Klickt man auf ein leeres Feld, so wird die Anzahl der Minen
auf benachbarten Feldern angezeigt
Durch Klicken mit der rechten Maustaste kann man ein Feld mit
einem Fähnchen markieren
Ziel des Spiels ist es, alle Felder aufzudecken, die keine Mine
enthalten
(Beispiel aus [MG])
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 17
Modellierung mit Aussagenlogik: Drittes Beispiel (Forts.)
Beispiel: Verwendete Variablen
• Wir betrachten den Fall eines Spielfeldes
mit 8 × 8 Feldern
• Wir nennen ein Paar
(i, j) ∈ {1, . . . , 8} × {1, . . . , 8}
ein Feld
• Wir verwenden die folgenden
aussagenlogischen Variablen für jedes
Feld q = (i, j):
–
A•q soll intuitiv bedeuten: Feld q ist
vermint
– Ak
q soll intuitiv bedeuten: Feld q hat k
verminte Nachbarfelder
(für jedes k ∈ {0, . . . , 8})
Beispiel: Gültige Formeln
• Für jedes Feld q :
8
_
1
– Fq =def
Ak
q
k=0
≤ k < l ≤ 8:
2
l)
Fq,k,l
=def ¬(Ak
∧
A
q
q
– Für jede Menge N von Nachbarfeldern
von q :
3
=def
Fq,N
8
_
^
Ak
A•q0 →
q
– Für alle 0
q0 ∈N
– Für jedes k
k=|N|
∈ {1, . . . , 8}:
4
Fq,k
=def
W
V
k
Aq → N∈N(q,k) q0 ∈N A•q0
(dabei bezeichne N (q, k) die Menge
der k-elementigen
Nachbarfeldermengen von q )
Logik für Inf. / Schwentick / WiSe 07/08
• F bezeichne die Menge all dieser Formeln
A: Aussagenlogik - 2. Grundlagen
Folie 18
Modellierung mit Aussagenlogik: Drittes Beispiel (Forts.)
Beispiel: Schlüsse Ziehen
• Zu Beginn des Spiels wissen wir nur, dass alle Formeln aus F
gültig sein müssen
• Angenommen, wir klicken auf Feld (4, 4) und es erscheint die
Zahl 2
• Dann wissen wir:
– A2
(4,4) = 1
–
Ak
(4,4) = 0, für alle k 6= 2
–
A•(4,4) = 0
• Zusammen mit den Formeln aus F folgt dann zum Beispiel, dass
¬((A•(3,5) ∧ A•(4,5) ) ∧ A•(5,5) )
gültig sein muss
• Aus der Menge F und den gültigen Formeln, die sich aus den
Informationen über angeklickte Felder ergeben, kann also auf die
Gültigkeit weiterer Formeln geschlossen werden
• Wir können gefahrlos das Feld q = (i, j) anklicken, wenn wir
die Gültigkeit der Formel ¬A•
q erschließen können
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 19
Inhalt
2.1 Beispiele
2.2 Syntax
2.3 Semantik
2.4 Modellierung mit AL: Beispiele
2.5 Einige Grundbegriffe
2.6 Äquivalenzen und Normalformen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 20
Erfüllbare und allgemein gültige Formeln
• Eine Belegung α mit α(F ) = 1 heißt Modell
von F (Andere Notation: α |= F )
• Ist F eine Menge von aussagenlogischen
Formeln, so heißt α Modell von F , falls für alle
F ∈ F gilt: α(F ) = 1
• Eine Formel F heißt erfüllbar, falls sie ein
Modell hat, andernfalls unerfüllbar
• Analog für Mengen F von Formeln
• Eine Formel F heißt allgemein gültig (oder:
Tautologie), falls jede zu F passende Belegung
ein Modell von F ist
Beobachtung 2.2
Eine Formel F ist genau dann allgemein
gültig, wenn ¬F unerfüllbar ist
Beweisidee
• Angenommen, α(F ) = 1, für jede
passende Belegung α
➨ α(¬F ) = 1 − α(F ) = 0, für
jede passende Belegung α
➨ ¬F unerfüllbar
• (Und umgekehrt)
• Die Menge AL ist also wie folgt
strukturiert:
Beispiel
allgemein gültig
• (A1 ∧ ¬A1 ) ist unerfüllbar
• (A1 ∨ ¬A1 ) ist allgemein gültig
• A1 ∨ A2 ist erfüllbar aber nicht allgemein
erfüllbar aber
nicht allgemein gültig
gültig
• {(A1 ∨ ¬A2 ), A2 , ¬A1 } ist unerfüllbar
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
unerfüllbar
Folie 21
Inhalt
2.1 Beispiele
2.2 Syntax
2.3 Semantik
2.4 Modellierung mit AL: Beispiele
2.5 Einige Grundbegriffe
2.6 Äquivalenzen und Normalformen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 22
Äquivalenz von Formeln
• Zwei Formeln F1 , F2 heißen äquivalent, falls für jede zu F1 und
F2 passende Belegung α gilt: α(F1 ) = α(F2 )
– Schreibweise: F1 ≡ F2
Beispiel
• A ∧ (A ∨ B) ≡ A
• A ∨ B 6≡ A ∧ B
• Wir beweisen als nächstes zwei nützliche Lemmas:
– Mit dem Substitutionslemma können wir aus „einfachen“
Äquivalenzen neue Äquivalenzen folgern, indem wir Variablen
konsistent durch Formeln ersetzen
– Das Ersetzungslemma erlaubt uns eine Teilformel einer Formel
durch eine äquivalente Teilformel zu ersetzen
• Beispiel:
– Natürlich gilt: ¬(A ∨ B) ≡ ¬A ∧ ¬B
– Können wir daraus auch ¬(F1 ∨ F2 ) ≡ ¬F1
alle Formeln F1 , F2 folgern?
– Ja, dank Substitutionslemma
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
∧ ¬F2 für
Folie 23
Das Substitutionslemma
• Wir formalisieren „Variablen konsistent durch
Formeln ersetzen“ durch den Begriff der
Substitution
• Eine Substitution S ist eine Funktion
AV → AL
• Für eine Substitution S und eine Formel F
sei S(F ) die Formel, die aus F entsteht,
indem jede in F vorkommende Variable X
durch S(X) ersetzt wird
Beispiel
• Sei F = ¬(A ∨ B)
• Sei S(A) = (A1 ∧ B), S(B) = B
• Dann: S(F ) = ¬((A1 ∧ B) ∨ B)
Lemma 2.3 (Substitutionslemma)
Ist S eine Substitution und gilt F1
gilt auch S(F1 ) ≡ S(F2 )
≡ F2 , so
Beweisidee
• Sei für eine Belegung α die Belegung αS
definiert durch: αS (X) =def α(S(X))
• Dann gilt für alle F, α, S :
α(S(F )) = αS (F )
(Der Beweis lässt sich durch Induktion
nach der Struktur von F führen)
➨ Für jede Belegung α gilt:
α(S(F1 )) = αS (F1 )
= αS (F2 )
(F1 ≡ F2 )
= α(S(F2 ))
• Bemerkung:
– Wir schreiben meistens S(X) nur für
die relevanten Variablen auf
– Für alle übrigen Variablen X gelte dann
stillschweigend S(X) = X
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 24
Das Ersetzungslemma
• Wenn wir in einer Formel F eine Teilformel G1
durch eine äquivalente Teilformel G2 ersetzen,
erhalten wir dann eine zu F äquivalente Formel?
– Ja: Ersetzungslemma
Beispiel
• Wir wissen: ¬(A ∨ B) ≡ ¬A ∧ ¬B
• Wir wollen daraus zum Beispiel folgern:
¬(A ∨ B) ∧ C ≡ (¬A ∧ ¬B) ∧ C
Lemma 2.4 (Ersetzungslemma)
• Sei F1 eine Formel, in der eine Teilformel G1
vorkommt
• Sei G1 ≡ G2
• Sei F2 die Formel, die aus F1 entsteht, indem (ein
Vorkommen von) G1 durch G2 ersetzt wird
• Dann gilt: F1 ≡ F2
• Ohne Beweis
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 25
Äquivalenzen der Aussagenlogik
Satz 2.5
• Für aussagenlogische Formeln F, F1 , F2 , F3
• Der Beweis erfolgt jeweils wie folgt:
– Beweise die Äquivalenz für den
Fall Fi = Ai durch Aufstellen
der Wahrheitstabelle
– Folgere den allgemeinen Fall
dann mit dem
Substitutionslemma (Ai 7→ Fi)
gelten:
Kommutativität
– F1 ∧ F2 ≡ F2 ∧ F1
– F1 ∨ F2 ≡ F2 ∨ F1
Assoziativität
– (F1 ∧ F2 ) ∧ F3 ≡ F1 ∧ (F2 ∧ F3 )
– (F1 ∨ F2 ) ∨ F3 ≡ F1 ∨ (F2 ∨ F3 )
Idempotenz
– F ∧F ≡F
– F ∨F ≡F
Absorption
– F1 ∧ (F1 ∨ F2 ) ≡ F1
– F1 ∨ (F1 ∧ F2 ) ≡ F1
Distributivität
– F1 ∨ (F2 ∧ F3 ) ≡ (F1 ∨ F2 ) ∧ (F1 ∨ F3 )
– F1 ∧ (F2 ∨ F3 ) ≡ (F1 ∧ F2 ) ∨ (F1 ∧ F3 )
Doppelnegation
– ¬¬F ≡ F
De Morgansche Regeln
– ¬(F1 ∧ F2 ) ≡ ¬F1 ∨ ¬F2
– ¬(F1 ∨ F2 ) ≡ ¬F1 ∧ ¬F2
Logik für Inf. / Schwentick / WiSe 07/08
• Wegen der Assoziativität können wir
schreiben:
– F1 ∧ F2
∧ F3 statt
F1 ∧ (F2 ∧ F3 )
– F1 ∨ F2 ∨ F3 statt
F1 ∨ (F2 ∨ F3 )
• Außerdem:
– Statt F1 ∧ · · · ∧ Fn schreiben
Vn
wir auch:
i=1 Fi
A: Aussagenlogik - 2. Grundlagen
∨ · · · ∨ Fn schreiben
Wn
wir auch:
i=1 Fi
– Statt F1
Folie 26
Normalformen der Aussagenlogik: NNF
• Normalformen beschreiben Formeln, die
Beweisskizze
bestimmte syntaktische Eigenschaften
haben
• Durch Induktion nach der Struktur von F
• Wir betrachten drei Normalformen:
– Negations-Normalform
– Konjunktive Normalform
– Disjunktive Normalform
• Eine AL-Formel F ist in
Negations-Normalform (NNF), falls sie
Negationszeichen nur unmittelbar vor
Variablen enthält
Beispiel
• A1 ∨ ¬(A2 ∨ ¬A3 ) ist nicht in NNF
• A1 ∨ (¬A2 ∧ A3 ) ist in NNF
Satz 2.6
• Zu jeder AL-Formel F gibt es eine
äquivalente Formel F 0 in NNF
Logik für Inf. / Schwentick / WiSe 07/08
lässt sich zeigen, dass der folgende
Algorithmus eine solche Formel F 0
berechnet
Algorithmus NNF
Eingabe: AL-Formel F
Ausgabe: AL-Formel F 0 ≡ F in NNF
1: case F ist von der Form
2: ¬¬G:
3:
RETURN NNF(G)
4: ¬(F1 ∨ F2 ):
5:
RETURN NNF(¬F1 ) ∧ NNF(¬F2 )
6: ¬(F1 ∧ F2 ):
7:
RETURN NNF(¬F1 ) ∨ NNF(¬F2 )
8: F1 ∨ F2 :
9:
RETURN NNF(F1 ) ∨ NNF(F2 )
10: F1 ∧ F2 :
11:
RETURN NNF(F1 ) ∧ NNF(F2 )
12: 0,1, X , oder ¬X :
13:
RETURN F
A: Aussagenlogik - 2. Grundlagen
Folie 27
Normalformen der Aussagenlogik: KNF und DNF
• Ein Literal L ist eine Formel von der Form
X oder ¬X mit X ∈ AV
• Eine disjunktive
Wk Klausel ist eine
Disjunktion i=1 Li von Literalen
• Eine konjunktive
Vk Klausel ist eine
Konjunktion i=1 Li von Literalen
• Eine AL-Formel F ist in konjunktiver
Normalform (KNF), falls sie eine
Konjunktion disjunktiver Klauseln ist
• Eine AL-Formel F ist in disjunktiver
Normalform (DNF), falls sie eine Disjunktion
konjunktiver Klauseln ist
Logik für Inf. / Schwentick / WiSe 07/08
Beispiel
•
•
•
•
¬A2 ist ein (negatives) Literal
A3 ist ein (positives) Literal
¬¬A1 ist kein Literal
(A1 ∨A2 ∨¬A4 )∧(¬A3 ∨A4 )∧A3
ist in KNF
• ¬A3 ∨(A1 ∧A2 )∨(A3 ∧A2 ∧¬A1 )
ist in DNF
• Zusätzlich vereinbaren wir:
– Die Formeln 0 und 1 sind in KNF und
•
DNF
Beobachtung: KNF-Formeln und
DNF-Formeln sind auch in NNF
A: Aussagenlogik - 2. Grundlagen
Folie 28
Berechnung der KNF
Beweisskizze
Satz 2.7
• Sei F eine AL-Formel
• Dann gibt es eine zu F äquivalente
KNF-Formel F1 und eine zu F
äquivalente DNF-Formel F2
• F1 und F2 können durch einen
Algorithmus berechnet werden
• Wir geben einen Algorithmus zur
Berechnung von F1 an:
Algorithmus KNF
Eingabe: AL-Formel F
Ausgabe: AL-Formel F 0 ≡ F in KNF
1: Bringe F in NNF
2: if F ist von der Form F1 ∧ F2 then
3:
RETURN KNF(F1 ) ∧ KNF(F2 )
4: if F lässt sich schreiben als
F1 ∨ (F2 ∧ F3 ) then
5:
RETURN
KNF(F1 ∨ F2 ) ∧ KNF(F1 ∨ F3 )
6: else
7:
RETURN F
• Die Korrektheit des Algorithmus lässt sich
durch Induktion nach der Länge von F
beweisen
• Bemerkung: der Algorithmus lässt eine
➨
Logik für Inf. / Schwentick / WiSe 07/08
gewisse Wahlfreiheit
das Ergebnis ist nicht eindeutig bestimmt
A: Aussagenlogik - 2. Grundlagen
Folie 29
KNF: Beispiel-Berechnung
Beispiel
• Sei F = (A ↔ (B ∧ ¬C)) ∧ (¬B → A)
(aus [KuK])
• Ersetzung der Abkürzungen ↔ und → ergibt:
((A ∧ (B ∧ ¬C)) ∨ (¬A ∧ ¬(B ∧ ¬C))) ∧ (B ∨ A)
• NNF:
((A ∧ (B ∧ ¬C)) ∨ (¬A ∧ (¬B ∨ C)))∧(B ∨ A)
• Die Formel ist von der Form F1 ∧ F2 und F2 = B ∨ A ist schon in KNF
➞ Es genügt F1 =((A ∧ (B ∧ ¬C))∨(¬A ∧ (¬B ∨ C))) weiter zu
bearbeiten
F1 ist von der Form F1
∨ (F2 ∧ F3 )
•
➞ ((A ∧ (B ∧ ¬C)) ∨ ¬A)∧((A ∧ (B ∧ ¬C)) ∨ (¬B ∨ C))
• Diese Formel ist von der Form F10 ∧ F20 , deshalb werden die beiden Teilformeln
unabhängig weiter behandelt
• Aus F10 = ((A ∧ (B ∧ ¬C)) ∨ ¬A) wird im nächsten Schritt
(A ∨ ¬A)∧((B ∧ ¬C) ∨ ¬A)
• Die rechte Teilformel davon wird schließlich zu (B ∨ ¬A) ∧ (¬C ∨ ¬A)
• Aus F20 = (A ∧ (B ∧ ¬C)) ∨ (¬B ∨ C) wird
(A ∨ (¬B ∨ C))∧((B ∧ ¬C) ∨ (¬B ∨ C))
• Die rechte Teilformel davon wird schließlich zu
(B ∨ ¬B ∨ C) ∧ (¬C ∨ ¬B ∨ C)
• Insgesamt: (A ∨ ¬A) ∧ (B ∨ ¬A) ∧ (¬C ∨ ¬A)∧
(A ∨ ¬B ∨ C) ∧ (B ∨ ¬B ∨ C) ∧ (¬C ∨ ¬B ∨ C) ∧ (B ∨ A)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 30
NNF, DNF, KNF: Bemerkungen
Beweisskizze
Wk
• Die Berechnung der DNF verläuft analog
• Sei F = i=1 Fi eine DNF-Formel für
• Bei der Umwandlung einer Formel F in NNF
Parity(A1 , . . . , An)
ist die Ziel-Formel F 0 nicht viel größer als
➨ Jede Klausel Fi enthält alle Variablen
F : |F 0| ≤ 2|F |
– Denn: angenommen Aj ist nicht in Fi
• Die Umwandlung in DNF oder KNF kann zu
– Sei α eine Belegung, die Fi wahr
einem wesentlich größeren Zuwachs führen
• Sei Parity(A1 , . . . , An) wahr genau
dann, wenn eine ungerade Anzahl der Ai
wahr ist
➨
macht
Die Belegung α0 , in der der Wert für
Aj geändert wird, macht F auch wahr
Widerspruch!
Satz 2.8
(a) Jede KNF-Formel F für
Parity(A1 , . . . , An) hat mindestens
2n−1 Klauseln
(b) Jede DNF-Formel F für
Parity(A1 , . . . , An) hat mindestens
2n−1 Klauseln
Logik für Inf. / Schwentick / WiSe 07/08
• Es gibt 2n−1 Belegungen der Variablen,
die F wahr machen
➨ Für jede dieser Belegungen gibt es eine
andere Klausel
➨ Behauptung
• KNF: analog
A: Aussagenlogik - 2. Grundlagen
Folie 31
Zusammenfassung
•
•
•
•
Beispiele der Modellierung mit Aussagenlogik
Syntax und Semantik der Aussagenlogik
Wahrheitstabellen
Wichtige Grundbegriffe wie „erfüllbar“, „allgemein
gültig“
• Äquivalenzen der Aussagenlogik
• Normalformen:
– Negations-Normalform
– Disjunktive Normalform
– Konjunktive Normalform
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 32
Schlussbemerkungen
Notationsunterschiede
• Die Vorlesung verwendet teilweise eine andere Notation als das
Buch [KuK]
• Die (neuen) Notationsunterschiede werden jeweils am Ende
eines Kapitels zusammengestellt
• (Falls Ihnen weitere Unterschiede auffallen, bitte melden...)
KuK
Hier
M
M̂
⇒
AV
Bemerkungen
AL
→
→ ist allgemein üblich - ⇒ wird in der Vorlesung als Metasymbol verwendet
⇔
↔
dito
Quellen
[MG ] Das Minesweeper-Beispiel ist der Logik-Vorlesung von Martin
Grohe (HU Berlin) entnommen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 2. Grundlagen
Folie 33
Herunterladen