我正在尝试了解 lambda 演算和丘奇数字的基础知识。我已经进行了大量的阅读和练习,但我似乎一直试图了解某些函数是如何工作的。
我坚持的例子如下。也许有人可以解释我哪里出了问题。
1 的丘奇数可以表示为:
λf. λx. f x
The exponentiation function on Church numerals (mn) can be given as:
λm. λn. n m
All I want to do is show that by applying the exponentiation function to 1 and 1, I get back 1, since 11 = 1. I am doing this, so I understand better how these functions work. My working is as follows and I get stuck every time:
// Exp (1 1)
(λm. λn. n m) (λf1. λx1. f1 x1) (λf2. λx2. f2 x2)
// Substitute for m
(λn. n (λf1. λx1. f1 x1)) (λf2. λx2. f2 x2)
// Substitute for n
(λf2. λx2. f2 x2) (λf1. λx1. f1 x1)
// Substitute for f2
(λx2. (λf1. λx1. f1 x1) x2)
// Substitute for f1
λx2. (λx1. x2 x1)
我被困住了。我都失去了f
的,剩下x
是唯一的,我还没有回来。我哪里错了?
我哪里错了?
无处!你完成了。请记住,变量名称并不重要;重要的是变量名称。重要的是结构。名字f
or x2
没有意义。重要的是如何使用它们。 1 的教堂数字是
λf. λx. f x
你有
λx2. (λx1. x2 x1)
Rename x2
to f
and x1
to x
瞧!你有
λf. (λx. f x)
= λf. λx. f x
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)