1. Zeigen Sie, daß die folgenden Funktionen primitiv

Werbung
1. Zeigen Sie, daß die folgenden Funktionen primitiv-rekursiv sind:
• λx.λy.xy
• λx.b x2 c
Lösung:
• Wie wir aus der Vorlesung wissen ist die Multiplikation f· primitivrekursiv. Da die Exponentiation fexp die folgenden Rekursionsgleichungen erfüllt
fexp (0, x) = 1 = S(N (y))
fexp (y + 1, x) = xy+1 = xy · x = f· (fexp (y, x), x)
ist fexp primitiv rekursiv (da S ◦ N und f· es sind).
• Aus der Vorlesung wissen wir, daß λx.2x primitiv rekursiv ist (Als
Komposition der Multiplikation und S(S(N ))). Ausserdem ist damit
die Funktion g(x, y) = sg(x − 2y). Diese Funktion ist 1, solange y
nicht größer als x2 ist. Wie man leicht einsieht ist
x
X
x
g(x, i) − 1 .
λx.b c =
2
i=0
Die Summe auf der rechten Seite erfüllt aber die Rekursionsgleichung
0
X
g(x, i) = g(x, 0)
i=0
y+1
X
i=0
g(x, i) =
y
X
g(x, i) + g(x, y + 1)
i=0
Py
ist also als Funktion λx, y. i=0 g(x, i) primitiv rekursiv. Also ist
auch λx.b x2 c primitiv rekursiv.
2. Zeigen Sie, daß die Paarungs-Funktion π aus der Vorlesung bijektiv ist.
Folgern Sie ausserdem mit Hilfe von vollständiger Induktion, daß für alle
k
k die Funktionen h·i : Nk → N bijektiv sind.
Lösung:
• Sei π(n, 0) = Tn wie man leicht sieht ist Tn < Tn+1 .
• Des Weiteren gilt
π(x, y) = π(x + y, 0) + y .
Sei jetzt z ∈ N beliebig. Es gibt eindeutige Zahlen n, m, so daß z = Tn + m
mit 0 6 m < n: Sei hierzu n die eindeutig bestimmte natürliche Zahl, so
daß Tn 6 z < Tn+1 und m = z − Tn (Man beachte, daß Tn+1 − Tn = n + 1,
und damit 0 6 m < n). D.h.; aber, daß π(n, m) = π(n + m, 0) + m =
1
Tn + z − Tn = z, und auch, daß m, n die einzigen Zahlen mit dieser
Eigenschaft sind.
Sei nun π(x, y) = π(x0 , y 0 ). Wieder wie oben, bzw. bei der Herleitung der
Formel in den Folien, ist π(x, y) = π(x + y, 0) + y = π(x0 + y 0 , 0) + y 0 . Da
es, wie oben
Der Rest folgt jetzt mit Induktion über k. Der Induktionsanfang k = 2
ist nur die Bijektivität von π wie oben gezeigt. Sei jetzt z ∈ N beliebig.
Da π bijektiv ist gibt es x1 , y ∈ N, so daß π(x1 , y) = z. Des Weiteren,
k
da nach Induktionsannahme h·i surjektiv ist gibt es x2 , . . . , xk+1 , so daß
k
hx2 , . . . , xk+1 i = y. Zusammen haben wir
k+1
hx1 , x2 , . . . , xk+1 i
k
= π(x1 , hx2 , . . . , xk+1 i ) = π(x1 , y) = z .
Also haben wir die Surjektivität gezeigt. Sei jetzt
k+1
hx1 , x2 , . . . , xk+1 i
Also
k+1
= x01 , x02 , . . . , x0k+1
k
k
π(x1 , hx2 , . . . , xk+1 i ) = π(x1 , , x02 , . . . , x0k+1 ) .
Da π injektiv ist ist also x1 = x01 und
k
k
hx2 , . . . , xk+1 i = x02 , . . . , x0k+1
Nach Induktionsvoraussetzung ist jetzt auch noch x2 = x02 , . . . , xk+1 =
x0k+1 .
∗
3
3. (a) Bestimmen Sie h3, 1, 4i und h3, 1, 4i .
∗
(b) Geben Sie ein Beispiel, daß zeigt, daß hi nicht surjektiv ist.
(c) Bestimmen Sie (666)32
Lösung:
3
2
(a) h3, 1, 4i = π(3, h1, 4i ) = π(3, π(1, 4)) = 272 und
D
E3
∗
∗ 3
∗ 3
h3, 1, 4i = 3, 3, h1, 4i
= 3, 3, 2, 1, h4i
=
D
E3 3
D
E 3 3
∗ 3
3
3, 3, 2, 1, 1, 4, hi
= 3, 3, 2, 1, h1, 4, 0i
=
3
3
h3, 3, 1078i = h3, 3, 1078i = 171641455652 .
∗
(b) Wie man leicht sieht ist h0, ni für kein n ∈ N im Bild der Abbildung
∗
(hx1 , . . . , xk i = π(m, z) mit m > 1 für alle k und damit 6= π(0, z).
∗
Der Fall hi = 0 ist ebenfalls ausgeschlossen).
3
(c) (666)32 = π1 (π2 (666)) = π1 (0) = 0. Wie man leicht sieht ist h36, 0, 0i =
π(36, π(0, 0)) = 666.
2
4. Die Folge von Fibonacci Zahlen (Fn ) ist bekanntermaßen
1, 1, 2, 3, 5, 8, 13, 21, . . . ;
d.h. die ersten beiden Fibonacci Zahlen sind 1 und jede weitere Zahl ist
die Summe ihrer zwei Vorgänger. Zeigen Sie, daß die Funktion, die jedem
n die n-te Fibonacci Zahl zuordnet primitiv rekursiv ist.
Tipp: Verwenden Sie Tupelkodierungen indem sie zuerst zeigen, daß die
Funktion g : N → N mit der Eigenschaft g(π(Fn , Fn+1 )) = π(Fn+1 , Fn+2 )
primitiv rekursiv ist.
Lösung:
Die Lösung ist ja schon fast im Tipp gegeben.
5. Sei f : N → N eine totale µ-rekursive Funktion. Zeigen Sie, daß auch die
folgenden beiden Funktionen total und µ-rekursiv sind:
• Die Funktion g : N → N, die jedem n ∈ N das Maximum der Zahlen
f (0), . . . , f (n) zuordnet.
• Die Funktion h : N → N, die jedem n ∈ N eine Zahl m zuordnet, so
dass f (m) das Maximum der Zahlen f (0), . . . , f (n) ist.
Lösung:
• g erfüllt die primitive Rekursion
g(0) = f (0)
g(n + 1) = max g(n), f (n + 1)
Da λm, n. max m, f (n + 1) µ-rekursiv ist, ist somit auch g µ-rekusiv.
• Die Funktion h erhält man ebenfalls durch primitive Rekursion aus
h(0) = 0
h(n + 1) = h(n) + ((n + 1) − h(n))sg (f (n + 1) − f (h(n)))
Zur Erklärung: ist f (n + 1) größer als f (h(n)), also das Maximum
der Werte f (0), . . . , f (n), so ist die Signums-Funktion 1 und damit
ist h(n + 1) = n + 1. Ansonsten ist die Funktion h(n), da f (h(n)) ja
dann auch Maximum der Werte f (0), . . . , f (n + 1) ist.
6. Zeigen Sie, daß für die Ackermann-Funktion gilt: B(n, x) > x für alle n.
Tipp: Zwei geschachtelte Induktionen über n und x.
Lösung:
Wir führen Zunächst eine Induktion über n:
• n = 0: Klar, nach Definition von B.
• n → n + 1: Wiederum mit Induktion über x: Induktionsanfang ist
wieder klar, da B(n + 1, 0) = 1 > 0. Für den Induktionsschritt
x → x + 1 können wir die Rekursiongleichung B(n + 1, x + 1) =
3
B(n, B(n + 1, x)) verwenden. Da wir die Aussage schon für n gezeigt
haben ist dann
B(n + 1, x + 1) = B(n, B(n + 1, x)) > B(n + 1, x) .
Letzteres ist echt größer, nach IV von x als x. Insgesamt haben wir
also
B(n + 1, x + 1) > B(n + 1, x) > x
und damit muss B(n + 1, x + 1) > x + 1 sein.
4
Herunterladen