Blatt-2007 - TU Ilmenau

Werbung
TU Ilmenau, Fakultät IA
Institut TI, FG Komplexitätstheorie und Effiziente Algorithmen
Priv.-Doz. Dr.rer.nat.habil. K.-H. Niggl
http://www.tu-ilmenau.de/fakia/akkt.html
K
Polynomialzeit im Kontext funktionaler Programmierung
Übungsblatt 2, SS07
Aufgabe 1 (Denotationale und operationale Semantik für konkrete Terme)
Geben Sie geschlossene Terme tmult und texp des Typs ι → ι → ι an und beweisen Sie dafür
(durch geeignete Induktionen) folgende Eigenschaften:
N : [[tmult]] m n = m · n
(b) ∀m, n ∈ N : [[texp ]] m n −→∗ 2m+n
(a) ∀m, n ∈
Aufgabe 2 (Äquivalenz und gebundene Umbenennung)
Zeigen Sie (für beliebige Terme r und Umgebungen ϕ):
(a) Sind t, t0 äquivalente Terme des Typs σ, so gilt [[r[t/xσ ]]]ϕ = [[r[t0 /xσ ]]]ϕ .
(b) Ist r0 eine gebundene Umbenennung von r, so gilt [[r0 ]]ϕ = [[r]]ϕ .
Aufgabe 3 (Verträglichkeit von → mit Substitution)
Zeigen Sie: Aus ~s −→ ~s 0 folgt t[~s/~x] −→∗ t[~s 0 /~x].
Aufgabe 4 (Church-Numerale und erweiterte Polynome)
Für einen beliebigen Typ σ und f σ→σ , xσ sei f n x := f (. . . (f x) . . .) mit n Vorkommen von f .
Inσ := λf σ→σ λxσ . f n x
◦σ := λf σ→σ g σ→σ λxσ . f (gx)
Im einfach getypten λ-Kalkül, d.h. in T ohne die Konstanten 0, S, Rσ , kann man die natürlichen
Zahlen n als Church-Numerale n des Typs nat := (ι → ι) → ι → ι einführen:
n := λf ι→ι λxι . f n x
N
N
Eine Funktion f : k →
heißt λ-definierbar, falls es einen geschlossenen λ-Term tf des Typs
nat → nat → . . . → nat → nat ((k+1)–mal nat) gibt, so daß für alle n1 , . . . , nk ∈ gilt:
N
tf n1 . . . nk −→∗ f (n1 , . . . , nk )
Zeigen Sie:
σ f ) (I σ f ) −→∗ λxσ . f m+n x
(a) ◦σ (Im
n
σ I σ −→∗ I σ
(b) ◦σ→σ Im
n
m·n
(c) Die folgenden Funktionen sind λ-definierbar: Addition, Multiplikation, alle konstanten
Funktionen Cal , alle Projektionen Πni und die Fallunterscheidung cases.
(d) Die λ-definierbaren Funktionen sind abgeschlossen unter Einsetzung.
2
Polynomialzeit im Kontext funktionaler Programmierung
Übungsblatt 2, SS07
Hinweis: Durch Analyse der Struktur normaler λ-Terme kann man zeigen, daß dies genau die
λ-definierbaren Funkionen sind. Diese Funktionen bezeichnet man als die erweiterten Polynome.
Aufgabe 5 (Die Struktur geschlossener, normaler λ-Terme)
τm , wobei r, r , . . . r
Ein normaler λ-Term ist von der Gestalt λxσ .r oder y τ1 →···→τm →σ r1τ1 . . . rm
1
m
(m ≥ 0) ebenfalls normale λ-Terme sind.
Wir sagen τ kommt strikt links in σ vor, in Zeichen τ ⊂l σ, falls σ = σ1 → σ2 und (τ ⊆l σ1 oder
τ ⊂l σ2 ), wobei ⊆l für ⊂l oder = steht.
Zeigen Sie:
(a) Für alle normalen λ-Terme tσ und alle xτ ∈ Var(t) gilt: τ ⊂l σ oder τ ⊆l ρ für ein y ρ ∈ FV(t)
(b) Jeder geschlossene, normale λ-Term tnat ist ein Church-Numeral.
Hinweis: (a) zeigt man durch Induktion über den Aufbau normaler λ-Terme. (b) folgt aus (a),
wobei man beachte, daß Church-Numerale n bis auf 1 normal sind, denn 1 −→η λf nat→nat .f .
Man identifiziert daher 1 mit dem normalen λ-Term λf nat→nat .f .
Herunterladen