Gepostet: |
Reduzieren von Lambda-Ausdrücken | ||||||||||
a) (λ x . x x) (λ a b c . c b a b c) (λ x . f x x) (f x) y b) (λ x . x ) ((λ a b c . b ( a b c )) (λ f x . f (f x))) c) (λ s . ( λ z . s ( s ( z ))))(λ w x y . x ( w x y ))(λ a . (λ b . b)) Sind diese Lösungen richtig??? a)(\\ x . x x) (\\ a b c . c b a b c) (\\ x . f x x) (f x) y =>((\\abc.cbabc)(\\abc.cbabc))(\\x.fxx)(fx)y =>((\\abc.cbabc)(\\mno.onmno))(\\x.fxx)(fx)y =>(\\bc.cb(\\mno.onmno)bc)(\\x.fxx)(fx) y =>(\\c.c(\\x.fxx)(\\mno.onmno)(\\x.fxx)c)(fx) y =>((fx)(\\x.fxx)(\\mno.onmno))(\\x.fxx))fx)y b) (\\ x . x ) ((\\ a b c . b ( a b c )) (\\ f x . f (f x))) =>(\\abc.b(abc))(\\fx.f(fx)) =>(\\bc.b((\\fx.f(fx))bc)) =>\\bc.b.((\\x.b(bx))c) =>\\bc.b(b(bc)) c) (\\ s . ( \\ z . s ( s ( z ))))(\\ w x y . x ( w x y ))(\\ a . (\\ b . b)) =>(\\z.(\\wxy.x(wxy))((\\wxy.x(wxy))(z)))(\\a(\\b.b)) =>(\\wxy.x(wxy))(\\wxy.x(wxy))(\\a(\\b.b)) =>(\\xy.x((\\wxy.x(wxy))xy))(\\a.(\\b.b)) =>(\\y.(\\a.(\\b.b))((\\wxy.x(wxy))(\\a.(\\b.b))y) =>(\\y.(\\b.b)(\\a.(\\b.b))y) =>(\\y.(\\a.(\\b.b))y) |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Das kannst du hier testen: http://ellemose.dina.kvl.dk/~sestoft/lamreduce/lamframes.html Statt Lambda einen Backslash schreiben. |
|||||||||||
Zum Seitenanfang | |||||||||||