6
A
回答
12
A「函數,它在功能和第二值,並應用所述函數的自變量的零時刻」,當然,不是零。這是一個編碼爲爲零的。當你處理純粹的lambda演算時,你必須以某種方式對數字(以及其他基本類型)進行編碼,並且對於這些類型中的每一種都有一些要求。例如,對自然數的一個要求是能夠將1加到給定數字上,另一個要能夠將零與較大數字區分開來(如果您想了解更多信息,請查找「Peano算術」)。 Dario引用的流行編碼爲您提供了這兩件事,它也通過N次函數表示一個整數N(編碼爲f
參數)N次 - 這是一種使用自然的自然方式。
還有其他可能的編碼 - 例如,一旦您可以表示列表,則可以將N表示爲N個項目的列表。這些編碼有其優點和缺點,但上面的編碼是最受歡迎的編碼。
13
5
如果你學會了演算,你可能已經知道,λxy.yARG1 * ARG2 *將減少ARG2,因爲x被換成什麼,其餘的(λy.y)是身份功能。
你可以用許多其他方式寫出零(即提出一個不同的約定),但是使用λxy.y有很好的理由。例如,你希望零是第一個自然數,所以如果你應用後繼函數,你可以得到1,2,3等等。使用函數λabc.b(abc),可以得到λxy.x(y ),λxy.x(x(y)),λxy.x(x(x(y)))等等,換句話說,你得到一個整數系統。
此外,您希望零是相對於加法的中性元素。與我們的後繼函數S:=λabc.b(ABC),我們可以定義Ñ + * M *爲ñ小號米,即後繼函數來米Ñ倍應用。我們的零λxy.y滿足這個,0 S m和m S 0減小到m。
相關問題
- 1. 算術與教會數字
- 2. 質疑LAMBDA演算
- 3. lambda演算中的量詞
- 4. 在Javascript中爲任意整數生成教會編碼數字
- 5. 如何在球拍中應用lambda演算規則?
- 6. 在理解計算中,我無法理解這個lambda演算
- 7. 教會在F編碼自由單體#
- 8. 在代表中演示lambda
- 9. 在python中使用lambda函數添加教堂數字
- 10. lambda演算的圖靈完備性?
- 11. 如何在excel中編碼時在小數點後加零點
- 12. Lambda教程和解決Lambda函數
- 13. 如何在js中編碼數字?
- 14. 如何在lambda演算中使用β減少來評估表達式?
- 15. 添加的教會數字
- 16. 如何計算sql中的零個數?
- 17. directxtutorial.com教程不會在g ++中編譯
- 18. 在lambda演算中定義堆棧數據結構及其主要操作
- 19. 如何在golang中實現可變字節編碼算法
- 20. SML中的Alonzo教會數字
- 21. 在lambda表達式中表演性能
- 22. 如何編碼某個數學算法
- 23. 將零值編碼到數據幀中
- 24. 如何在Git中創建帶快照的編碼教程
- 25. 爲零經驗人士編程教程
- 26. 如何在Ruby中編寫條件lambda?
- 27. 如何在Ruby中編組lambda(Proc)?
- 28. lambda的好教程
- 29. 如何Keras對編碼由深的自動編碼數據(教程不清晰)
- 30. 教會數字:我應該如何解釋表達式中的數字?
這是一個相關的問題,我問了谷歌組:我說有一個函數f。我如何表明這轉換爲自然數字0?爲了推斷我的函數f的行爲像0一樣,還需要其他什麼函數? – unj2
如果你想在通常的編碼下證明一個函數f是零,你需要證明對於所有的'g'(f g x)== x。除此之外,你不需要知道任何東西。 –