Unterlagen zur Aussagenlogik

Werbung
1
Aussagenlogik, Syntax
Das Alphabet der Sprache der Aussagenlogik besteht erstens aus den Aussagenvariablen“ p1 , p2 , . . .
”
und zweitens aus den Junktoren ∧, ∨, ¬, →, ↔ (bei Bedarf auch noch aus weiteren Junktoren wie
zB ←), sowie den Klammern, und den Zeichen > und ⊥.
Formeln (in Infixnotation) sind so definiert: Formeln sind gewisse Zeichenfolgen (Strings), die
Symbole aus dem Alphabet enthalten, und zwar die folgenden:
1. Aussagenvariable sind Formeln,
2. > und ⊥ sind Formeln.
3. Wann immer A und B Formeln sind, dann sind auch die folgenden Strings Formeln:
– (A ∧ B), die Konjunktion von A und B (manchmal auch (A&B) geschrieben).
– (A ∨ B), die Disjunktion von A und B
– (A → B), die Implikation
– (A ↔ B), die Äquivalenz von A und B.
– (¬A), die Negation von A
4. Das sind alle Formeln. Anders gesagt: WANN IMMER E( · ) eine Eigenschaft von Zeichenfolgen
ist, und erstens E(pi ) für alle pi gilt, sowie auch E(>) und E(⊥), und zweitens gilt: Wenn
”
E(A) und E(B), dann auch E(A ∧ B), E(A ∨ B), etc“, DANN gilt E(A) für alle Formeln A.
Man kann zeigen, dass Formeln eindeutig lesbar“ sind; das heißt, jede Formel hat genau eine der
”
angegebenen Formen (Aussagenvariable, Konjunktion, Disjunktion, etc), und die Bestandteile der
Formel sind eindeutig bestimmt (zB kann (A ∧ B) = (A0 ∧ B 0 ) für Formeln A und B nur dann gelten,
wenn A = A0 und B = B 0 ist).
Varianten
In der Postfixschreibweise schreibt man statt (A ∧ B) die Formel AB∧ (analog für die anderen Junktoren), in Prefixschreibweise schreibt man ∧AB. Statt A ∧ (A → C) schreibt man dann AAC→∧
bzw. ∧A→AC.
2
Aussagenlogik, Semantik
Eine Wahrheitsfunktion ist eine Funktion w,
1. deren Wertebereich ran(w) in der Menge {0, 1} enthalten ist
2. deren Definitionsbereich dom(w) in der Menge aller Formeln enthalten ist, und unter Unterformeln abgeschlossen ist (d.h., wenn (A ∧ B) ∈ dom(w), dann auch A ∈ dom(w), B ∈ dom(w),
3. und die mit Junktoren richtig“ umgeht:
”
• w(A ∧ B) = 1 wenn w(A) = 1 und w(B) = 1 [und w(A ∧ B) = 0 sonst]
• w(A ∨ B) = 0 wenn w(A) = 0 und w(B) = 0 [und w(A ∨ B) = 1 sonst]
• w(¬A) = 1 wenn w(A) = 1 [und w(¬A) = 0 sonst]
• w(A → B) = 0 wenn w(A) = 1 und w(B) = 0 [und w(A → B) = 1 sonst]
• w(A ↔ B) = 1 wenn w(A) = w(B) [und w(A ↔ B) = 0 sonst]
• w(>) = 1, w(⊥) = 0.
Spezielle Wahrheitsfunktionen sind die Belegungen, das sind Wahrheitsfunktionen, die nur auf (manchen) Aussagenvariablen definiert sind.
Offensichtlich (?) gilt: Jede Belegung b, die auf allen Variablen definiert ist, läßt sich auf eindeutige
Weise zu einer totalen Wahrheitsfunktion b̄ fortsetzten. Der Wert b̄(A) hängt nur von den Werten
b(pi ) ab, für jene pi die in A vorkommen. Jede partielle Belegung b läßt sich auf eindeutige Weise
zu einer Wahrheitsfunktion fortsetzen, die auf all jenen Formeln definiert ist, die nur Variable aus
dom(b) verwenden.
Statt b̄(A) = 1 sagen wir auch b macht A wahr“, oder b erfüllt A“. Manchmal schreibt man
”
”
auch b |= A“.
”
1
Wir nennen eine Formel A Tautologie“, wenn b̄(A) = 1 für alle Belegungen b ist. (Hier muss man
”
offenbar nur jene endlichen vielen Belegungen b untersuchen, die auf den Variablen von A definiert
sind.)
A heißt Kontradiktion“ oder unerfüllbar“, wenn (¬A) Tautologie ist. A heißt erfüllbar, wenn
”
”
”
es eine Belegung b mit b̄(A) = 1 gibt.
Die Bedeutung einer Formel A ist eine Funktion, und zwar jene Abbildung σ, die jeder Belegung
b (der Variablen in A) den Wert b̄(A) zuordnet.
3
Folgerung und Äquivalenz
Wir schreiben A ⇒ B ( B folgt aus A“), wenn für alle Belegungen gilt: wenn b̄(A) = 1, dann b̄(B) = 1.
”
Anders ausgedrückt: wenn es keine Belegung b mit b̄(A) = 1 und b̄(B) = 0 gibt.
Wieder anders ( algebraisch“) ausgedrückt: Wenn für alle Belegungen b die Ungleichung b̄(A) ≤ b̄(B)
”
gilt.
Wenn B eine Tautologie ist, dann gilt automatisch A ⇒ B. Auch wenn A eine Kontradiktion ist,
gilt automatisch A ⇒ B.
Beachten Sie: A ⇒ B ist eine (Meta-)Aussage über die beiden Formeln A und B. A und B sind
in der Objektsprache, A ⇒ B“ in der Metasprache.
”
Die Formel A → B liegt in der Objektsprache. Man sieht leicht (Übung), dass A → B genau dann
eine Tautologie ist, wenn A ⇒ B“ gilt.
”
A ⇔ B heißt b̄(A) = b̄(B) für alle b. In diesem Fall heißen A und B äquivalent. Statt ⇔ schreibt
man oft auch ≡.
A ⇔ B gilt genau dann, wenn sowohl A ⇒ B als auch B ⇒ A gilt.
A ⇒ B gilt genau dann, wenn A ⇔ A ∧ B.
Statt > ⇒ B schreibt man manchmal auch nur ⇒ B. Statt A ⇒ ⊥ schreibt man manchmal auch
nur A ⇒.
4
CNF, DNF
Wir schreiben A ∨ B ∨ C als Abkürzung für ((A ∨ B) ∨ C), analog für längere Disjunktionen oder
auch Konjunktionen.
Jede Aussagenvariable, und jede Formel der Form (¬pi ) heißt Literal“. A heißt Klausel“ wenn
”
”
A entweder die Form ⊥ (leere Disjunktion) hat, oder A ein Literal ist (einelementige Disjunktion),
oder A von der Form L1 ∨ · · · ∨ Lk ist, wobei L1 , . . . , Lk Literale sind.
Eine duale Klausel ist entweder > oder ein Literal oder eine Konjunktion L1 ∧· · ·∧Lk von Literalen.
Eine Formel A ist in konjunktiver Form“, wenn A eine Konjunktion von Klauseln ist (wobei auch
”
die leere Konjunktion > und die einelementige Konjunktion zugelassen sind.
Eine Formel A ist in disjunktiver Form“, wenn A eine Disjunktion von dualen Klauseln ist (wobei
”
auch die leere Disjunktion > und die einelementige Disjunktion zugelassen sind.
Eine Formel A ist in konjunktiver Normalform“ (CNF oder KNF), wenn es eine natürliche Zahl
”
n ≥ 0 gibt, sodass A in konjunktiver Form ist, wobei alle vorkommenden Klauseln C aus n Literalen
bestehen: C = L1 ∨ · · · Ln , und in jeder Klausel das i-te Literal (für alle i = 1, . . . , n) entweder pi
oder (¬pi ) ist.
Beispiel: (p1 ∨ p2 ) ∧ (p1 ∨ (¬p2 )) ist in CNF.
Analog ist DNF definiert. Gelegentlich werden die Ausdrücke DNF und CNF auch für die Begriffe
verwendet, die wir oben konjunktive Form“ bzw ”disjunktive Form“ genannt haben.
”
Zu jeder Formel A erhält man eine äquivalente Formel A0 in DNF in folgender Weise: Sei n so groß,
dass alle Variablen von A unter p1 , . . . , pn vorkommen. Zu jeder Belegung b mit b̄(A) = 1 definieren
wir eine duale Klausel Cb , die b beschreibt:
Cb = (Lb,1 ∧ · · · ∧ Lb,n ),
wobei Lb,i = pi wenn b(pi ) = 1, und wobei Lb,i = (¬pi ), wenn b(pi ) = 0. In jedem Fall ist also
b̄(Lp,i ) = 1, somit b̄(Cb ) = 1. Außerdem gilt für jede Belegung b0 (der Variablen p1 , . . . , pn ):
(∗) b̄0 (Cb ) = 1 genau dann, wenn b = b0 .
Sei nun A0 die Disjunktion über alle Cb mit b̄(A) = 1. Mit Hilfe von (∗) zeigt man leicht, dass
b̄(A) = b̄(A0 ) für alle b ist.
Ähnlich kann man zu jeder Formel A eine äquivalente Formel A∗ in konjunktiver Normalform
finden, indem man im obigen Algorithmus 0 mit 1 und ∧ mit ∨ vertauscht.
2
Herunterladen