BuK/IIm12/Studenten/siclsche/Thema7
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
== Aufgabe 1 == # Implementieren Sie die Prozedur <tt>free</tt> mit Scheme im ProgrammingWiki und wenden Sie sie auf selbst gewählte Beispiele an # Implementieren Sie die Prozedur <tt>bound</tt> mit Scheme im ProgrammingWiki und wenden Sie sie auf selbst gewählte Beispiele an == Aufgabe 2 == Wenden Sie für $((\lambda x. (\lambda y. (x\ y)))(y\ w))$ vor der $\beta$ - Reduktion die $\alpha$ - Konvention an. == Aufgabe 3 == Vereinfachen Sie den Racket-Ausdruck $(\lambda z.((\lambda x.(y \ x))\ z))$. # Verwenden Sie die obige $\eta$-Regel. # Verwenden Sie nur die $\beta$-Regel und vergleichen Sie beide Teilaufgaben-Lösungen miteinander. == Aufagbe 4 == # Zeigen 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))$. == Aufagbe 5 == # 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. == Aufagbe 6 == $ \lambda xy. x$ nennen wir einfach true. $ \lambda xy. y$ nennen wir einfach false. Dann gilt if $\equiv \lambda txy. txy$. (Hinweis: $txy \equiv ((t\ x)y)$) Berechnen Sie if true $e_1\ e_2 = e_1$ == Aufagbe 7 == Currifizieren Sie $f(x,y,z) = x + y + z$. == Aufgabe 8 == Führen Sie == Kreativaufgabe: RAM-Programm ==