Logik und Diskrete Strukturen Einheit 15 Prof. Dr. Ulrich Hertrampf Übung 31 Zeige, dass es immer ein k gibt, so dass gilt: Res k (F ) = Res k−1 (F ) Man beachte: Da wir in der vorigen Einheit gezeigt haben, dass dann auch alle Res m (F ) mit m > k gleich sind mit Res k−1 (F ) folgt, dass auch Res ∗ (F ) = Res k−1 (F ) gilt. Zur Lösung der Aufgabe: Es sei n die Anzahl der in F vorkommenden atomaren Formeln. Es gibt maximal 4n verschiedene Klauseln (in Mengendarstellung), die aus diesen atomaren Formeln gebildet werden können, da jede der atomaren Formeln nur auf 4 Arten in diesen Klauseln erscheinen kann: positiv oder negativ oder positiv und negativ oder gar nicht Bevor Res i (F ) mit dem Vorgänger erstmals übereinstimmt, wurde in jeder Iteration mindestens eine neue Klausel dazugenommen. Also wird der Vorgang spätestens nach 4n Iterationen abbrechen. 12.11.2015 Winter 2015/16 – Folie 15.1 – Logik und Diskrete Strukturen Einheit 15 Prof. Dr. Ulrich Hertrampf Übung 32 Wie groß ist die Zahl |Res ∗ (F )| höchstens, wenn F eine Formel mit m Klauseln ist, in der nur die atomaren Formeln A1 , . . . , An vorkommen? Die Lösung haben wir schon bei Übung 31 gefunden: |Res ∗ (F )| ≤ 4n denn in der Mengendarstellung gibt es nicht mehr als 4n Klauseln, die als Elemente von Res ∗ (F ) in Frage kommen. Winter 2015/16 – Folie 15.2 – 12.11.2015 Logik und Diskrete Strukturen Einheit 15 Prof. Dr. Ulrich Hertrampf Der Resolutionssatz der Aussagenlogik Satz: Eine Formel F in KNF (dargestellt als Klauselmenge) ist erfüllbar genau dann, wenn 6∈ Res ∗ (F ) gilt. Beweis: Wir zeigen erst die Korrektheit, d.h. ∈ Res ∗ (F ) =⇒ F unerfüllbar Aber nach dem Resolutionslemma ist klar, dass F ≡ Res ∗ (F ). Und ebenso klar ist, dass Res ∗ (F ) unerfüllbar ist, wenn die leere Klausel darin enthalten ist. Also ist auch F unerfüllbar. Winter 2015/16 – Folie 15.3 – 12.11.2015 Logik und Diskrete Strukturen Einheit 15 Prof. Dr. Ulrich Hertrampf Zur Vollständigkeit Es sei F eine unerfüllbare Formel. Wir müssen zeigen, dass die leere Klausel zu Res ∗ (F ) gehört. Nun führen wir eine Induktion über die Anzahl der in F vorkommenden atomaren Formeln durch: Mit 0 atomaren Formeln gibt es nur die Formel F = {}. Hier ist trivialerweise ∈ Res ∗ (F ) gegeben. Nun sehen wir den Satz für Formeln mit Ai (i ≤ n) als bewiesen an und betrachten eine Formel F mit den atomaren Formeln Ai (i ≤ n + 1). Wir bilden F0 und F1 : F0 := {K \ {An+1 } | K ∈ F ∧ ¬An+1 ∈ 6 K} F1 := {K \ {¬An+1 } | K ∈ F ∧ An+1 ∈ 6 K} Dann gibt es zu jeder Klausel K ∈ F0 eine Klausel K̃ ∈ F mit: K̃ = K Analog in F1 mit Winter 2015/16 oder K̃ = K K̃ = K ∪ {An+1 }. oder K̃ = K ∪ {¬An+1 }. – Folie 15.4 – 12.11.2015 Logik und Diskrete Strukturen Prof. Dr. Ulrich Hertrampf Einheit 15 Induktionsschritt Behauptung: Wenn F0 erfüllbar ist, dann ist auch F erfüllbar. (denn: eine erfüllende Belegung für F0 , ergänzt durch den Wert 0 für An+1 ergibt eine erfüllende Belegung für F .) Analog folgt auch aus der Erfüllbarkeit von F1 die von F . Also sind für unerfüllbares F auch F0 und F1 unerfüllbar. Nun liefert uns die Induktionsvoraussetzung: ∈ Res ∗ (F0 ) und ∈ Res ∗ (F1 ) Von der vorigen Folie wissen wir, dass für alle Klauseln K ∈ F0 entweder K selbst oder K ∪ {An+1 } in F vorkommt. Das setzt sich fort auf Res ∗ (F0 ) gegenüber Res ∗ (F ). Das gleiche gilt natürlich auch für F1 mit ¬An+1 anstelle von An+1 . Winter 2015/16 – Folie 15.5 – 12.11.2015 Logik und Diskrete Strukturen Einheit 15 Prof. Dr. Ulrich Hertrampf Induktionsschritt (Forts.) Also erhalten wir wegen ∈ Res ∗ (F0 ) : ∈ Res ∗ (F ) oder {An+1 } ∈ Res ∗ (F ) Und wegen ∈ Res ∗ (F1 ) : ∈ Res ∗ (F ) oder {¬An+1 } ∈ Res ∗ (F ) Wenn hierbei mindestens einmal die linke Relation gilt, sind wir fertig. Wenn aber {An+1 } ∈ Res ∗ (F ) und {¬An+1 } ∈ Res ∗ (F ) gilt, erhalten wir aus diesen beiden Klauseln in einem Resolutionsschritt die leere Klausel, die also auch zu Res ∗ (F ) gehört. Damit ist der Beweis komplett. Winter 2015/16 – Folie 15.6 – 12.11.2015