Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit 75 Erfüllbarkeit von Formelmengen bisher nur Erfüllbarkeit einzelner Formeln betrachtet erweitere Begriff auf Mengen von Formeln Def.: Eine Menge Φ von Formeln heißt erfüllbar, wenn es eine Interpretation I gibt, so dass I |= ϕ für alle ϕ ∈ Φ gilt. Notation: I |= Φ. � Für |Φ| < ∞ ist also Menge Φ erfüllbar gdw. Formel Φ erfüllbar ist. Def. beinhaltet aber auch Fall unendlicher Mengen! Bsp.: • {Ai ↔ ¬Ai+1 | i ∈ N} • {Ai ↔ Ai+2 | i ∈ N} ∪ {A2i ↔ ¬A2i+1 | i ∈ N} Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Motivation: der faule Wecker Kann es einen Wecker mit folgender Spezifikation geben? (D.h. ist folgende Menge von Aussagen erfüllbar?) { irgendwann klingele ich, jetzt klingele ich nicht wann wird diese Menge erst unerfüllbar? } 76 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Erfüllbarkeit und endliche Konsistenz Im folgenden nehmen wir an, dass V nur abzählbar unendlich viele Variablen enthält, also o.B.d.A. V = {A0 , A1 , . . .}. Def.: Eine Menge Φ von Formeln heißt endlich konsistent, wenn für alle Ψ ⊆ Φ mit |Ψ| < ∞ gilt: Ψ ist erfüllbar. beachte: der faule Wecker ist unerfüllbar, aber endlich konsistent! was gilt jeweils (nicht)? Φ erfüllbar und Ψ ⊇ Φ ⇒ Ψ erfüllbar 77 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Der Kompaktheitssatz Theorem 9 Für alle Mengen Φ von Formeln gilt: Φ erfüllbar gdw. Φ endlich konsistent. Anders gesagt: Ist jede endliche Teilmenge einer Menge Φ erfüllbar, so ist auch Φ erfüllbar. Eigentlich nur für |Φ| = ∞ interessant. Wieso? Notation: Ψ ⊆fin Φ gdw. Ψ ⊆ Φ und |Ψ| < ∞ Beweis von “⇒”: Sei I |= Φ, also gilt I |= ϕ für alle ϕ ∈ Φ. Damit ist dann auch I |= Ψ für alle Ψ ⊆ Φ, insbesondere falls Ψ ⊆fin Φ. � 78 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit “⇐” ist schwieriger Beachte: Bei endlich konsistentem Φ kann jedes Ψ ⊆fin Φ verschiedenes Modell haben! Bsp. Φ = {ϕn,m | 0 ≤ n ≤ m} mit ϕn,m = m � Ai i=n Sei Ψ ⊆fin Φ und IΨ definiert durch � 1 , falls min{n | ϕn,m ∈ Ψ} ≤ k ≤ max{m | ϕn,m ∈ Ψ} IΨ (Ak ) = 0 , sonst Beachte: • Für alle Ψ ⊆fin Φ gilt IΨ |= Ψ, aber IΨ �|= Φ. • Es gibt unendliche viele Ψ mit paarweise verschiedenen IΨ . 79 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Lemmas für die Kompaktheit Lemma 1: Ist Φ erfüllbar, so ist Φ ∪ {A} oder Φ ∪ {¬A} erfüllbar. Lemma 2: Ist Φ endlich konsistent, so ist Φ ∪ {A} oder Φ ∪ {¬A} endlich konsistent. Beweis: Ang. Φ ∪ {A} und Φ ∪ {¬A} sind nicht endlich konsistent. Dann ex. unerfüllbare Ψ ⊆fin Φ ∪ {A} und Ψ� ⊆fin Φ ∪ {¬A}. Somit ist auch Θ := Ψ ∪ Ψ� unerfüllbar, und damit auch Θ ∪ {A} und Θ ∪ {¬A}. Dann muss aber bereits Θ \ {{A}, {¬A}} unerfüllbar sein. Da Θ \ {{A}, {¬A}} ⊆fin Φ, ist Φ also nicht endlich konsistent. 80 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Beweis des Kompaktheitssatzes Beweis von “⇐” (“Φ endlich konsistent ⇒ Φ erfüllbar”). Seien A0 , A1 , A2 , . . . Variablen in Φ. Def. simultan Φ0 := Φ, Φi+1 := Φi ∪ {�i } und � Ai , falls Φi ∪ {Ai } endlich konsistent �i := ¬Ai , sonst Mit ob. Lemma und Induktion sind alle Φi endlich konsistent. Definiere I über � 1 , falls �i = Ai I(Ai ) := 0 , falls �i = ¬Ai Behauptung: I |= Φ, also I |= ϕ für alle ϕ ∈ Φ 81 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Beweis des Kompaktheitssatzes Sei ϕ ∈ Φ. Wähle k := max{i | Ai ∈ Var (ϕ)}. Da Φ = Φ0 ⊆ Φ1 ⊆ . . . gilt also ϕ ∈ Φk+1 und somit Ψ := {ϕ, �0 , . . . , �k } ⊆fin Φk+1 Wegen endlicher Konsistenz von Φk+1 ist Ψ erfüllbar. Also ex. I � , so dass I � |= Ψ. Beachte: I(A) = I � (A) für alle A ∈ Var (ϕ) und außerdem I � |= ϕ. Nach Thm. 1 (Wert einer Formel hängt nur von Interpretation der darin vorkommenden Variablen ab) gilt dann I |= ϕ. 82 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Was war jetzt mit dem faulen Wecker? zur Erinnerung: Φ = { irgendwann klingele ich } ∪ { in n min klingele ich nicht | n ∈ N} ist endlich konsistent aber unerfüllbar wie kann das sein? Widerspruch zum Kompaktheitssatz? Kompaktheit hat Konsequenzen für Szenarien, die in Aussagenlogik ausgedrückt werden können 83 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Erste Anwendung des Kompaktheitssatzes Theorem 10 (Königs Lemma) Jeder endlich-verzweigende Baum, in dem Pfade beliebiger Länge existieren, hat einen unendlichen Ast. Beweis: Sei t Baum mit abzählbarer Knotenmenge V und Wurzel w . Angenommen, es gibt Pfade beliebiger Länge in t. Wir schreiben succ(v ) für die unmittelbaren Nachfolger von v . Betrachte � � � � � ϕv := Xv → ExactlyOne(succ(v )) ∧ ¬Xv → ¬Xv � v � ∈succ(v ) und Φ := {Xw } ∪ {ϕv | v ∈ V }. 84 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Beweis von Königs Lemma wir zeigen: jedes Ψ ⊆fin Φ ist erfüllbar Sei Ψ gegeben und d := max{dist(w , v ) | ϕv ∈ Ψ}. Betrachte Ψ� := {X0 } ∪ {ϕv | dist(w , v ) ≤ d} Beachte: Ψ� ⊇ Ψ. Also reicht es aus zu zeigen, dass Ψ� erfüllbar ist. Sei π Pfad der Länge d + 1 in t. Konstruiere Interpretation Iπ wie folgt: � 1 , falls j auf π liegt Iπ (Xj ) = 0 , sonst Beachte: Es gilt Iπ |= Ψ� , also auch Iπ |= Ψ. Nach Kompaktheit ist dann auch ϕ erfüllbar. Sei I Modell von Φ. Unendlicher Pfad in t ist gegeben durch {v | I(Xv ) = 1}. 85 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Zweite Anwendung des Kompaktheitssatzes Kacheln sind Einheitsquadrate mit gefärbten Kanten: Sei K eine endliche Menge von Kacheln. Dies induziert zwei Relationen H und V , die besagen, ob zwei Kacheln horizontal bzw. vertikal aneinanderpassen. Eine K -Kachelung der n × n-Ebene ist eine Funktion κ : {0, . . . , n − 1}2 → K , so dass für alle i = 0, . . . , n − 2, j = 0, . . . , n − 1 gilt: • (κ(i, j), κ(i + 1, j)) ∈ H “horizontal passt alles” • (κ(j, i), κ(j, i + 1)) ∈ V “vertikal passt alles” analog K -Kachelung der unendlichen N × N-Ebene definiert 86 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Beispiel Bsp.: K = K -Kachelung der 3 × 3-Ebene: lässt sich dies zu Kachelung der 4 × 4-Ebene erweitern? lässt sich 4 × 4-Ebene überhaupt mit K kacheln? 87 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Anwendung des Kompaktheitssatzes Theorem 11 Sei K endliche Menge von Kacheln. Wenn jede n × n-Ebene K -kachelbar ist, so ist auch die N × N-Ebene K -kachelbar. Beweis: Benutze Aussagenvariablen Ati,j , i, j ∈ N, t ∈ K mit Bedeutung “das Feld (i, j) ist mit Kachel t belegt” drücke K -Kachelbarkeit der n × n-Ebene aus: ϕn := 88 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Anwendung des Kompaktheitssatzes Beachte: Modelle für ϕn kodieren Kachelung der n × n-Ebene. Sei Φ := {ϕn | n ∈ N}. Satz ist gezeigt, falls Φ erfüllbar ist. “Jede n × n-Ebene ist K -kachelbar.” Also ist jedes ϕn erfüllbar. fertig? Sei Ψ ⊆fin Φ. Dann ist Ψ = {ϕi1 , . . . , ϕik } für ein k ∈ N und i1 < i2 < . . . < ik . Beachte: Wenn m ≤ n, dann ist ϕn → ϕm allgemeingültig. (Intuitiv: n × n-Kachelung liefert auch immer eine m × m-Kachelung.) Da ϕik erfüllbar ist, ist damit auch Ψ erfüllbar. Aus dem Kompaktheitssatz folgt, dass auch Φ erfüllbar ist; erfüllende Belegung induziert Kachelung der N × N-Ebene mit K . 89 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.6 Aussagenlogik – Kompaktheit Fallstrick bei Kompaktheit wichtig bei Anwendung von Kompaktheit: zeige Erfüllbarkeit jeder endlichen Teilmenge Übung: Finde unerfüllbare, unendliche Menge Φ, so dass jede Einermenge {ϕ} ⊆ Φ erfüllbar ist. Übung: Finde unerfüllbare, unendliche Menge Φ, so dass jede Zweiermenge {ϕ1 , ϕ2 } ⊆ Φ erfüllbar ist Hinweis: betrachte n-Damenproblem 90