Комбінаційна інтерпретація лямбдального числення


10

За словами Пітера Селінджера , обчислення лямбди є алгебраїчним (PDF). На початку цієї статті він говорить:

Як відомо, комбінаторне тлумачення лямбда-числення є недосконалим, оскільки воно не задовольняє ξ -правило: під інтерпретацією M=N не означає λx.M=λx.N (Barendregt, 1984).

Запитання:

  • Яка рівнозначність тут мається на увазі?
  • З огляду на таке визначення еквівалентності, що є протиприкладним наслідком?

Відповіді:


7

Еквівалентність - це просто еквівалентність в еквівалентній теорії, що обговорюється. У цьому випадку це теорія, викладена в Таблиці 1. Зауважте, що ця теорія не включає : це зробить теорію розширеною, і справа зрештою, що поважає інтенсивність , тоді як це зробить CL частково розширення. Я не впевнений, чому інша відповідь згадує .ληξλη

Зауважте, що в :λ

(1)(M=βN)(λx.M=βλx.N)

Це повинно бути інтуїтивно зрозуміло: якщо є -convertible до , коли він стоїть сам по собі, то він також -convertible до , коли це подтерм .MβNβNλx.M

-права, визначається як робить цей висновок безпосередньо можливим, коли він є частиною теорії. Його аналогом CL було б: ξ

M=N(ξλ)(λx.M)=(λx.N)
λ
M=N(ξCL)(λx.M)=(λx.N)

Тепер справа в тому, що в CL не виконується наступне :

(2)(M=wN)(λx.M=wλx.N)

Іншими словами, якщо два терміни слабо рівні, то це не обов'язково справедливо для їх псевдо-абстрагованих версій.

Отже, якщо до теорії CL додати , тоді ми почнемо рівняти терміни, які мають різні нормальні форми.ξCL


Примітка. Тут позначає слабку рівність. Це означає, що може бути перетворено в (і навпаки) за допомогою ряду і скорочень (можливо, також , якщо це частина теорії). Як ви, мабуть, знаєте, - це аналог CL .M=wNMNSKI=w=β

λ - псевдоабстрактор, як визначено на сторінці 5 вашого документа. Він має таке властивість:

(3)(λx.M)Nw[N/x]M

Ця властивість дозволяє легко знайти аналог CL для будь-якого -term: просто змініть на і застосуйте переклади відповідно до визначення .λλλλ


Щоб було зрозуміло, "зустрічний приклад" у цій відповіді не є протилежним прикладом до (2). Тому що якщо ми маємо:

(4)M=x
(5)N=(λz.z)x

Тоді дійсно позначає (застосувавши переклади сторінки 5, і той факт, що визначається як в кінці сторінки 4):NISKK

(6)N=(λz.z)x=Ix=SKKx

Так , ми дійсно маємо , що . Однак, якщо це зустрічний приклад, ми повинні мати це . Але якщо ми перекладаємо, ми фактично отримуємо:SKKxwKx(Kx)wxM=wN(λy.M)w(λy.N)

(7)(λy.M)=(λy.x)=Kx
(8)(λy.N)=(λy.SKKx)=K(SKKx)

І легко перевірити, що (7) і (8) все ще слабо рівні, для:

(9)K(SKKx)wK(Kx(Kx))wKx

Тепер правильним зустрічним прикладом до (2) буде:

M=Kxy
N=x

Так , ми , безумовно , є , що . Однак якщо уважно перекласти абстраговані версії, то ви побачите, що обидві є різними нормальними формами - і вони не можуть бути конвертованими згідно з теоремою Церкви-Россера.KxywxM=wN

Спочатку перевіряємо :M

M=λx.Kxy=S(λx.Kx)(λx.y)=S(λx.Kx)(Ky)=S(S(λx.K)(λx.x))(Ky)=S(S(λx.K)(I))(Ky)=S(S(λx.K)(SKK))(Ky)=S(S(KK)(SKK))(Ky)
Тут ви можете переконатися, що є нормальною формою. Тут ви можете перевірити, що , як і слід було очікувати, якщо поводиться як абстрактор для CL.M(λx.Kxy)PwPλ

Тепер перевіряємо : N

N=λx.x=I=SKK

Яка нормальна форма, відмінна від , тому за теоремою Церкви-Роззера. Відзначимо також , що , тобто і "дають однаковий вихід" для довільних входів .MMwNNPwPMNP

Зараз ми довели, що (2) не має місце в CL, і що теорія CL, що включає , тому прирівнюватиме терміни, які не є рівними. Але чому нас хвилює?ξ

Ну, по-перше, це робить комбінаційну інтерпретацію недосконалою: мабуть, не всі метатеоретичні властивості переносяться.λ

Крім того, і, можливо, що важливіше, хоча існують теорії розширень і CL, вони спочатку і зазвичай зберігаються в інтенсивному режимі. Інтенсивність - це приємна властивість, оскільки обчислення моделей та CL як процес, і з цієї точки зору дві різні програми (зокрема, терміни, що мають іншу нормальну форму), які завжди дають однакові результати (з рівними введеннями), не повинні рівнятися. поважає цей принцип у , і якщо ми хочемо зробити розширенням, ми можемо просто додати, наприклад, . Але введенняλλξλληξв CL більше не зробить це повністю інтенсивним (насправді, лише частково так). І це є причиною знаменитості , як зазначено в статті.ξ


1
Я не можу коментувати якість, тому що я мало знаю тему, але це схоже на трохи роботи. Вдячний, спасибі!
Рафаель

Дійсно, посада закінчилася довше, ніж я передбачав. Дякуємо за ваш коментар :)
Рой О.


3

EDIT Ця відповідь невірна, як правильно вказав інший відповідач. Я використовував переклад у комбінаторну логіку від Asperti & Longo, який тонко відрізняється від того, який було зроблено у Селінгера.

Насправді це ілюструє вирішальний момент: "комбінаційне тлумачення" лямбдального числення - це не єдина річ! Різні автори роблять це трохи інакше.

Я залишаю свою відповідь тут для нащадків, але інша відповідь краща.


Еквівалентність у цьому контексті визначена таблицями 1 та 2 у статті Селінгера. Однак дещо інша аксіоматизація може зробити речі трохи більш зрозумілими.

Це насправді означає, що два терміни конвертовані в теорії . Ми можемо визначити "конвертованість" за наступними двома аксіомами:λ

  • β . , якщо вільне для у(λx.M)N=[N/x]MxNM
  • η . , якщо не вільне вλy.My=MyM

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

Я думаю, що це, мабуть, найпростіше:

M=x
N=(λz.z)x

Ви можете переконатись, що , але їх відповідні комбінаторні інтерпретації не рівні за правилами таблиці 2.λy.M=λy.N


Чого я не розумію у вашій відповіді: 1) чому згадувати , тоді як теорія в таблиці 1 не включає його і, очевидно, є інтенсивним? 2) Як поєднуються інтерпретації та не дорівнює? Виведення у моїй відповіді показує, що вони є. 3) Правило не розглядається, в той час як це винуватець у питанні. ηλy.Mλy.Nξ
Рой О.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.