[英]Lambda calculus and church numerals confusion
我正在努力理解lambda演算和教會數字的基礎知識。 我一直在做很多閱讀和練習,但我似乎一直在試圖看看一些功能是如何工作的。
我堅持的例子如下。 也許有人可以解釋我哪里出錯了。
1號教堂的數字可以表示為:
λf. λx. f x
教會數字(m n )的取冪函數可以表示為:
λm. λn. n m
我想要做的就是通過將指數函數應用於1和1,我得到1,因為1 1 = 1.我這樣做,所以我更好地理解這些函數是如何工作的。 我的工作如下,每次都卡住了:
// 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
或x2
沒有意義。 只關注它們的使用方式。 1號教堂的數字是
λf. λx. f x
你有
λx2. (λx1. x2 x1)
將x2
重命名為f
,將x1
重命名為x
和voilà! 你有
λf. (λx. f x)
= λf. λx. f x
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.