BuK-Übung09 G1

Aus ProgrammingWiki
Archivierte Version vom 2011-05-31T12:30:59+00:00. Aktuelle Version

Inhaltsverzeichnis

\beta-Konversion

Aufgabenstellung

Reduzieren Sie den \lambda-Ausdruck (\lambda x. x x)((\lambda z. z y) x) durch mehrfache Anwendung der \beta-Regel. Verfolgen Sie alle möglichen Anwendungsstellen (sog. \beta-Redexe).

Lösung

Scheme

Aufgabenstellung

Evaluieren Sie den folgenden Scheme-Ausdruck durch Handrechnung.

((lambda (x) (* x (+ 2 x)))((lambda (x)(* x x)) 3))

Überprüfen Sie das Ergebnis anschließend am Rechner.

Lösung

Umbenennung ungebundener Variablen

Aufgabenstellung

Evaluieren Sie den folgenden Ausdruck: ((\lambda x. (\lambda y. (x y)))(y w)). Hinweis: Falsch wäre (\lambda y. ((y w) y)).

Lösung

\alpha-Konversion

Aufgabenstellung

Kann die gebundene Variable x in (\lambda x. (+ x 3)) beliebig umbenannt werden? Geben Sie zwei Antworten: eine konkrete auf den Ausdruck bezogene und eine verallgemeinerte.

Lösung

Curryfication

Aufgabenstellung

Lösung