Logische Strukturen

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