У чому сенс -перетворення в лямбдальному обчисленні?


18

Я думаю, що я цього не розумію, але -конверсія розглядає мене як -конверсію, яка нічого не робить, особливий випадок -конверсії, де результатом є лише термін в лямбда-абстракції, тому що нічого немає робити, вид безглуздої -конверсії.ηηββββββ

Тож, може, -перетворення є чимось по-справжньому глибоким і відмінним від цього, але, якщо воно є, я цього не розумію, і, сподіваюся, ви зможете мені допомогти в цьому.ηη

(Дякую і вибачте, я знаю, що це частина самих основ обчислення лямбда)

Відповіді:


20

Оновлення [2011-09-20]: я розширив абзац про -розширення та розширення. Дякуємо Антону Саліхметову за те, що він вказав на хороший довідник.ηη

ηη -конверсія - це особливий випадок - перетворення лише в спеціальному випадку, коли сама по собі абстракція, наприклад, якщо тодіАле що робити, якщо f - змінна чи програма, яка не зводиться до абстракції?(λx.fx)=f(λx.fx)=fββfff=λy.yyf=λy.yy(λx.fx)=(λx.(λy.yy)x)=β(λx.xx)=αf.

(λx.fx)=(λx.(λy.yy)x)=β(λx.xx)=αf.
ff

У чомусь ηη -rule - це як особливий вид розширення, але ми повинні бути обережними щодо того, як це констатується. Ми можемо констатувати розширення як:

  1. для всіх λλ -термінів MM і NN , якщо Mx=NxMx=Nx тоді M=NM=N , або
  2. для всіх f,gf,g якщо x.fx=gxx.fx=gx тоді f=gf=g .

Перший - це мета-висловлювання про умови -calculus. У ньому постає як формальна змінна, тобто є частиною -calculus. Це можна довести з -правил, див., Наприклад, теорему 2.1.29 у «Обчисленні Лямбди: її синтаксис та семантика» Барендрегта (1985). Його можна розуміти як твердження про всі визначені функції, тобто ті, що є позначеннями -терміс.λλxxλλβηβηλλ

Друге твердження - це те, як математики зазвичай розуміють математичні твердження. Теорія -calculus описує певний вид структур, назвемо їх " -моделями ". Модель може бути незліченною, тому немає гарантії, що кожен її елемент відповідає -term (так само, як і більше реальних чисел, ніж є вирази, що описують цифри). Потім розширеність говорить: якщо ми візьмемо будь-які дві речі і в -модель, якщо для всіх в моделі, то . Тепер навіть якщо модель задовольняєλλλλλλλλffggλλfx=gxfx=gxxxf=gf=gηη -правило, воно не повинно задовольняти розширення в цьому сенсі. (Тут потрібна довідка, і я думаю, нам потрібно бути обережними, як тлумачить рівність.)

Існує кілька способів мотивації - та -конверсій. Я навмання виберу категорію-теоретичну, замасковану як -kalculus, а хтось ще може пояснити інші причини.ββηηλλ

Розглянемо набраний -calculus (тому що він менш заплутаний, але більш-менш те ж міркування працює для нетипізованого -calculus). Одним із основних законів, який повинен дотримуватися, є експоненціальний закон(Я використовую позначення від і беззмінно, вибираючи те, що виглядає краще.) Що таке ізоморфізми і виглядають так, як написано в -calculus? Імовірно, вони будуть іλλλλCA×B(CB)A.

CA×B(CB)A.
ABABBABAi:CA×B(CB)Ai:CA×B(CB)Aj:(CB)ACA×Bj:(CB)ACA×Bλλi=λf:CA×B.λa:A.λb:B.fa,b
i=λf:CA×B.λa:A.λb:B.fa,b
j=λg:(CB)A.λp:A×B.g(π1p)(π2p).
j=λg:(CB)A.λp:A×B.g(π1p)(π2p).
Короткий розрахунок з парою скорочень (включаючи -reductions та для продуктів) говорить про те, що для кожного маємо Оскільки і є оберненими один до одного, ми очікуємо, що , але щоб насправді довести це, нам потрібно використовувати -редукцію двічі:ββββπ1a,b=aπ1a,b=aπ2a,b=bπ2a,b=bg:(CB)Ag:(CB)Ai(jg)=λa:A.λb:B.gab.
i(jg)=λa:A.λb:B.gab.
iijji(jg)=gi(jg)=gηηi(jg)=(λa:A.λb:B.gab)=η(λa:A.ga)=ηg.
i(jg)=(λa:A.λb:B.gab)=η(λa:A.ga)=ηg.
Отже, це одна з причин -редукції. Вправа: яке -правило потрібно, щоб показати, що ?ηηηηj(if)=fj(if)=f

"Крім того, я чув, що він говорив, що η-правило стосується розширення функцій. Це помилково" Якщо ви збільшите аксіоми β- рівності та правила виводу за допомогою правила розширення (див. Мою відповідь), цей набір правил виводу точно фіксує. β η - рівність, чи не так? (тобто два терміни в цій теорії рівні, якщо вони β η -рівні)ββηβη
Марцін Котовський,

