Lambda Kalkuel: Folgende Ersetzung moeglich ? (alpha- konversion)

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Lambda Kalkuel: Folgende Ersetzung moeglich ? (alpha- konversion)
Folgende Funktion soll ausgewertet werden…erster schritt wär für mich erstmal schoen alles variablen umbenennen gewesen mittels alpha konversion. damit ich keine duplikate in den einzelnen lambda termen habe hinsichtlich variablen namen…geht das =?

das zeichen "(" steht hier fuer das lambda ! (foren text kann ja kein echtes lambda darstellen):
ich verwende eckige klammern statt runden, da sonst es durcheinander aussieht durch das von mir verwendete (- zeichen. ( wären sonst zuviele runde klammern)

[ (\ X Y. [ (\ Z X . X Z Y ] [ (\ Z. XZ ] [ (\ Y X. Y Z ] ]

===>alpha konversion:

[ (\ X Y. [ (\ OP . P O Q ] [ (\ K . N K ] [ (\ A B . A R ] ]

müsste doch eigtl gehen oder? dann hat man viel weniger rumverwirren mit den doppelt vorkommenden variablen benennern…


[quote=nebelwerfer]foren text kann ja kein echtes lambda darstellen[/quote]Unicode ftw! Schon mal “Weitere Zeichen” geklickt und dann ein “l” getippt?

Zusammenhängende Variablen sind markiert:
[m]
(λXY. (λZX. XZY) (λZ. XZ) (λYX.YZ))
12 34 432 5 15 67 68
[/m]
wird also zu
[m]
(λXY. (λAB. BAY) (λC. XC) (λDE.DZ))
xx xx x x xx x
[/m]

Du darfst also nicht wild durch die Gegend ersetzen, sondern musst auch wirklich darauf achten, welche Variablen wo vorkommen und entsprechend umbenennen.


jo, danke !

hatte mir das so wie du es grad beschrieben hast schon gedacht, als ichs mir nochmal durchgelesen hast, insofern war das eine nützliche Bestätigung meiner Zweifel !
Danke clemens!


λ hooray :smiley:


Weisst du zufällig, wer dies implementiert hat? Finde ich eine gute Sache muss mir die Sache mal unter der Motorhaube anschauen…
clebinger


Powered by the Unclassified NewsBoard software, 20090606-dev, © 2003-8 by Yves Goergen
http://newsboard.unclassified.de/


wie sieht dann oben genannter lambda-ausdruck geloest aus?

(λXY. (λZX. XZY) (λZ. XZ) (λYX.YZ))


ich hab:

(λXY. (λZX. XZY) (λZ. XZ) (λYX.YZ))
->a  (λXY. (λZA. AZY) (λZ. XZ) (λYX.YZ))
->β  (λXY. (λA. A(λZ. XZ)Y) (λYX.YZ))
->β  (λXY. ((λYX.YZ)(λZ. XZ) Y))
->a  (λXY. ((λYB.YZ)(λZ. XZ) Y))
->β  (λXY. ((λB.(λZ. XZ)Z) Y))
->β  (λXY. (((λZ. XZ)Z)))
->β  (λXY. XZ)

ich hab dieselbe endgueltige loesung wie du oliver.
und das is auch die richtige endgültige loesung. war heut bei marc.


danke!!