Lambda-Kalkül Beta-Äquivalenz < Haskell < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 12:02 Di 27.01.2009 | Autor: | ManuelR |
Aufgabe | Es seien
I = [mm] \lambda [/mm] x.x
K = [mm] \lambda [/mm] xy.x
S = [mm] \lambda [/mm] xyz.xz(yz)
B = [mm] \lambda [/mm] xyz.x(yz)
C = [mm] \lambda [/mm] xyz.xzy
Beweisen oder widerlegen Sie:
(a) S (K S) K [mm] \gdw^{\*}_{\beta} [/mm] B
(b) B (B I) (B K I) [mm] \gdw^{\*}_{\beta} [/mm] C I |
Hallo,
ich habe ein Problem mit der genannten Aufgabe. Ich habe mir schon einige Folien und Scripte zum Lambda-Kalkül angesehen, und habe nun auch verstanden wie ich eine Einfache Beta-Ersetzng hinbekomme (also [mm] (\lambda [/mm] x.E)(A) werden ja alle x in E durch A ersetzt)
Allerdings weiss ich nicht genau wie das geht wenn nach dem lambda mehr als eine Variable steht (also bei B aus der Aufgabe [mm] \lambda [/mm] xyz.x(yz))
Wie muss ich das da ersetzen? Wird dann jedes vorkommen von (xyz) in E ersetzt oder jede Variable einzeln oder wie geht das?
Ich hoffe meine Frage war verständlich.
Gruß Manuel
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:20 Fr 30.01.2009 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|