1
A
回答
3
這拉姆達表達不syntacticly正確的,我想你的意思是寫:
(λx.λy.y x) z
或者
(λxy.y x) z
這是重要的,因爲一個有效的λ-expession是在形式λx。 M而不是λxM,或者使用語法糖,可以寫入λxy.M,但不能寫入λxλy.M,而這個(λx.λy.yx)會令人困惑,因爲它看起來像是一個應用程序。
我將減少通過應用x至λx.λy.y
既(λx.λy.y x) z
和(λx.λy.yx) z
1)(λx.λy.y x) z
2)降低(λx.λy.y x)
,所以(λx.λy.y x) z
減小到λy.y z
3)通過施加Ž減少λy.y z
到λy.y z
,結果將是z。
如果你的意思是(λx.λy.yx)
ž
1)(λx.λy.yx) z
2)λx.(λy.yx) z
3)應用Z到第一層抽象:λy.yz
4)閒來無事減少的結果是:λy.yz
我建議你查看lambda-演算定義並理解應用程序,抽象和變量之間的差異。
還處於早期階段,最好使用()並始終以擴展的方式編寫lambda表達式,這樣您將減少錯誤。
0
您的lambda表達式可能需要兩個輸入參數,但只有一個輸入z。因此,這導致部分應用。
在你的情況下,這意味着參數x的值爲z。因此該表達式中x的所有出現都被z替換。然而,參數y沒有給出任何值,因爲沒有任何輸入,所以參數y保持綁定。如fsvieira所說,λy.yz是正確的答案。
相關問題
- 1. Lambda微積分的減少
- 2. 使用Haskell在lambda微積分中減少Beta測試
- 3. Lambda微積分函數的減少
- 4. 爲了證明SKK和II是beta相當的,lambda微積分
- 5. 斯卡拉lambda微積分
- 6. Lambda微積分幫助
- 7. Lambda微積分表達式
- 8. Lambda微積分減少/評估表達式
- 9. 如何在lambda微積分中正確減去TRUE和TRUE?
- 10. Lambda微積分前驅函數減少步驟
- 11. 實踐中的Lambda微積分
- 12. lambda微積分中的Eta抽象
- 13. Lambda微積分與CLISP中的實現
- 14. 在lambda微積分值中調用
- 15. 在Lambda微積分中推測類型
- 16. Lambda微積分表達式測試臺?
- 17. Lambda微積分免費可變問題
- 18. 非遞推lambda微積分函數
- 19. Haskell - Lambda微積分等效語法?
- 20. Lambda微積分:適用於斯卡拉
- 21. CLISP Lambda微積分Div執行
- 22. Pure Lambda微積分 - 和函數
- 23. Lambda微積分運算符優先級
- 24. Lambda微積分 - 爲什麼不可能在這裏做另一個beta測試?
- 25. 在PID(比例積分微分)的比例積分微分
- 26. Java 8 lambda分組縮減和映射
- 27. 卷積層尺寸縮減
- 28. 查找某些示例的lambda微積分/ haskell類型
- 29. 我的Lambda微積分語法明確無誤嗎?
- 30. Ruby中的微積分