Чи можна визначити


18

Я знаю, що неможливо визначити еквівалентність для нетипового обчислення лямбда. Цитуючи Barendregt, HP Обчислення лямбда: його синтаксис та семантика. Північна Голландія, Амстердам (1984). :β

Якщо A і B є неперервними, непусті множини лямбда-термінів, які закриті під рівність, то A і B є рекурсивно нероздільними. Звідси випливає, що якщо A - нетривіальний набір лямбда-термінів, закритих під рівність, то A не є рекурсивним. Отже, ми не можемо вирішити проблему "M = x?" для будь-якого конкретного М. Також випливає, що у Ламбди немає рекурсивних моделей.

Якщо у нас є нормалізуюча система, така як система F, то ми можемо вирішити еквівалентність "ззовні", зменшивши два задані терміни і порівнявши, чи нормальні їх форми однакові чи ні. Однак чи можемо ми це зробити «зсередини»? Чи є такий комбінатор System-F E , що для двох комбінаторів M і N ми маємо E M N = вірно, якщо M і N мають однакову нормальну форму, а E M N = false в іншому випадку? Або це можна зробити хоча б для деяких M s? Побудувати комбінатор E MβEMNEMN=trueMNEMN=falseMEMтаким, що є істинним iff N β M ? Якщо ні, то чому?EMNNβM

Відповіді:


19

Ні, це неможливо. Розглянемо наступні два мешканці типу .(AB)(AB)

M=λf.fN=λf.λa.fa

Це виразні -нормальні форми, але їх не можна відрізнити лямбда-терміном, оскільки N являє собою η -розширення M , а η -розширення зберігає спостережувальну еквівалентність у чистому типізованому лямбдальному обчисленні.βNηМη

Коді запитав, що станеться, якщо ми також відмовимся від еквівалентності. Відповідь все ще негативна через параметричність. Розглянемо наступні два терміни типу ( α .η :(α.αα)(α.αα)

М=λf:(α.αα).Λα.λх:α.f[α.αα](Λβ.λу:β.у)[α]хN=λf:(α.αα).Λα.λх:α.f[α]х

Вони відрізняються -нормальною, η -тривалою формою, але спостережно еквівалентні. Насправді всі функції цього типу є рівнозначними, оскільки α .βη - це кодування одиничного типу, і тому всі функції типу ( α .α.αα має бути еквівалентно екстенсіонально.(α.αα)(α.αα)


2
Гаразд, те саме питання з -еквівалентність :)β,η
cody

11

Інша можлива відповідь на цілком правильну Ніл: Припустимо, що є комбінатор , добре набраний у системі F таким чином, що зазначена вище умова виконується. Тип E :EE

E:α.ααbool

Виявляється, існує теорема безкоштовно, яка виражає, що такий термін обов'язково є постійним :

T, t,u,t,u:T, E T t u=E T t u

E

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.