Kapitel 1.3 Normalformen aussagenlogischer Formeln Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1/1 Boolesche Formeln, Literale und Klauseln Eine Boolesche Formel ist eine aussagenlogische Formel, in der die Junktoren → und ↔ nicht vorkommen. Ein Literal λ ist eine Aussagenvariable (λ ≡ A) oder eine negierte Aussagenvariable (λ ≡ ¬A). Eine ∨-Klausel δ ist eine endliche Disjunktion von Literalen (δ ≡ λ1 ∨ · · · ∨ λn , n ≥ 1). Eine ∧-Klausel κ ist eine endliche Konjunktion von Literalen (κ ≡ λ1 ∧ · · · ∧ λn , n ≥ 1). NOTATION: W • i=1,...,n ψi :≡ ψ1 ∨ · · · ∨ ψn Mathematische Logik (WS 2010/11) • V i=1,...,n Kapitel 1.3: Normalformen ψi :≡ ψ1 ∧ · · · ∧ ψn 2/1 Disjunktive und konjunktive Normalformen Eine Boolesche Formel ϕ is in disjunktiver Normalform (DNF), wenn ϕ die endliche Disjunktion von ∧-Klauseln ist: ϕ ≡ κ1 ∨ · · · ∨ κm (m ≥ 1). Eine Boolesche Formel ϕ is in konjunktiver Normalform (KNF), wenn ϕ die endliche Konjunktion von ∨-Klauseln ist: ϕ ≡ δ1 ∨ · · · ∨ δm (m ≥ 1). Disjunktive Normalform: ϕ ≡ W Konjunktive Normalform: ϕ ≡ Mathematische Logik (WS 2010/11) i=1,...,m V κi ≡ W ≡ V i=1,...,m δi Kapitel 1.3: Normalformen i=1,...,m V i=1,...,m j=1,...,ni W j=1,...,ni λi,j λi,j 3/1 Darstellungssatz DARSTELLUNGSSATZ. Zu jeder n-stelligen Booleschen Funktion f kann man effektiv eine Boolesche Formel ϕ in disjunktiver Normalform angeben, sodass V (ϕ) = {A0 , . . . , An−1 } und ϕ die Funktion f darstellt (d.h. fϕ = f gilt). ZUR ERINNERUNG: fϕ (B(A0 ), . . . , B(An−1 )) = B(ϕ) BEWEIS. Die Formel ϕ ist wie folgt definiert: Für jede Eingabekombination (x0 , . . . , xn−1 ) ∈ {0, 1}n definiere die ∧-Klausel κ(x0 ,...,xn−1 ) :≡ λ(0,x0 ) ∧ · · · ∧ λ(n−1,xn−1 ) wobei ( λ(i,xi ) = Ai ¬Ai falls xi = 1 falls xi = 0. Setze ϕ :≡ Mathematische Logik (WS 2010/11) W {(x0 ,...,xn−1 )∈{0,1}n :f (x0 ,...,xn−1 )=1} Kapitel 1.3: Normalformen κ(x0 ,...,xn−1 ) 4/1 Darstellungssatz: Beweis (Fortsetzung) Korrektheit von ϕ: f = fϕ Da f und fϕ Boolesche Funktionen sind, genügt es f (x0 , . . . , xn−1 ) = 1 ⇔ fϕ (x0 , . . . , xn−1 ) = 1 zu zeigen. “⇒” f (x0 , . . . , xn−1 ) = 1 ⇒ κ(x0 ,...,xn−1 ) Teilformel von ϕ ⇒ B(ϕ) = B(κ(x0 ,...,xn−1 ) ) = 1 für die Belegung B(Ai ) = xi ⇒ fϕ (x0 , . . . , xn−1 ) = 1 Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 5/1 Darstellungssatz: Beweis (Abschluss) “⇐” fϕ (x0 , . . . , xn−1 ) = 1 ⇒ B(ϕ) = 1 für B(Ai ) = xi 0 ⇒ ϕ enthält ∧-Klausel κ(x00 ,...,xn−1 ) 0 mit B(κ(x00 ,...,xn−1 ) = 1 ) (da ϕ Disjunktion solcher Klauseln) ⇒ ϕ enthält die ∧-Klausel κ(x0 ,...,xn−1 ) 0 (da B(κ(x00 ,...,xn−1 )) = 1 0 g.d.w. xi = xi für i < n) ⇒ f (x0 , . . . , xn−1 ) = 1 (nach Definition von ϕ) Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 6/1 Darstellungssatz: Beispiel Die EXOR-Funktion ist durch folgende Wertetabelle bestimmt: x0 x1 EXOR(x0 , x1 ) 0 0 0 0 1 1 1 1 0 1 1 0 Sie wird also von der Formel ϕEXOR ≡ (¬A0 ∧ A1 ) ∨ (A0 ∧ ¬A1 ) dargestellt Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 7/1 Folgerungen aus dem Darstellungssatz: Basissatz BASISSATZ. Die Booleschen Funktionen {¬, ∨, ∧} bilden eine Basis der Booleschen Funktionen. BEWEIS. Nach dem Darstellungssatz wird jede Boolesche Funktion von einer Booleschen Formel dargestellt. Es genügt daher zu zeigen, dass sich für jede Boolesche Formel ϕ mit V (ϕ) ⊆ {A0 , . . . , An−1 } die dargestellte n-st. Boolesche Funktionen fϕ,n mit Hilfe der Funktionen ¬, ∨ und ∧ darstellen lässt. Wir zeigen dies durch Induktion nach dem Aufbau von ϕ: 1 ϕ ≡ Ai : fϕ,n (x0 , . . . , xn−1 ) = xi = ∨(xi , xi ) 2 ϕ ≡ ¬ψ: Dann gilt fϕ,n = ¬(fψ,n ). Die Behauptung folgt also aus der I.V. 3 ϕ ≡ ψ0 ∨ ψ1 oder ϕ ≡ ψ0 ∧ ψ1 : Dann gilt fϕ,n = ∨(fψ0 ,n , fψ1 ,n ) bzw. fϕ,n = ∧(fψ0 ,n , fψ1 ,n ). Die Behauptung folgt also wiederum aus der I.V. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 8/1 Folgerungen aus dem Darstellungssatz: Basissatz (Forts.) Der Basissatz kann wie folgt verschärft werden: KOROLLAR ZUM BASISSATZ. Folgende Mengen sind Basen der Booleschen Funktionen: (i) {¬, ∨} (ii) {¬, ∧} (iii) {NOR} (iv) {NAND} BEWEISIDEE. Da {¬, ∨, ∧} eine Basis ist, ist jede Menge {f0 , . . . , fk }, die erlaubt die Funktionen ¬, ∨, ∧ darzustellen, ebenfalls eine Basis. Zum Beispiel genügt es zum Beweis von (i) zu zeigen, dass sich ∧ mit Hilfe von ¬ und ∨ darstellen lässt, was nach DeMorgan wie folgt möglich ist: ∧(x0 , x1 ) = ¬(∨(¬(x0 ), ¬(x1 ))) Beweis der anderen Teile: Übung! Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 9/1 Folgerungen aus dem Darstellungssatz: Normalformsatz NORMALFORMSATZ. Zu jeder al. Formel ϕ kann man effektiv eine äquivalente Formel ϕDNF in disjunktiver Normalform angeben, sodass V (ϕ) = V (ϕDNF ) gilt. BEWEISIDEE. Ersetzt man in äquivalenten Formeln ψ und ψ 0 mit V (ψ) ∪ V (ψ 0 ) = {B0 , . . . , Bn−1 } die paarweise verschiedenen Variablen Bi durch paarweise verschiedene Variablen Ci , so erhält man wiederum äquivalente Formeln (Übung!). Wir können daher o.B.d.A. annehmen, dass V (ϕ) = {A0 , . . . , An−1 } gilt. Es genügt daher fϕ zu bestimmen und als ϕDNF die zugehörige Formel ϕfϕ in DNF aus dem Darstellungssatz zu wählen. Es gilt dann fϕ = fϕDNF und daher ϕ äq ϕDNF . Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 10 / 1 Normalformsatz: alternativer Beweis Der Normalformsatz lässt sich auch direkt ohne Rückgriff auf den Darstellungssatz beweisen (s. Skript für Details): Hierzu überführt man eine al. Formel ϕ zunächst in eine äquivalente Boolesche Formel ϕb (mit derselben Variablenmenge), indem man (induktiv alle) Teilformeln ψ → ψ 0 und ψ ↔ ψ 0 mit Hilfe der Äquivalenzen ψ → ψ 0 äq ¬(ψ) ∨ ψ 0 ψ ↔ ψ 0 äq (¬(ψ) ∨ ψ 0 ) ∧ (¬(ψ 0 ) ∨ ψ) eliminert. NB: Nach der Ersetzungsregel ist das Ergebnis dieser Ersetzungen äquivalent zur Ausgangsformel ϕ! Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 11 / 1 Normalformsatz: alternativer Beweis (Fortsetzung) Durch Anwendung der DeMorganschen Regeln und des Gesetzes der doppelten Negation ¬(ψ ∨ ψ 0 ) äq ¬ψ ∧ ¬ψ 0 ¬(ψ ∧ ψ 0 ) äq ¬ψ ∨ ¬ψ 0 ¬¬ψ äq ψ überführt man dann die Boolesche Formel ϕb in eine äquivalente Boolesche Formel ϕn (mit derselben Variablenmenge), in der das Negationszeichen nur vor Variablen vorkommt. Schließlich eliminiert man in ϕn Vorkommen von ∧ von höherem Rang als Vorkommen von ∨ mit Hilfe der Distributivgesetze ψ ∧ (χ ∨ δ) äq (ψ ∧ χ) ∨ (ψ ∧ δ) (ψ ∨ χ) ∧ δ äq (ψ ∧ δ) ∨ (χ ∧ δ) und erhält so die gewünschte zu ϕ äquivalente Formel ϕDNF in disjunktiver Normalform. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 12 / 1 Konjunktive Normalform Die für die Disjunktive Normalform erzielten Ergebnisse lassen sich ähnlich für die Konjunktive Normalform zeigen: DARSTELLUNGSSATZ (KNF). Zu jeder n-stelligen Booleschen Funktion f kann man effektiv eine Boolesche Formel ϕ in konjunktiver Normalform angeben, sodass V (ϕ) = {A0 , . . . , An−1 } und ϕ die Funktion f darstellt (d.h. fϕ = f gilt). NORMALFORMSATZ (KNF). Zu jeder al. Formel ϕ kann man effektiv eine äquivalente Formel ϕKNF in konjunktiver Normalform angeben, sodass V (ϕ) = V (ϕKNF ) gilt. Da der Normalformsatz (KNF) aus dem Darstellungssatz (KNF) wie der Normalformsatz aus dem Darstellungssatz folgt, genügt es den Darstellungssatz (KNF) zu beweisen. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 13 / 1 Darstellungssatz (KNF): Beweisidee Zu einer Booleschen Funktion f (x0 , . . . , xn ) erhält man die darstellende Formel ϕ in KNF wie folgt: Für jede Eingabekombination (x0 , . . . , xn−1 ) ∈ {0, 1}n definiere die ∨-Klausel δ(x0 ,...,xn−1 ) :≡ λd(0,x0 ) ∨ · · · ∨ λd(n−1,xn−1 ) wobei λd(i,xi ) ( Ai = ¬Ai falls xi = 0 falls xi = 1. Setze ϕ :≡ V Mathematische Logik (WS 2010/11) {(x0 ,...,xn−1 )∈{0,1}n :f (x0 ,...,xn−1 )=0} δ(x0 ,...,xn−1 ) Kapitel 1.3: Normalformen 14 / 1 Darstellungssatz (KNF): Beispiel Die EXOR-Funktion ist durch folgende Wertetabelle bestimmt: x0 x1 EXOR(x0 , x1 ) 0 0 0 0 1 1 1 1 0 1 1 0 Sie wird also von der KNF-Formel ϕEXOR ≡ (A0 ∨ A1 ) ∧ (¬A0 ∨ ¬A1 ) dargestellt. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 15 / 1 Alternative Konstruktion der KNF: Dualitätsprinzip Eine Formel ϕ kann man auch wie folgt in KNF überführen: Überführe die Negation ¬ϕ von ϕ in Disjunktive Normalform: (¬ϕ)DNF Vertausche in (¬ϕ)DNF die Junktoren ∨ und ∧ und ersetze jedes Literal durch das duale Literal (d.h. A durch ¬A und ¬A durch A. Die so erhaltene Formel ist in KNF und äquivalent zu ϕ Die Korrektheit dieser Konstruktion ergibt sich aus dem allgemeineren Dualitätsprinzip: D(ϕ) entstehe aus ϕ durch Vertauschung von ∨ und ∧. (D(ϕ) nennt man die auch die zu ϕ duale Formel) N(ϕ) entstehe aus ϕ, indem vor jede nichtnegierte Aussagenvariable das Neagationszeichen geschrieben wird und bei jeder negierten Aussagenvariable das Negationszeichen gestrichen wird. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 16 / 1 Alternative Konstruktion der KNF: Dualitätsprinzip (Forts.) DUALITÄTSSATZ. (a) ¬ϕ äq D(N(ϕ)) (b) ϕ äq ψ ⇔ D(ϕ) äq D(ψ) Den Dualitätssatz zeigt man durch Induktion nach dem Formelaufbau unter Verwendung der DeMorganschen Gesetze und des Gesetzes der doppelten Verneinung (sowie der Ersetzungsregel): Übung! Wir demonstrieren die Beweisidee nur an Hand eines Beispiels: Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 17 / 1 Dualitätsprinzip: Beispiel Für ϕ :≡ A0 ∨ ¬(A1 ∧ ¬A2 ) ist N(ϕ) ≡ ¬A0 ∨ ¬(¬A1 ∧ A2 ) D(N(ϕ)) ≡ ¬A0 ∧ ¬(¬A1 ∨ A2 ) und es gilt ¬ϕ ≡ äq äq äq ≡ ¬(A0 ∨ ¬(A1 ∧ ¬A2 )) ¬(A0 ∨ (¬A1 ∨ ¬¬A2 )) (DeMorgan) ¬(A0 ∨ (¬A1 ∨ A2 )) (Doppelte Verneinung) ¬A0 ∧ ¬(¬A1 ∨ A2 ) (De Morgan) D(N(ϕ)) Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 18 / 1 Eigenschaften der DNF und KNF Für Formeln in DNF lässt sich die Erfüllbarkeit sehr leicht überprüfen, während sich für Formeln in KNF die Allgemeingültigkeit sehr leicht überprüfen lässt. Sei ϕ in DNF. Dann ist ϕ genau dann erfüllbar, wenn in keiner ∧-Klausel von ϕ eine Variable unnegiert und negiert vorkommt. Sei ϕ in KNF. Dann ist ϕ genau dann allgemeingültig, wenn in jeder ∨-Klausel von ϕ eine Variable unnegiert und negiert vorkommt. Die Frage, ob auch die dualen Aussagen gelten, also ob sich für eine Formel ϕ in KNF “schnell” überprüfen lässt, ob diese erfüllbar ist, ist eines der bedeutendsten offenen Probleme der Mathematik (eines der Millenniumsprobleme; s. nächsten Abschnitt). NB: Eine naheliegende Lösung, nämlich die KNF-Formel ϕ zunächst in eine äquivalente Formel ϕ0 in DNF zu überführen und dann obiges schnelles Verfahren zur Überprüfung der Erfüllbarkeit von Formeln in DNF anzuwenden, funktioniert nicht: Die Überführung in DNF kann (durch Anwendung der Distributivgesetze) die Formel ϕ exponentiell aufblähen, sodass das Verfahren insgesamt exponentiell gemessen in der Länge von ϕ (also sehr langsam) ist. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 19 / 1