Вопрос

Я знаю, что это простой вопрос, но кто -то может показать мне, как $ ( lambda y. Lambda x. Lambda yy) ( lambda x. Lambda y. Y) $ уменьшается до $ lambda x. lambda y. y $.

Это было полезно?

Решение

Причина, по которой $ ( lambda y. Lambda x. Lambda yy) ( lambda x. Lambda y. Y) $ уменьшается до $ lambda x. lambda y. y $, а не $ lambda x. lambda y. lambda x. lambda yy $ - это то, что $ y $ в теле $ lambda y. lambda x. lambda yy $ относится к аргументу третьей Lambda, а не к первой.

Если вы переименуете аргументы, чтобы иметь различные имена, $ lambda y. Lambda x. Lambda yy $ будет написана как $ lambda y_1. Lambda x. Lambda y_2.y_2 $. Таким образом, если вы примените эту функцию к аргументу, это означает, что каждое появление $ y_1 $ в $ lambda x. Lambda y_2.y_2 $ должна быть заменена аргументом. Однако $ y_1 $ вообще не появляется в этом выражении, поэтому аргумент просто игнорируется, и результат - это всего лишь $ lambda x. Lambda y_2.y_2 $.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top