BuK/IIm11/BuK-Übung08

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

==Semantik: $\alpha$-Regel==
* Wenden Sie für  (($\lambda$ x. ( $\lambda$ y. ((x y)))(y w)) vor der $\beta$-Reduktion die $\alpha$-Konvention an.

==Semantik: $\eta$-Regel==
* Vereinfachen Sie den Racket-Ausdruck ($\lambda$(z)(($\lambda$(x)($*$ 3 x)) z)).

==Reduktion==
* Reduzieren Sie (($\lambda$(x)(x x))($\lambda$(x) x)) und (($\lambda$(x)(x x))($\lambda$(x)(x x)))
* Zeigen Sie, dass für  Y := ($\lambda$ f. (($\lambda$ x. (f (x x)))($\lambda$ x. (f (x x))))) gilt: (Y g) = (g (Y g))

==Reduktionsreihenfolge==
* Zeigen Sie dass es von der Reduktionsreihenfolge abhängen kann, ob die für (($\lambda$ y. z)(($\lambda$ x. (x x))($\lambda$ x. (x x)))) existierende Normalform z gefunden wird oder nicht.
* Verwenden Sie zur Berechnung von (($\lambda$x. ((x d)(($\lambda$ y. (x y)) a))) b) unterschiedliche Reduktionsreihenfolgen.

==Boolesche Werte==
Berechnen Sie  <tt>if true e1 e2 = e1</tt>.

==Curryzierung==
Currizieren Sie  f(x, y, z) = x + y + z