@Marcin: так, експансіональність передбачає η -правило, але не навпаки. Як би ви отримали розширення від β - і η -правил? ηβη
Андрій Бауер

1
нехай = позначає найменше конгруентність, що містить = β і задовольняє екстенсіональність (якщо М х = Н х , то M = N ). Тоді M = N iff M = β η N (див., Наприклад, перша глава Уржичина, Соренсена "Лекція про ізоморфізм Керрі-Говарда"), і в цьому сенсі η -рул захоплює поняття розширеності.==βМx = NхМ= NМ= NМ=βηNη
Марцін Котовський,

Я бачу, що ви думаєте про об'ємності як схеми, тобто, ми доведемо , що воно справедливо для кожної конкретної пари термінів М і N . Я думав про розширення, як про твердження. Я думаю. Тепер я мушу подумати над цим. МN
Андрій Бауер

1
@AndrejBauer Я погоджуюся, що η-правило - це не повна експансіоналізм, але чи не вважаєте ви, що це все ще обмежена форма розширення, тобто це клас очевидних випадків експансіоналізму. Оригінальне питання шукає мотивацій та концепцій, і в цьому випадку я вважаю, що мислення з точки зору розширення є корисним (з певною увагою, звичайно, не надто далеко).
Марк Хаманн

9

Для того, щоб відповісти на це запитання, ми можемо навести наступну цитату з відповідної монографії «Обчислення Лямбди. Його синтаксис і семантика "(Barendregt, 1981):

Суть введення β η -редукції полягає у наданні аксіоми для доказних висловлювань у розширеному λ -рахунку [ теорія λ + ext , де ext означає правило M x = N x M = N ], таким, щоб воно мало Власність церква – Розсер.βηλλ+extextMx=NxM=N

Пропозиція. М = & beta ; п Н А , п М = N А , + внутр М = Н .M=βηNληM=Nλ+extM=N

[Його доказ ґрунтується на наступній теоремі.]

Теорема (за Каррі). Теорії λ + ext і λ η еквівалентні… [Її доказ складається з двох частин: ( ext ) ( η ) і навпаки.]λ+extλη(ext)(η)

Однією з причин вважати систему λ η є те, що вона має певну властивість повноти… [А саме, у значенні наступної теореми.]λη

Теорема. Нехай обидва M і N мають нормальну форму. Тоді або λ η M = N , або λ η + M = N суперечливо ...MNληM=Nλη+M=N

HP-завершені [після теорії Гільберта – Пост] відповідають максимально послідовним теоріям теорії моделей для логіки першого порядку.


7

Просто додати до дуже гарної відповіді Андрія: теорія нетипізованого λ -рахунку з правилами відновлення β та η задовольняє деяким дуже приємним властивостям:λβη

  • Це послідовно в тому сенсі, що є два терміни, наприклад λ x y . x і λ x y . y , які не є β η еквівалентом. Це наслідок теореми злиття для відновлення β η .λxy.xλxy.y βηβη

  • Це максимально послідовна теорія в наступному сенсі: якщо ι - відношення еквівалентності на таких умовах, що:ι

    1. Він закритий конгруенцією: u = ι v t u = ι t v       і т.д.u =ι vt u =ι t v

    2. Він дорівнює 2 не β η еквівалентним термінам,βη які є нормальними формами : в нормальній формі існують t і u такі, що t = ι u і t β η u .tut=ιutβηu

Тоді теорія суперечлива : для кожного члена t , u у нормальній формі, t = β η ι u .tut=βηιu

Це наслідок теореми Бьома.


6

η -редукція фіксує поняттярозширеності- дві функції вважаються рівними, якщо вони дають однакові виходи на одних і тих же входах.η

Одним із способів формалізації цього поняття є наступний: якщо ми розглянемо відношення = β η , транзитивно-рефлексивне замикання відношення β η , це природно охарактеризувати це відношення з точки зору правил виведення рівняльної теорії (наприклад: правила форми: якщо M = N , то λ x . M = λ x . N і т . д . - для характеристики = β потрібно приблизно 7 правил такого роду).=βηβηM=Nλx.M=λx.N=β

Тепер заміщення = β на = β η означає введення аксіоми λ x . М х = М , що еквівалентно правилу екстенсіональності : якщо М х = Н х , то M = N . Це саме те поняття, що дві функції, рівні за всіма вхідними аргументами, слід вважати однаковими.=β=βηλx.Mx=MMx=NxM=N


Помилково, що розширеність випливає з η -правила. η
Андрій Бауер

Дивіться теорему 2.1.29 у монографії Барендрегта (обчислення Лембди та її семантика, 1985).

2
@Anton: Я вважаю, що я не надто задоволений ξ- правилом. ξ
Андрій Бауер

І я, в свою чергу, не надто щасливий, що щастя і відповіді, подібні до "почутого", привертають більше уваги, ніж прямі відповідні цитати з відповідними посиланнями.

@Anton: Це конкурс на популярність, ви не знали? ;-) Як би там не було ξ -правила, яке звикає в Barendregt. Я не пригадую, щоб хтось перетягував ξ -праві в дискусію. У нас є лише α і β .
Андрій Бауер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.