metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-08-03 09:09 am

Ад Computer Science

Изоморфизм Карри-Говарда

Там есть такая строка:
(EF) (где E и F — λ-выражения)
и комментарий к ней:

Третья форма называется аппликацией (или применением). Она определяет попытку приложить терм E (как будто бы это аргумент функции) к терму F (как будто бы это функция).

Я брежу или оно должно быть как-то наоборот, т.е. E - функция, а F-аргумент? Тем более что ниже, при рассмотрении типизации этого выражения оно именно так и рассматривается.

PS: И вообще, как бы это не сойти с ума от чтения подобных вещей.

[personal profile] alll 2009-08-03 08:00 am (UTC)(link)
Там имхо всё корректно, если пользоваться данным там (чуть выше) определением процедуры "приложение аргумента к функции":

Используя нотацию λ-исчисления, функция с параметром x и телом E записывается как λx.E. Когда к этой функции прикладывается аргумент a (термин «прикладывается» также взят из λ-исчисления), в теле функции E на a заменяется каждое свободное вхождение x.

В данном случае, видимо, это означает, что в теле терма F все вхождения некоего формального параметра должны быть заменены на терм E.

[identity profile] metaclass.livejournal.com 2009-08-03 08:04 am (UTC)(link)
Не, похоже все таки там перепутано.
Прикладывание аргумента будет выглядеть как
(λx.E а)
т.е. аргумент идет очевидно после функции.

[personal profile] alll 2009-08-03 08:21 am (UTC)(link)
Там три вида термов. λx.E - это прикладывается переменная, а не выражение. А если выражение - то это случай не 2, а 3: (EF) (где E и F — λ-выражения). О чём, собственно, и речь.

[identity profile] metaclass.livejournal.com 2009-08-03 08:30 am (UTC)(link)
λx.E это не прикладывание, это абстракция.
А прикладывание это (λx.E a)
Причем а в данном случае это частный случай терма F