Logik und Diskrete Strukturen (Sommer 2017) Prof. Dr. Ulrich Hertrampf Übung 21 Wir wenden den Algorithmus an auf das folgende konkrete Beispiel: F = (¬A ∨ ¬B ∨ ¬D) ∧ ¬E ∧ (¬C ∨ A) ∧ C ∧ B ∧ (¬G ∨ D) ∧ G Diese Formel hat 6 atomare Formeln - d.h. eine Wahrheitstafel hätte 64 Zeilen. Andererseits handelt es sich um eine Hornformel, und es ist klar, dass der Hornformel-Algorithmus maximal 6 Schleifendurchläufe braucht. Wir haben zwei Zielklauseln, drei Axiome und die Klauseln (¬C ∨ A) und (¬G ∨ D). Also markieren wir zuerst die atomaren Formeln B, C , G . Danach können wir wegen (C → A) die atomare Formel A markieren, und wegen (G → D) wird die atomare Formel D markiert. Im nächsten Durchgang stoppen wir wegen der Zielklausel (A ∧ B ∧ D → 0). Unsere Ausgabe ist unerfüllbar. Einheit 10 – Folie 10.0 – 04.05.2017 Logik und Diskrete Strukturen (Sommer 2017) Prof. Dr. Ulrich Hertrampf 1.4 Endlichkeitssatz Der Endlichkeitssatz lautet: M sei eine (unendliche) Menge von Formeln F1 , F2 , F3 , . . . . Dann gilt: M ist genau dann erfüllbar, wenn jede endliche Teilmenge von M erfüllbar ist. Beweis: Die Implikation von links nach rechts ist trivial. Für die Rückrichtung nehmen wir an, dass alle endlichen Teilmengen von M erfüllbar sind. Nun müssen wir zeigen, dass auch die ganze Menge M erfüllbar ist. Zu diesem Zweck betrachten wir folgende Teilmengen von M: Mn := {F ∈ M | In F kommen nur atomare Formeln Ai mit i ≤ n vor.} n Mn kann unendlich sein, aber es können maximal 22 viele vom Wahrheitswertverlauf her unterschiedliche Formeln in Mn vorkommen! Einheit 10 – Folie 10.1 – 04.05.2017 Logik und Diskrete Strukturen (Sommer 2017) Prof. Dr. Ulrich Hertrampf Zum Beweis Nun wählen wir aus jeder Äquivalenzklasse in Mn eine Formel aus. Das ist eine endliche Menge, für die (nach Vor.) ein Modell existiert. jede Formel aus Mn ist zu einer der Dieses Modell erfüllt auch Mn . Denn Formeln aus dieser endlichen Menge äquivalent. Das so erhaltene Modell für Mn nennen wir An . Beachte: An ist auch Modell für Mi , wenn i < n. Denn Mi ⊆ Mn . Wir fassen zusammen: Es gibt für jedes n ein Modell, das alle Formeln aus M erfüllt, deren atomare Formeln aus der Menge {A1 , . . . , An } sind. Wir brauchen aber mehr: Wir suchen ein universelles Modell A, das für alle n sämtliche Formeln aus Mn erfüllt. Einheit 10 – Folie 10.2 – 04.05.2017 Logik und Diskrete Strukturen (Sommer 2017) Prof. Dr. Ulrich Hertrampf Das Modell A Wie kommen wir von den vorliegenden partiellen Modellen An zu dem gesuchten universellen Modell A? Wir definieren A(An ) sukzessive für i = 1, 2, 3, . . . , wobei anfangs A(An ) für alle n undefiniert sein soll. Die Menge I sei auf I = N \ {0} initialisiert. Führe nun folgendes für n = 1, 2, 3, . . . durch: Gibt es unendlich viele i ∈ I mit Ai (An ) = 1? Wenn ja: Setze A(An ) = 1, sonst A(An ) = 0. Entferne aus I alle Indizes i, für die Ai (An ) definiert, aber Ai (An ) 6= A(An ) ist. Man sieht, dass damit A(An ) für alle n definiert ist. Wenn wir nun zeigen können, dass A ein Modell für M ist, ist der Beweis fertig. Beachte allerdings, dass man A(An ) nicht unbedingt effektiv berechnen kann. 04.05.2017 Einheit 10 – Folie 10.3 – Logik und Diskrete Strukturen (Sommer 2017) Prof. Dr. Ulrich Hertrampf Warum ist A ein Modell für M? Wir bemerken, dass für die Indexmenge I zu jedem Zeitpunkt gilt: Für alle n, für die A(An ) bereits definiert ist, gilt A(An ) = Ai (An ) für alle i ∈ I . Die Gleichung gilt dann auch für alle nachfolgenden Zeitpunkte, denn die Menge I wird ja nur noch ausgedünnt, nie erweitert. Umgekehrt gilt auch A(Aj ) = Ai (Aj ) für alle i ∈ I und j ≤ n. Können wir daraus die Sicherheit ziehen, dass A Modell für M ist? Wir müssen also für eine beliebige Formel F ∈ M, etwa F = Fk , zeigen, dass A(F ) = 1 gilt. Einheit 10 – Folie 10.4 – 04.05.2017 Logik und Diskrete Strukturen (Sommer 2017) Prof. Dr. Ulrich Hertrampf Warum ist A(Fk ) = 1? Sei m der höchste Index einer atomaren Formel, die in Fk vorkommt. Im m-ten Durchgang unserer Definition von A bekommt Am den Wert A(Am ) zugeordnet. Nach unserer Bemerkung von der vorigen Folie gibt es auf jeden Fall ein i ∈ I , für das gilt: i > m und A(Aj ) = Ai (Aj ) für alle j ≤ i. Insbesondere gilt also A(Aj ) = Ai (Aj ) für alle j ≤ m, also auch A(F ) = Ai (F ) = 1 Damit ist der Beweis komplett. Einheit 10 – Folie 10.5 – 04.05.2017 Logik und Diskrete Strukturen (Sommer 2017) Prof. Dr. Ulrich Hertrampf Kein Algorithmus Die Definition des Modells A aus dem angegebenen Verfahren (auf Folie 11.3) ist korrekt. Man beachte aber: Das angegebene „Verfahren“ ist KEIN Algorithmus, d.h. wir können es nicht in endlicher Zeit ausführen. Man sagt auch, die Konstruktion sei nicht effektiv. Und noch eine Bemerkung: Durch den Satz können wir die Unerfüllbarkeit einer unendlichen Formelmenge nachweisen, indem wir eine endliche unerfüllbare Teilmenge finden – für die Erfüllbarkeit geht das nicht so! Einheit 10 – Folie 10.6 – 04.05.2017