Zu Teil a): Gefragt war hier aber nur die Substitution anzuwenden, was in der Lösung von Herrn Schneider nach Zeile 2 kommt ist dann noch das Auswerten des Ausdrucks die nur bei Aufgabenteil b) gefordert war.
Beim Auswerten kann man die Umbenennung wie in Zeile 3 machen um die zwei "x"-Variablen besser voneinander unterscheiden zu können. Die Umbenennung ist aber nicht notwendig. Von Zeile 3 bis 4 kann man noch mehr Zwischenschritte machen:
= (fun x -> (fun y -> y) x) (fun f -> f x)
= (fun x -> y[x/y]) (fun f -> f x)
= (fun x -> x) (fun f -> f x)
= x[(fun f -> f x)/x]
= (fun f -> f x)
Die Frage zu Teil b hatte ich ja schon in der ursprünglichen Frage beantwortet.