Übung 21

Werbung
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
Herunterladen