Чи існують проміжні ета-теорії для обчислення лямбда?


15

Існує дві основні, вивчені теорії обчислення лямбда, бета-теорія та її післяповне розширення, теорія бета-ета.

Чи мають ці дві теорії проміжне між собою, якесь проміжне правило ета, що дає теорію переплутування переплутаних даних? Чи існує якесь цікаве поняття про часткову розширеність, якому воно відповідає?

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

Відповіді:


10

Для введених обчислень, якщо врахувати негативні типи ( , × , ), ви можете ввімкнути або вимкнути правила eta за бажанням, не впливаючи на впадання.1×

Для позитивних типів (суми та пари з усуненням відповідності шаблону) ситуація набагато складніше. По суті, питання полягає в тому, чи термін має форму усунення закритого діапазону, яка дозволяє контекстам взаємодіяти складними способами з ета-розширеннями. Наприклад, якщо має тип A × B , то його ета-розширення l e tеА×Б . Але щоб отримати теорію рівнянь, яку очікував би теоретик категорії, потрібно розглянути контексти C [ - ] та узагальнити рівняння на C [ e ] l e tлет(а,б)=еiн(а,б)С[-] (з очікуваними обмеженнями на масштабування).С[е]лет(а,б)=еiнС[(а,б)]

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

Я насправді нічого не знаю про нетипізоване обчислення лямбда.

EDIT: Чарльз питає про скорочення ета. Це є багатообіцяючим для такого прикладу, якого він прагне, тому що я думаю, що в цілому вони не будуть достатньо сильними для моделювання повної теорії рівності, яку я проілюструю простим прикладом із булевими. Ета-розширення для булевих є . (Зниження ета, звичайно, є іншим напрямком.)C[e]if(e,C[true],C[false])

Тепер розглянемо термін . Показано, що цей термін еквівалентний i f ( e , fif(e,f,g)if(e,x,y) потрібно пройти ета-розширення, тому що ми повинні замінити e в одному з if-then-elses на t r u e та f a l s e , щоб рухати β- зменшенням. if(e,fx,gy)etruefalseβ


Я мав би дати зрозуміти, що мова йде про нетипізоване обчислення лямбда: логіка в стороні може зробити це незрозумілим. У набраному випадку я очікую, що повнота Посту дотримується теорії 〈→, ×〉, але я зовсім не впевнений в інших типах. контексти взаємодіють складними способами з ета-розширеннями - це справа для розгляду скорочення ета, чи не так, тому що вам не потрібно обмежувати переписування?
Чарльз Стюарт

4

За словами Джона К. Мітчелла в «Основах мов програмування», як в STLC, так і в нетипізованому обчисленні лямбда, правило скорочення pair (proj₁ P, proj₂ P) → Pзриває злиття при поєднанні зі fixскороченням (або, я припускаю, з огляду на доказ), без таких умов для нетипізованого випадку. Це теорема 4.4.19 (стор. 272).


2
Я думаю, це розширений коментар до відповіді Ніла. Klop & De Vrijer (1989) обстежують теорію нетипового обчислення лямбда з сюрєктивним сполученням: випадок із зменшенням етапу справді не є конфліктним, але теорія є послідовною (вона має модель у конструкції Д_інфа Скотта), і вони дають результати пропонуючи злучну, консервативну теорію перепису для сюржективних пар (все ще відкрита проблема, AFAIK).
Чарльз Стюарт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.