Lösungsvorschläge Sommersemester 2001 (Stand: 26. 06. 2001) Technische Universität München Institut für Informatik Prof. Tobias Nipkow, Ph.D. Gerwin Klein Blatt 8 Sommersemester 2001 Lösungsvorschläge zu Blatt 8 26. 06. 2001 Übungen zur Logik Aufgabe 1 (Lösungsvorschlag) Wir zeigen zunächst eine Variante des Substitutionslemmas für Terme t, t0 und Variablen x A(t0 [x/t]) = A[x/A(t)](t0 ) durch Induktion über den Aufbau von t0 . Für t0 = y - also eine andere Variable als x - gilt: A(t0 [x/t]) = A(t0 ) = A[x/A(t)](t0 ) Für t0 = x gilt: A(t0 [x/t]) = A(t) = A[x/A(t)](t0 ) Falls t0 die Form t0 = f (t1 , . . . , tn ), n ≥ 0 hat, so gilt - unter Verwendung der Induktionsvoraussetzung für die ti : A(f (t1 , . . . , tn )[x/t]) = = = = = A(f (t1 [x/t], . . . , tn [x/t])) f A (A(t1 [x/t], . . . , A(tn [x/t])) f A (A[x/A(t)](t1 ), . . . , A[x/A(t)](tn )) f A[x/A(t)] (A[x/A(t)](t1 ), . . . , A[x/A(t)](tn )) A[x/A(t)](f (t1 , . . . , tn )) Wir zeigen nun das Substitutionslemma durch Induktion über den Formelaufbau von F . Falls F eine atomare Formel ist, also F = P (t1 , . . . , tn ), so geht der Beweis analog zu dem oben gegebenen (ersetzte f durch P ). Falls F die Form F = (G ∨ H) hat, so gilt Lösungsvorschläge Sommersemester 2001 (Stand: 26. 06. 2001) A(F [x/t]) = 1 gdw. gdw. gdw. gdw. Blatt 8 A(G[x/t] ∨ H[x/t]) = 1 A(G[x/t]) = 1 oder A(H[x/t]) = 1 A[x/A(t)](G) = 1 oder A[x/A(t)](H) = 1 A[x/A(t)](G ∨ H) = 1 Die Fälle F = (G ∧ H) und F = ¬G gehen analog. Habe nun F die Form F = ∃yG, dann gilt: A(F [x/t]) = 1 gdw. gdw. gdw. gdw. es gibt ein u ∈ UA mit A[y/u](G[x/t]) = 1 es gibt ein u ∈ UA mit A[y/u][x/A(t)](G) = 1 es gibt ein u ∈ UA mit A[x/A(t)][y/u](G) = 1 A[x/A(t)](∃yG) = 1 (Bei dieser Umformung wird die Voraussetzung verwendet, daß y in t nicht vorkommt). Der Fall F = ∀y.G geht analog. Aufgabe 2 (Lösungsvorschlag) Zunächst bringen wir ¬F in Skolemform: Bereinigte Form: ¬F ≡ ¬∃x(¬P (x) ∨ ∀y. P (f (y))) Pränexform: ¬∃x(¬P (x) ∨ ∀y. P (f (y))) ≡ ∀x.(P (x) ∧ ∃y¬P (f (y))) ≡ ∀x.∃y(P (x) ∧ ¬P (f (y))) Skolemform: ∀x.(P (x) ∧ ¬P (f (g(x)))) = F 0 (Einführung einer neuen Funktionen g, Skolemform ist gleichzeitig Klauselnormalform) Wir wenden jetzt das in der Vorlesung vorgestellte Verfahren (Algorithmus von Gilmore) an, um zu zeigen, daß F 0 unerfüllbar ist. Dazu können wir für x alle Terme der Grundmenge des Herbrand-Universums substituieren und die entstehenden Formeln mit ∧ verknüpfen. Sobald wir eine unerfüllbare aussagenlogische Formel erhalten, wissen wir, daß die ursprüngliche Formel F 0 unerfüllbar war. Die Grundmenge des Herbrand-Universums D(F 0 ) hat folgende Form: D(F 0 ) = {a, f (a), g(a), f (g(a)), g(f (a)), g(g(a)), f (f (a)), . . .} = {hn (hn−1 (. . . h2 (h1 (a)) . . .)) | n ∈ N0 , hi ∈ {f, g}, i ∈ {1, . . . , n}} Dabei wurde die Konstante a neu eingeführt, da F 0 keine eigenen Konstante besitzt. Wir setzen einmal a und einmal f (g(a)) für x ein und erhalten folgende Formel: P (a) ∧ ¬P (f (g(a))) ∧ P (f (g(a))) ∧ ¬P (f (g(f (g(a))))) Diese aussagenlogische Formel enthält die Teilformel ¬P (f (g(a))) ∧ P (f (g(a))) und ist daher unerfüllbar. Lösungsvorschläge Sommersemester 2001 (Stand: 26. 06. 2001) Blatt 8 Aufgabe 3 (Lösungsvorschlag) G besitzt folgende Skolemform G0 : G0 = ∀x.(P (x) → (Q(f (x)) ∧ R(x, f (x)))) (Dabei wurde f als neue Funktion eingeführt.) Die Strukturen A1 , A2 müssen nun jeweils um eine Interpretation für f erweitert werden, so daß sie auch Modell von G0 sind. (a) Wenn wir für die Prädikatsymbole eine etwas intuitivere Notation wählen, hat G0 folgendes Aussehen: ∀x.(x ≥ 0 → (f (x) ≤ 0 ∧ x + f (x) = 0)) Wir benötige also das Inverse zu x in der Gruppe der ganzen Zahlen mit Addition. Also: f A1 (z) = −z (b) Wieder können wir G0 etwas intuitiver aufschreiben: ∀x.(x > 0 → (f (x) > 0 ∧ x > f (x))) f (z) muß also einen Wert zwischen z und 0 liefern. Im Gegensatz zur Teilaufgabe (a) gibt es jetzt mehrere Möglichkeiten, f zu definieren, z.B. f A2 = 9 z oder f A2 (z) = z 2 10 Aufgabe 4 (Lösungsvorschlag) Wie im Lösungshinweis bereits angedeutet, muß der Algorithmus die Formel von links nach rechts abarbeiten und umformen. Hierbei wird bei jedem Vorkommen eines Quantors festgestellt, ob sich dieser im Wirkungsbereich einer geraden oder ungeraden Anzahl von Negationen befindet. Die zu eliminierenden Quantoren (und dazugehörigen Variablen) sind dann gerade die Existenzquantoren mit einer geraden Anzahl von Negationen und die Allquantoren mit einer ungeraden Anzahl. Für jede zu eliminierende Variable wird – wie bekannt – ein neues Skolem-Funktionssymbol eingeführt und eingesetzt. Die Stelligkeit (und die Art der Variablen-Argumente der Funktion) ergibt sich aus den zuvor nicht eliminierten Quantoren bzw. Variablen.