首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用α归约对lambda演算进行归约

用α归约对lambda演算进行归约
EN

Stack Overflow用户
提问于 2018-11-27 04:52:55
回答 1查看 43关注 0票数 0

我正在尝试完成lambda演算的简化,但是在一个点之后我不能继续。我必须减少值"two two“,其中"two =λfx.f (f x)”

我开始写以下内容:

代码语言:javascript
复制
(λfx.f (f x) two) = λx.two (two x)
                  = λa.two(λfx.f(f x) a)
                  = two(λx.a(a x))
                  = (λfx.f (f x) (λx.a(a x)))

在这一步之后,我开始变得非常困惑,我不知道如何继续下去。我是否必须将第二个λ项应用于第一个λ项的f变量?我试过了,但是没有结果。

EN

回答 1

Stack Overflow用户

发布于 2018-11-27 05:17:21

2 := λfx.f (f x)注意

代码语言:javascript
复制
 2 a    = λx.a (a x)     (i)
(2 a) b = a (a b)        (ii)

因此

代码语言:javascript
复制
2 2 
= λx.2 (2 x)             by (i), a = 2
= λxy.(2 x) ((2 x) y)    by (i), a = (2 x)
= λxy.(2 x) (x (x y))    by (ii)
= λxy.x (x (x (x y)))    by (ii)
= λfx.f (f (f (f x)))
=: 4
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53488889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档