BuK/IIm10/BuK-Übung09 G1

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

= <math>\beta</math>-Konversion =
== Aufgabenstellung ==
Reduzieren Sie den <math>\lambda</math>-Ausdruck <math>(\lambda x. x x)((\lambda z. z y) x)</math> durch mehrfache Anwendung der <math>\beta</math>-Regel. Verfolgen Sie alle möglichen Anwendungsstellen (sog. <math>\beta</math>-Redexe).

== Lösung ==
= Scheme =
== Aufgabenstellung ==
Evaluieren Sie den folgenden Scheme-Ausdruck durch Handrechnung.

<math>((lambda  (x)  (*  x  (+  2  x)))((lambda  (x)(*  x  x))  3))</math>

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

== Lösung ==
= Umbenennung ungebundener Variablen =
== Aufgabenstellung ==
Evaluieren Sie den folgenden Ausdruck: <math>((\lambda x. (\lambda y. (x y)))(y w))</math>. Hinweis: Falsch wäre <math>(\lambda y. ((y w) y))</math>.

== Lösung ==
= <math>\alpha</math>-Konversion =
== Aufgabenstellung ==
Kann die gebundene Variable <math>x</math> in <math>(\lambda x. (+ x 3))</math> beliebig umbenannt werden? Geben Sie zwei Antworten: eine konkrete auf den Ausdruck bezogene und eine verallgemeinerte.

== Lösung ==
= Curryfication =
== Aufgabenstellung ==
== Lösung ==