Zertifizierung von fp/flinspace/fpspace für imp
Transcription
Zertifizierung von fp/flinspace/fpspace für imp
TU Ilmenau, Fakultät IA Institut Theoretische Informatik FG Komplexitätstheorie und Effiziente Algorithmen Priv.-Doz. Dr.rer.nat.habil. K.-H. Niggl Zertifizierung von fp/flinspace/fpspace für imp. Programme Ergänzung zu Aufgabe 3 des Übungsblattes (SS13) Betrachten Sie erneut die Paarcodierung π : N × N → N, definiert durch X π(x, y) := i + y. i≤x+y Die Paare (x, y) ∈ N2 erhalten danach eine (eindeutige) Nummer π(x, y) in der Reichenfolge wie sie im folgenden Bild dargestellt ist: (0, 0) (0, 1) (0, 2) (0, 3) ... (1, 0) (1, 1) (1, 2) (1, 3) ... (2, 0) (2, 1) (2, 2) (2, 3) ... (3, 0) (3, 1) (3, 2) (3, 3) ... . .. Um dies besser zu verstehen, bezeichne Dn := {(x, y) ∈ N | n = x + y} die n-te Diagoale in obigem Bild. Nun zeigt man durch vollständige Induktion nach n ≥ 0 die Surjektivität von π: ∀n ∈ N ∃ x, y ∈ N : n = π(x, y) n = 0 Klar, da 0 = π(0, 0). n → n+1 Gelte die I.V. n = π(x, y) für gewisse x, y ∈ N. 1. Fall: x ≥ 1, d.h. (x, y) ist innerer Punkt der Diagonale Dx+y . Es folgt: n+1 ist die Nummer des nächsten Punktes in Dx+y , d.h. n+1 = π(x−1, y+1). 2. Fall: x ≥ 0, d.h. (x, y) ist Endpunkt der Diagonale Dx+y . Nun gilt: n+1 ist die Nummer des esten Punktes der nächsten Diagonale Dy+1+0 , d.h. n+1 = π(y+1, 0). Wendet man dieses Verfahren auf die im Bild gezeigten Anfangsfälle an, so erhalten die Paare (x, y) ∈ N2 tatsächlich eine Nummer π(x, y) in der Reichenfolge wie im Bild dargestellt. Für die Eindeutigkeit der π-Nummern (Injektivität von π) zeigt man separat folgende Aussage: ∀x1 , x2 , y1 , y2 ∈ N : (x1 , y1 ) 6= (x2 , y2 ) =⇒ π(x1 , y1 ) 6= π(x2 , y2 )