Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A = (UA , IA ) eine Herbrand-Struktur für F , falls folgendes gilt: 1 UA = D(F ), 2 für jedes in F vorkommende n-stellige Funktionssymbol f und t1 , t2 , . . . , tn ∈ D(F ) ist f A (t1 , t2 , . . . , tn ) = f (t1 , t2 , . . . , tn ). Für jede Herbrand-Struktur A für F und alle t ∈ D(F ) gilt offensichtlich A(t) = t. Ein Herbrand-Modell von F ist eine Herbrand-Struktur für F , die gleichzeitig ein Modell von F ist. Der fundamentale Satz der Prädikatenlogik: Satz Sei F eine Aussage in Skolemform. F ist genau dann erfüllbar, wenn F ein Herbrand-Modell besitzt. 241 Plan des Beweises π : D(F ) → UA t #→ t A t1A = t2A t1 t2 t4A t4 t3 t3A A ! π(D(F )) B = (D(F ), IB ) A |= ∀y1 . . . ∀yn : F ∗ "# $ ! =F A ⇐⇒ A ! (π(D(F ∗ ))) |= ∀y1 . . . ∀yn : F ∗ ⇐⇒ B |= ∀y1 . . . ∀yn : F ∗ 242 F erfüllbar gdw. F hat ein Herbrand-Modell Beweis: Falls F ein Herbrand-Modell hat, ist F natürlich erfüllbar. Sei nun F erfüllbar und sei A = (UA , IA ) ein Modell von F . Falls in F keine Konstante vorkommt, wählen wir uns eine neue Konstante a und ein beliebiges Element m ∈ UA aus und erweitern A durch aA = m (A ist dann immer noch ein Modell von F ). Wir definieren nun eine Herbrand-Struktur B = (D(F ), IB ): • Seien f ein k-stelliges Funktionssymbole aus F und t1 , . . . , tk ∈ D(F ). Um eine Herbrand-Struktur zu konstruieren setzen wir f B (t1 , . . . , tk ) = f (t1 , . . . , tk ) • Sei P ein k-stellige Relationssymbol aus F und seien t1 , . . . , tk ∈ D(F ). Dann setze (t1 , . . . , tk ) ∈ P B : ⇐⇒ (t1A , . . . , tkA ) ∈ P A . 243 F erfüllbar gdw. F hat ein Herbrand-Modell Behauptung 1: Ist G eine quantorenfreie Aussage, die nur Symbole aus F verwendet, so gilt A |= G ⇐⇒ B |= G . Diese Behauptung wird induktiv über den Aufbau von G gezeigt. • G ist atomar, d.h. G = P(t1 , . . . , tk ) für ein Relationssymbol P und variablenfreie Terme t1 , . . . , tk . (beachte: G ist eine Aussage, d.h. G enthält keine freien Variablen). A(G ) = 1 gdw. (t1A , . . . , tkA ) ∈ P A gdw. (t1 , . . . , tn ) ∈ P B gdw. (t1B , . . . , tkB ) ∈ P B gdw. B(G ) = 1 • G = ¬H. A(G ) = 1 gdw. A(H) = 0 gdw. B(H) = 0 gdw. B(G ) = 1 244 F erfüllbar gdw. F hat ein Herbrand-Modell • G = G1 ∧ G2 . A(G ) = 1 gdw. A(G1 ) = 1 und A(G2 ) = 1 gdw. B(G1 ) = 1 und B(G2 ) = 1 gdw. B(G ) = 1 • G = G1 ∨ G2 . völlig analog. Damit ist die Behauptung 1 bewiesen. Behauptung 1: Ist G eine quantorenfreie Aussage, die nur Symbole aus F verwendet, so gilt A |= G ⇐⇒ B |= G . 245 Intermezzo: Beh. 1 gilt nur für quantorenfreie Aussagen Betrachte die Formel F = ∀x : (E (x, x) ∨ x = a). Ein Modell für F : A mit UA = {aA , m} und E A = {(m, m)}. Das konstruierte Herbrand-Modell B: UB = D(F ) = {a} und E B = ∅. Betrachte nun die Formel G = ∀x : ¬E (x, x). Dann gilt B(G ) = 1 und A(G ) = 0. Für allgemeine Formeln in Skolemform (also u.U. mit Quantoren) können wir also Behauptung 1 nicht zeigen, sondern höchstens die folgende Abschwächung: Behauptung 2: Ist G eine Aussage in Skolemform, die nur Symbole aus F verwendet, so gilt A |= G =⇒ B |= G . 246 F erfüllbar gdw. F hat ein Herbrand-Modell Behauptung 2: Ist G eine Aussage in Skolemform, die nur Symbole aus F verwendet, so gilt A |= G =⇒ B |= G . (hieraus folgt dann B |= F , da F die Bedingung der Behauptung erfüllt und wir A |= F haben) Diese Behauptung wird induktiv über die Anzahl n der Quantoren in G bewiesen. Beachte: Da G in Skolemform ist, ist G von der Form ∀y1 · · · ∀yn : H, wobei H keine Quantoren enthält. Induktionsanfang: n = 0: Aus A(G ) = 1 folgt B(G ) = 1 nach Behauptung 1. 247 F erfüllbar gdw. F hat ein Herbrand-Modell Induktionsschritt: Sei G = ∀x : G " . Aus A(∀x : G " ) = 1 folgt für alle d ∈ UA gilt A[x/d] (G " ) = 1 . Wegen {A(t) | t ∈ D(F )} ⊆ UA folgt für alle t ∈ D(F ) gilt A[x/A(t)] (G " ) = 1 . Damit ergibt sich für alle t ∈ D(F ) gilt A(G " [x/t]) = 1 . 248 F erfüllbar gdw. F hat ein Herbrand-Modell Wir haben für alle t ∈ D(F ) gilt A(G " [x/t]) = 1 . Die Terme t ∈ D(F ) sind variablenfrei. Also ist G " [x/t] eine Aussage. Sie ist wieder in Skolemform und hat nur n − 1 Quantoren. Nach der Induktionsvoraussetzung erhalten wir für alle t ∈ D(F ) gilt B(G " [x/t]) = 1 und damit für alle t ∈ D(F ) gilt B[x/B(t)] (G " ) = B[x/t] (G " ) = 1 . Dies besagt aber B(G ) = B(∀x : G " ) = 1. Damit ist Behauptung 2 und damit der Satz bewiesen. 249 Erfüllbarkeit und Herbrand-Modelle damit haben wir gezeigt: Satz Sei F eine Aussage in Skolemform. F ist genau dann erfüllbar, wenn F ein Herbrand-Modell besitzt. 250 Ein Abstecher: Der Satz von Löwenheim und Skolem Eine Menge A ist abzählbar, wenn A endlich ist oder wenn es eine Bijektion N → A gibt. beachte: Das Universum D(F ) einer Herbrand-Struktur ist abzählbar. Satz von Löwenheim und Skolem (1915) Jede erfüllbare Formel der Prädikatenlogik besitzt ein abzählbares Modell (d.h. ein Modell mit abzählbarer Grundmenge). Leopold Löwenheim (1878-1957) Thoralf Skolem (1887-1963) 251 Beweis des Satzes von Löwenheim und Skolem Satz von Löwenheim und Skolem Jede erfüllbare Formel der Prädikatenlogik besitzt ein abzählbares Modell (d.h. ein Modell mit abzählbarer Grundmenge). Beweis: Sei F erfüllbare Formel der Prädikatenlogik. Sei F̄ die erfüllbarkeitsäquivalente Formel in Skolemform, die im Satz auf Folie 231 berechnet wird. Dann ist also auch F̄ erfüllbar. Nach dem Satz auf Folie 241 hat F̄ ein Herbrand-Modell A. Im Beweis des Satzes auf Folie 231 ist insbesondere gezeigt, daß jedes Modell von F̄ auch ein Modell von F ist. Also hat F ein abzählbares Modell (da jedes Herbrand-Modell abzählbar ist). 252 Die Herbrand-Expansion Sei F = ∀y1 ∀y2 . . . ∀yn : F ∗ Aussage in Skolemform. Ziel: Konstruktion einer Menge aussagenlogischer Formeln, die genau dann erfüllbar sind, wenn F ein Herbrand-Modell hat. Die Herbrand-Expansion von F ist die Menge der Aussagen E (F ) = {F ∗ [y1 /t1 ][y2 /t2 ] . . . [yn /tn ] | t1 , t2 , . . . , tn ∈ D(F )} Die Formeln von E (F ) entstehen also aus F ∗ , indem die (variablenfreien) Terme aus D(F ) in jeder möglichen Weise in F ∗ substituiert werden. Wir betrachten die Herbrand-Expansion von F im folgenden als eine Menge von aussagenlogischen Formeln. Die atomaren Formeln sind hierbei von der Gestalt P(t1 , . . . , tn ), wobei P ein in F vorkommendes Prädikatensymbol ist und t1 , . . . , tn ∈ D(F ). 253 Die Herbrand-Expansion Beispiel: F = ∀x∀y : (P(a, x) ∧ ¬R(f (y ))). Das Herbrand-Universum von F ist D(F ) = {a, f (a), f (f (a)), . . . }. Die Herbrand-Expansion von F ist damit E (F ) = {P(a, f m (a)) ∧ ¬R(f (f n (a))) | m, n ≥ 0} Damit ergeben sich als atomare Formeln P(a, f m (a)) für m ≥ 0 und R(f n (a)) für n ≥ 1 Die Belegung B mit B(P(a, f m (a))) = 1 für m ≥ 0 und B(R(f n (a))) = 0 für n ≥ 1 erfüllt offenbar E (F ) im aussagenlogischen Sinn: B(G ) = 1 für alle G ∈ E (F ). Auch die Formel F = ∀x∀y : (P(a, x) ∧ ¬R(f (y ))) ist erfüllbar. Wie der folgende Satz zeigt, ist dies kein Zufall. 254 Satz von Gödel-Herbrand-Skolem Satz von Gödel-Herbrand-Skolem Für jede Aussage F in Skolemform gilt: F ist erfüllbar genau dann, wenn die Formelmenge E (F ) (im aussagenlogischen Sinn) erfüllbar ist. Beweis: Es genügt zu zeigen, daß F = ∀y1 ∀y2 · · · ∀yn : F ∗ genau dann ein Herbrand-Modell besitzt, wenn E (F ) erfüllbar ist: A ist ein Herbrand-Modell für F gdw. für alle t1 , t2 , . . . , tn ∈ D(F ) gilt A[y1 /t1 ][y2 /t2 ]...[yn /tn ] (F ∗ ) = 1 gdw. für alle t1 , t2 , . . . , tn ∈ D(F ) gilt A(F ∗ [y1 /t1 ][y2 /t2 ] . . . [yn /tn ]) = 1 gdw. für alle G ∈ E (F ) gilt A(G ) = 1 gdw. A ist ein Modell für E (F ) (im prädikatenlogischen Sinne) gdw. die Belegung B mit B(P(t1 , . . . , tn )) = 1 ⇐⇒ (t1 , . . . , tn ) ∈ P A ist ein Modell von E (F ) (im aussagenlogischen Sinne) 255 Satz von Herbrand Satz von Herbrand Eine Aussage F in Skolemform ist unerfüllbar genau dann, wenn es eine endliche Teilmenge von E (F ) gibt, die (im aussagenlogischen Sinn) unerfüllbar ist. Beweis: Ummittelbare Folge des Satzes von Gödel-Herbrand-Skolem und des Endlichkeitssatzes der Aussagenlogik (Folie 149). Jacques Herbrand (1908-1931) 256 Algorithmus von Gilmore Sei F eine prädikatenlogische Aussage in Skolemform und sei F1 , F2 , F3 , . . . eine Aufzählung von E (F ). Algorithmus von Gilmore Eingabe: F n := 0; repeat n := n + 1; until (F1 ∧ F2 ∧ . . . ∧ Fn ) ist unerfüllbar; (dies kann mit Mitteln der Aussagenlogik, z.B. Wahrheitstafeln, getestet werden) Gib “unerfüllbar” aus und stoppe. 257 Algorithmus von Gilmore Aus dem Satz von Herbrand folgt: Satz Sei F eine prädikatenlogische Aussage in Skolemform. Dann gilt: • Wenn die Eingabeformel F unerfüllbar ist, dann terminiert der Algorithmus von Gilmore nach endlicher Zeit mit dem Output “unerfüllbar”. • Wenn die Eingabeformel F erfüllbar ist, dann terminiert der Algorithmus von Gilmore nicht, d.h. er läuft unendlich lange. Man sagt auch: Das Unerfüllbarkeitsproblem für prädikatenlogische Formeln ist semi-entscheidbar (mehr dazu in der Vorlesung Berechenbarkeit und Komplexität“) ” 258 Ausblick: Berechenbarkeit und Komplexität Dort werden wir sehen: Es gibt keinen Algorithmus, der als Eingabe eine prädikatenlogische Aussage bekommt, und folgende Eigenschaften hat: • Wenn F erfüllbar ist, dann terminiert der Algorithmus nach endlicher Zeit mit dem Output “erfüllbar”. • Wenn F unerfüllbar ist, dann terminiert der Algorithmus nach endlicher Zeit mit dem Output “unerfüllbar”. Man sagt auch: Das (Un)erfüllbarkeitsproblem für prädikatenlogische Formeln ist nicht entscheidbar. 259 Resolution in der Prädikatenlogik Der Algorithmus von Gilmore funktioniert zwar, ist in der Praxis aber unbrauchbar. Daher ist unser Programm der nächsten Stunden: Wie sieht Resolution in der Prädikatenlogik aus? 260 Wiederholung: Resolution in der Aussagenlogik Resolutionsschritt: {L"1 , . . . , L"m , ¬A} {L1 , . . . , Ln , A} !!!! !!!! !!!! !!! """ " " " """ " " " """" {L1 , . . . , Ln , L"1 , . . . , L"m } Mini-Beispiel: {¬A, B} ## ## ## ## # {A} {¬B} $$ %% $ $ % $$ %% $ $ % %% {B} && % &&& %% &&& % &&& % % &&& && %% ! Eine Klauselmenge ist unerfüllbar genau dann, wenn die leere Klausel abgeleitet werden kann. 261 Anpassung des Algorithmus von Gilmore Algorithmus von Gilmore: Sei F eine prädikatenlogische Aussage in Skolemform und sei {F1 , F2 , F3 , . . .} eine Aufzählung von E (F ). Eingabe: F n := 0; repeat n := n + 1; until (F1 ∧ F2 ∧ . . . ∧ Fn ) ist unerfüllbar; (dies kann mit Mitteln der Aussagenlogik, z.B. Wahrheitstafeln oder Resolution, getestet werden) Gib “unerfüllbar” aus und stoppe. 262 Die Resolutionshülle Res(F ) (Wiederholung) Definition Sei F eine Menge von Klauseln. Dann ist Res(F ) = F ∪ {R | R ist Resolvente zweier Klauseln in F }. Außerdem setzen wir Res 0 (F ) = F Res n+1 (F ) = Res(Res n (F )) % ∗ Res (F ) = Res n (F ). für n ≥ 0 n≥0 Res ∗ (F ) wird auch als die Resolutionshülle von F bezeichnet. 263 Grundresolutionsalgorithmus F sei in Klauselform, d.h. F = ∀y1 ∀y2 · ∀yn : F ∗ , wobei F ∗ in KNF ist. Sei F1 , F2 , F3 , . . . eine Aufzählung der Herbrand-Expansion von F . Wir betrachten F ∗ als eine Menge von Klauseln, dann ist auch jedes Fi eine Menge von Klauseln. Eingabe: eine Aussage F in Klauselform (d.h. F in Skolemform, F ∗ in KNF) i := 0; M := ∅; repeat i := i + 1; M := M ∪ Fi ; M := Res∗ (M) until ! ∈ M Gib unerfüllbar“ aus und stoppe. ” Warum der Name Grundresolution? Im Gegensatz zu späteren Verfahren werden Terme ohne Variable (= Grundterme“) substituiert, um die Formeln der Herbrand-Expansion zu ” erhalten. 264 Grundresolutionssatz Den Grundresolutionsalgorithmus kann man auch in folgenden Grundresolutionssatz umformulieren: Grundresolutionssatz Eine Aussage in Klauselform F = ∀y1 . . . ∀yk : F ∗ ist genau dann unerfüllbar, wenn es eine Folge von Klauseln K1 , . . . , Kn gibt mit der Eigenschaft: • Kn ist die leere Klausel • Für i = 1, . . . , n gilt: • Ki ist eine Grundinstanz einer Klausel K ∈ F ∗ , d.h. Ki = K [y1 /t1 ] . . . [yk /tk ] mit ti ∈ D(F ) • oder Ki ist (aussagenlogische) Resolvente zweier Klauseln Ka , Kb mit a, b < i 265