5 Aug 2009 21:33
Idea about how to simulate variable assignment in lambda calculus
[ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ] I don't know if the idea might be useful for anything or maybe it's not even new (i tried to look for it), but i would like to share it anyways. M,N E Terms ::= x | λx.M | M N | # M # | x := M Reduction rules: Beta: (λx.M) N -> M[N/x] Boundary Removal: # M # -> M (condition: If doesn't exist any variable assignment ':=' inside M) Variable Assignment: (λx1,x2,..,xn.# ... x:=M ... #) V1 V2 ... Vn -> (λx1,x2,..,xn. (λx.# ... I ... #) M) V1 V2 ... Vn where I = Identity = λx.x x:=M becomes I and the variable x becomes binded at the boundary where a redex is created with M as the applied term. *** Important restriction, M should only have variables which are free within the boundary and/or closed terms. More specifically, there(Continue reading)
RSS Feed