Übungen zu Grundbegriffe der Mathematischen Logik Hausaufgabenteil der Prüfung mit Lösungen Teil I Rekursionstheorie Aufgabe 1. elche (totale) unktion f : N 2 N wird von dieser Registermaschine berechnet? Lösung: f(x, y) = max(x, y). 0: I R 2 = 0 THEN GOTO 1 ELSE GOTO 2 4: R 0 := R 0 + 1 Aufgabe 2. Der Programmierer hat sich bei der Eingabe des obigen Programms in Zeile 0 vertippt. Das Resultat ist die folgende Registermaschine M: 0: I R 2 = 0 THEN GOTO 1 ELSE GOTO 4 4: R 0 := R 0 + 1 wahr () oder falsch ()? M stoppt genau dann, wenn am Anfang R 2 = 0 ist. M berechnet die Identität id: N N, d.h. id(n) = n. M berechnet eine totale unktion von N 2 nach N. M berechnet eine partielle unktion g von N 3 nach N, so dass g(a, b, c) = max(a, b) wann immer g(a, b, c) definiert ist. Antwort Kommentar: enn am Anfang R 2 = 0 ist, dann bleibt das auch so, und die fehlerhafte Stelle wird nie erreicht. Andernfalls gerät das Programm in eine Schleife, in der R 2 nicht verändert wird. Das Programm ist offensichtlich für eine zweistellige unktion geschrieben, aber nach den formalen Definitionen kann man es auch als k-stellig auffassen für beliebiges k. ie immer wird dann am Anfang R i = 0 gesetzt für alle i > k. Es gilt max(n, 0) = n = id(n). Aufgabe 3. Hier sollten Sie insgesamt 12 Antworten geben. wahr (), falsch () oder sinnlos (S)? prim. rek. rek. rek. aufzb. Jedes Polynom p: N k N ist... S enn g : N 3 N primitiv rekursiv ist, f(x, 0) = 2x S und f(x, y + 1) = g(y, f(x, y), x), dann ist f... Die Ackermannfunktion A: N 2 N ist... S Die Menge {(x, y, z) N 3 y 2 x } ist... Sinnlos bedeutet, dass die Behauptung nicht einmal falsch ist. Beispiel: Jede reelle Zahl ist gleichschenklig. Kommentar: Eine Menge ist laut Definition in der Vorlesung primitiv rekursiv, wenn ihre charakteristische unktion es ist.
Teil II Prädikatenlogik Sei L = {R} die Sprache der Graphen, wobei R ein zweistelliges Relationssymbol ist. ir fassen (gerichtete) Graphen (allenfalls mit Schleifen, allenfalls unendlich) als L-Strukturen G = (G, R G ) auf. Hierbei ist G die Menge der Knoten und (a, b) R G gilt genau dann, wenn es eine Kante von a nach b gibt. Aufgabe 4. ir betrachten die folgenden vier Graphen: G 1 = (N, R G ) mit R G = {(a, b) N 2 b = a + 1}. G 4 (G 1 ist ein gerichteter Graph. Die gezeichneten Kanten in den Abbildungen sind ungerichtet, d.h. jede von ihnen steht für zwei entgegengesetzt gerichtete Kanten.) wahr () oder falsch ()? i = 1 i = 2 i = 3 i = 4 G i = xyz(r(x, y) R(y, z) R(x, z)) gilt für... G i = wxyz(r(w, x) R(x, y) R(y, z) R(z, w)) gilt für... G i = wxyz(w x w y w z x y x z y z) gilt für... Kommentar: Jeder der Graphen hat eine Kante aber keine Schleifen. Daher ist die erste ormel (Transitivität) für keinen der Graphen erfüllt. ür die zweite ormel genügt schon die Existenz einer Kante, weil dann sogar wxyz(r(w, x) R(x, y) R(y, z) R(z, w) w = y x = z) erfüllt ist. Aufgabe 5. Zeichnen Sie zwei nicht isomorphe Graphen, die beide die folgende L-Aussage erfüllen: G i = x( R(x, x)) xy(r(x, y) R(y, x)) wxyz ( R(w, x) R(x, y) R(y, z) R(z, w) u(u = w u = x u = y u = z) ). Kommentar: Gerichtet, ohne Schleifen, mit einem eg der Länge 4, der auch Überschneidungen erlaubt, und keinen Knoten von außerhalb des egs. Die ersten drei Lösungen enthalten jeweils nur die Kanten des egs. Die Liste ist vollständig. Aufgabe 6. Geben Sie für jeden Graphen G i eine ormel ϕ i an, so dass G i = ϕ j i = j. G 0 G 1 ϕ 0 x yz(y z R(x, y) R(x, z)) ϕ 1 x y( R(x, y)) ϕ 2 x 1... x 6 (x 1 x 2 x 1 x 3... x 5 x 6 R(x 1, x 2 ) R(x 2, x 3 )... R(x 5, x 6 )) ϕ 3 uxyz(x y x z y z R(u, x) R(u, y) R(u, z)) Kommentar: Die ormeln sind natürlich nur (möglichst einfache) Beispiele. ϕ 0 : Jeder Knoten hat mindestens Grad 2. ϕ 1 : Es gibt mindestens einen isolierten Knoten. ϕ 2 : Es gibt mindestens einen (überschneidungsfreien!) Pfad der Länge 5. ϕ 3 : Es gibt mindestens einen Knoten vom Grad 3. ormeln der Art ϕ 0 ϕ 1 ϕ 2 ϕ 3 sind eine Art Joker, den man für den schwersten all einsetzen kann.
Übungen zu Grundbegriffe der Mathematischen Logik Ungerade Seriennummern, mit Lösungen Teil I Rekursionstheorie Aufgabe 1. elche (totale) unktion f : N 2 N wird von dieser Registermaschine berechnet? 0: I R 1 = 0 THEN GOTO 6 4: R 0 := R 0 + 1 1: I R 2 = 0 THEN GOTO 6 5: GOTO 0 Lösung: f(x, y) = min(x, y). Aufgabe 2. Das obige Programm wurde aus einem alten Buch eingescannt. Dabei kam es zu einem ehler in Zeile 0. Das Resultat ist die folgende Registermaschine M: 0: I R 1 = 0 THEN GOTO 0 4: R 0 := R 0 + 1 1: I R 2 = 0 THEN GOTO 6 5: GOTO 0 wahr () oder falsch ()? M berechnet eine totale unktion von N 2 nach N. M stoppt genau dann, wenn am Anfang R 1 = 0 ist. M berechnet eine partielle unktion h von N 3 nach N, so dass h(a, b, c) genau dann definiert ist, wenn a > b. M berechnet eine partielle unktion g von N 2 nach N, so dass g(a, b) = min(a, b) wann immer g(a, b) definiert ist. Antwort Kommentar: Das Programm stoppt genau dann, wenn der ehler (sofortige Endlosschleife) nicht erreicht wird. Der ehler wird bspw. erreicht wenn am Anfang R 1 = 0 ist, aber auch, wenn R 1 mindestens so früh wie R 2 Null wird, d.h. falls am Anfang R 1 R 2 gilt. Sonst wie Hausaufgabe. Aufgabe 3. Hier sollten Sie insgesamt 12 Antworten geben. wahr (), falsch () oder sinnlos (S)? prim. rek. rek. rek. aufzb. Jede stetig differenzierbare unktion f : R k R ist... S S S enn f : N 3 N rekursiv ist, g(0, y) = f(y, 0, y) und S g(x + 1, y) = f(x, y, g(x, y)), dann ist g immer... Die totale unktion h: N 2 N, definiert durch h(0, y) = y! + y + 7, S h(x + 1, 0) = h(x, 1), h(x + 1, y + 1) = h(x, h(x + 1, y)) ist... Jede Menge der orm A \ B mit A primitiv rekursiv und B rekursiv aufzählbar ist... Kommentar: Zeile 1 ist etwas verunglückt, weil Jakob Kellner in der Vorlesung das Problem der Erweiterung der Definitionen auf reelle unktionen kurz angesprochen hatte; es gibt aber keine allgemein bekannten Standarddefinitionen. In Zeile 2 steht eine primitive Rekursion, wie in der Hausaufgabe. Die rekursiven unktionen sind unter primitiver Rekursion abgeschlossen, aber wenn man mit einer unktion anfängt, die selbst nicht einmal primitiv rekursiv ist, kann man natürlich im Allgemeinen keine primitive Rekursivität erwarten. Die unktion in Zeile 3 ist wie die Ackermannfunktion definiert, nur mit größeren Startwerten. Insbesonders ist das keine primitive Rekursion! Nach der Church-Turing-These muss die unktion natürlich rekursiv sein. Aber es gibt keinen Grund anzunehmen, dass sie primitiv rekursiv ist, und weil sie schneller wächst als die Ackermannfunktion ist sie das auch nicht. Zeile 4: enn B rekursiv aufzählbar aber nicht rekursiv ist, dann ist nicht einmal N \ B rekursiv aufzählbar. 1
Teil II Prädikatenlogik Sei L = {R} die Sprache der Graphen, wobei R ein zweistelliges Relationssymbol ist. ir fassen (gerichtete) Graphen (allenfalls mit Schleifen, allenfalls unendlich) als L-Strukturen G = (G, R G ) auf. Hierbei ist G die Menge der Knoten und (a, b) R G gilt genau dann, wenn es eine Kante von a nach b gibt. Aufgabe 4. ir betrachten die folgenden vier Graphen: G 1 = (N, R G ) mit R G = {(a, b) N 2 a ist Teiler von b}. G 4 (G 1 ist ein gerichteter Graph. Die gezeichneten Kanten in den Abbildungen sind ungerichtet, d.h. jede von ihnen steht für zwei entgegengesetzt gerichtete Kanten.) wahr () oder falsch ()? i = 1 i = 2 i = 3 i = 4 G i = xyz(r(x, y) R(y, z) R(x, z)) gilt für... G i = wxyz(r(w, x) R(x, y) R(y, z) R(z, w)) gilt für... G i = wxyz(w x w y w z x y x z y z) gilt für... Kommentar: R in G 1 ist eine partielle Ordnung, also transitiv. R in G 1 ist außerdem reflexiv, so dass dort auch die ormel in der zweiten Zeile gilt. Ansonsten alles genau wie in der Hausaufgabe. Aufgabe 5. Zeichnen Sie zwei nicht isomorphe Graphen, die beide die folgende L-Aussage erfüllen: G i = x( R(x, x)) xy(r(x, y) R(y, x)) x(x = x) ( w xyz x y x z y z R(w, x) R(w, y) R(w, z) ) u(r(w, u) u = x u = y u = z) Lösung: Hier gab es unendlich viele mögliche Lösungen. Die meisten Teilnehmer haben gemerkt, dass aus Aufgabe 4 eine Lösung ist. Die einfachste Variation bestand darin, den unzusammenhängenden Graphen zu nehmen, der aus zwei Kopien von besteht. Es gibt aber noch viele weitere Variationsmöglichkeiten wie beispielsweise ein 2n-Eck mit Diagonalen oder ein ürfel. Aufgabe 6. Geben Sie für jeden Graphen G i eine ormel ϕ i an, so dass G i = ϕ j i = j. G 0 G 1 ϕ 0 uxyz(x y x z y z R(u, x) R(u, y) R(u, z)) uxyz(u y x z R(u, x) R(x, y) R(y, z) R(z, u)) ϕ 1 x 1... x 6 (x 1 x 2 x 1 x 3... x 5 x 6 R(x 1, x 2 ) R(x 2, x 3 )... R(x 5, x 6 ) ϕ 2 xy(x y z R(x, z) z R(y, z)) ϕ 3 x y R(x, y) wxyz(w x w y w z x y x z y z R(w, x) R(x, y) R(y, z) R(z, w)) Kommentar: ϕ 0 : Es gibt einen Knoten vom Grad 3, aber keinen Zykel der Länge 4. (Letzteres abgekürzt. Die Abkürzung nutzt aus, dass alle vier Graphen keine Schleifen haben.) ϕ 1 : Es gibt einen (überschneidungsfreien!) eg der Länge 5. (ie ϕ 2 der Hausaufgabe.) ϕ 2 : Es gibt zwei (verschiedene!) isolierte Punkte. ϕ 3 : Es gibt einen isolierten Punkt und einen Zykel der Länge 4. 2
Übungen zu Grundbegriffe der Mathematischen Logik Prüfung am Mittwoch, 16.06.2010 Teil I Rekursionstheorie Aufgabe 1. elche (totale) unktion f : N 2 N wird von dieser Registermaschine berechnet? 0: I R 2 = 0 THEN GOTO 6 4: R 0 := R 0 + 1 Lösung: f(x, y) = min(x, y). Aufgabe 2. Das obige Programm wurde aus einem alten Buch eingescannt. Dabei kam es zu einem ehler in Zeile 0. Das Resultat ist die folgende Registermaschine M: 0: I R 2 = 0 THEN GOTO 0 4: R 0 := R 0 + 1 wahr () oder falsch ()? M berechnet eine totale unktion von N 2 nach N. M stoppt genau dann, wenn am Anfang R 2 = 0 ist. M berechnet eine partielle unktion h von N 2 nach N, so dass h(a, b) = min(a, b) wann immer h(a, b) definiert ist. M berechnet eine partielle unktion g von N 3 nach N, so dass g(a, b.c) genau dann definiert ist, wenn a < b. Antwort Kommentar: Das Programm stoppt genau dann, wenn der ehler (sofortige Endlosschleife) nicht erreicht wird. Der ehler wird bspw. erreicht wenn am Anfang R 2 = 0 ist, aber auch, wenn R 2 mindestens so früh wie R 1 Null wird, d.h. falls am Anfang R 1 R 2 gilt. Sonst wie Hausaufgabe. Aufgabe 3. Hier sollten Sie insgesamt 12 Antworten geben. wahr (), falsch () oder sinnlos (S)? prim. rek. rek. rek. aufzb. Jede stetig differenzierbare unktion f : R k R ist... S S S enn f : N 3 N rekursiv ist, g(0, y) = f(0, y, y) und S g(x + 1, y) = f(x, y, g(x, y)), dann ist g immer... Die totale unktion h: N 2 N, definiert durch h(0, y) = 3y + y + 2, S h(x + 1, 0) = h(x, 1), h(x + 1, y + 1) = h(x, h(x + 1, y)) ist... Jede Menge der orm A \ B mit A primitiv rekursiv und B rekursiv aufzählbar ist... Kommentar: Zeile 1 ist etwas verunglückt, weil Jakob Kellner in der Vorlesung das Problem der Erweiterung der Definitionen auf reelle unktionen kurz angesprochen hatte; es gibt aber keine allgemein bekannten Standarddefinitionen. In Zeile 2 steht eine primitive Rekursion, wie in der Hausaufgabe. Die rekursiven unktionen sind unter primitiver Rekursion abgeschlossen, aber wenn man mit einer unktion anfängt, die selbst nicht einmal primitiv rekursiv ist, kann man natürlich im Allgemeinen keine primitive Rekursivität erwarten. Die unktion in Zeile 3 ist wie die Ackermannfunktion definiert, nur mit größeren Startwerten. Insbesonders ist das keine primitive Rekursion! Nach der Church-Turing-These muss die unktion natürlich rekursiv sein. Aber es gibt keinen Grund anzunehmen, dass sie primitiv rekursiv ist, und weil sie schneller wächst als die Ackermannfunktion ist sie das auch nicht. Zeile 4: enn B rekursiv aufzählbar aber nicht rekursiv ist, dann ist nicht einmal N \ B rekursiv aufzählbar. 1
Teil II Prädikatenlogik Sei L = {R} die Sprache der Graphen, wobei R ein zweistelliges Relationssymbol ist. ir fassen (gerichtete) Graphen (allenfalls mit Schleifen, allenfalls unendlich) als L-Strukturen G = (G, R G ) auf. Hierbei ist G die Menge der Knoten und (a, b) R G gilt genau dann, wenn es eine Kante von a nach b gibt. Aufgabe 4. ir betrachten die folgenden vier Graphen: G 1 = (N, R G ) mit R G = {(a, b) N 2 a b}. G 4 (G 1 ist ein gerichteter Graph. Die gezeichneten Kanten in den Abbildungen sind ungerichtet, d.h. jede von ihnen steht für zwei entgegengesetzt gerichtete Kanten.) wahr () oder falsch ()? i = 1 i = 2 i = 3 i = 4 G i = xyz(r(x, y) R(y, z) R(x, z)) gilt für... G i = wxyz(r(w, x) R(x, y) R(y, z) R(z, w)) gilt für... G i = wxyz(w x w y w z x y x z y z) gilt für... Kommentar: R in G 1 ist eine partielle Ordnung, also transitiv. R in G 1 ist außerdem reflexiv, so dass dort auch die ormel in der zweiten Zeile gilt. Ansonsten alles genau wie in der Hausaufgabe. Aufgabe 5. Zeichnen Sie zwei nicht isomorphe Graphen, die beide die folgende L-Aussage erfüllen: G i = x(x = x) x( R(x, x)) xy(r(x, y) R(y, x)) ( w xyz R(w, x) R(w, y) R(w, z) x y x z y z ) u(r(w, u) u = x u = y u = z) Lösung: Hier gab es unendlich viele mögliche Lösungen. Die meisten Teilnehmer haben gemerkt, dass aus Aufgabe 4 eine Lösung ist. Die einfachste Variation bestand darin, den unzusammenhängenden Graphen zu nehmen, der aus zwei Kopien von besteht. Es gibt aber noch viele weitere Variationsmöglichkeiten wie beispielsweise ein 2n-Eck mit Diagonalen oder ein ürfel. Aufgabe 6. Geben Sie für jeden Graphen G i eine ormel ϕ i an, so dass G i = ϕ j i = j. G 0 G 1 ϕ 0 x y R(x, y) wxyz(w x w y w z x y x z y z R(w, x) R(x, y) R(y, z) R(z, w)) ϕ 1 uxyz(x y x z y z R(u, x) R(u, y) R(u, z)) uxyz(u y x z R(u, x) R(x, y) R(y, z) R(z, u)) ϕ 2 x 1... x 6 (x 1 x 2 x 1 x 3... x 5 x 6 R(x 1, x 2 ) R(x 2, x 3 )... R(x 5, x 6 ) ϕ 3 xy(x y z R(x, z) z R(y, z)) Kommentar: ϕ 0 : Es gibt einen isolierten Punkt und einen Zykel der Länge 4. ϕ 1 : Es gibt einen Knoten vom Grad 3, aber keinen Zykel der Länge 4. (Letzteres abgekürzt. Die Abkürzung nutzt aus, dass alle vier Graphen keine Schleifen haben.) ϕ 2 : Es gibt einen (überschneidungsfreien!) eg der Länge 5. (ie ϕ 2 der Hausaufgabe.) ϕ 3 : Es gibt zwei (verschiedene!) isolierte Punkte. 2