η-перетворення проти розширення в розширення лямбда-числення


14

Мене часто бентежить зв’язок між η-конверсією та експансіональністю.

Редагувати: Відповідно до коментарів, схоже, я також заплутався у зв'язку між еквівалентною еквівалентністю та спостережливістю. Але принаймні в Агді з рівністю розширення функцій (як постулату) і для просто набраного лямбдального числення (яке має абсолютно абстрактну семантику, якщо я не помиляюсь) денотаційна еквівалентність є такою ж, як і спостережлива еквівалентність. Не соромтеся виправляти мене в коментарях чи відповідях; Я ніколи не отримував систематичної освіти з цих питань.

У нетиповому обчисленні лямбда-клаусу правило-правило дає ту саму систему доказів, що і правило експансіоналізму, як це було доведено Барендрегтом (цитується у відповіді на це запитання ). Я розумію, що це означає, що система доказування з ета-правилом є повною для спостережливої ​​еквівалентності (з інших відповідей, що може знадобитися правило ξ-правила, тобто скорочення під біндери IIUC; у мене немає проблем із додаванням цього правила) .

Однак, що станеться, якщо ми перейдемо на введене числення та додамо розширити це обчислення з додатковими базовими типами та відповідними формами введення та усунення? Чи можемо ми все-таки написати повну систему підтвердження еквівалентності спостережень? Я розповім про системи доказів у формі аксіоматичної семантики, слідуючи Основам Мітчелла Мови програмування (FPL); система доказування / аксіоматична семантика визначає еквівалентність програми.

Питання 1 : чи поширюється теорема Барендрегта на STLC? Чи еквівалентність η еквівалентна екстенсіональності в цьому контексті?

Я переглядають обговорення Fpl по PCF (але не закінчив розділ ще), і, здається , що після додавання пари, об'ємність потрібне додаткове правило, а саме сюрьективно спаровування: pair (Proj1 P, Proj2 P) = P. Цікаво, що це правило пов'язує введення та усунення пар точно так, як правило η стосується введення та усунення функцій.

Запитання 2 : Чи достатньо додати аксіому сюр'єктивного сполучення, щоб довести розширеність у просто набраному λ-числі з парами? редагувати : Питання 2b : чи поєднання сюжетів з η-законом, як η-закони, згадані в цій роботі , через структурну схожість, яку я згадую?

Давайте пройдемо всю дорогу до PCF. Описи рівності розширень, які я бачив, тоді доводять, що екстенсіоналізм передбачає правило доказування шляхом індукції, але вони не кажуть, чи достатньо це. Оскільки PCF є повним Тьюрінгом, рівність розширення не можна визначити . Але це не означає, що не існує повної системи доказів, оскільки довжина доказів необмежена. Більш актуально, така система доказів, можливо, суперечить теоремам про незавершеність Геделя. І цей аргумент може бути застосований навіть до PCF без fix, а також до системи T Gödel.

Питання 3 : Чи існує повна система доказів еквівалентності спостережень у PCF? Що з PCF без fix?

Оновлення: повна абстракція

Я відповідаю тут на коментар про повну абстракцію. Я думаю, що PCF страждає від двох різного роду проблем: він має припинення (через виправлення), що спричиняє втрату повної абстракції, але він також має натуральну кількість. Обидві проблеми ускладнення спостереження важко піддаються лікуванню, але я вірю незалежно один від одного.

З одного боку, PCF втрачає повну абстракцію через те, що паралельно або живе в смисловій області (Plotkin 1977), і це, мабуть, пов'язане з невинищенням. Ральф Навантажувач (2000 р., "Фінітальний PCF не підлягає вирішенню") показує, що остаточний PCF (без природних речовин, але з невикористанням) вже не визначений; отже, (якщо я підсумую правильно), абсолютно абстрактний семантичний не може обмежуватися доменами з обчислювальними операціями.

З іншого боку, візьміть систему T Gödel, яка не має винищення. (Я не впевнений, що вона має абсолютно абстрактну семантику, але я гадаю, що так, оскільки проблема згадується лише для PCF; домен повинен містити примітивні рекурсивні функції вищого порядку). Практичні основи Харпера з мов програмування обговорюють спостережливість еквівалентності цієї мови; Розд. 47.4 має назву "Деякі закони рівності" і містить деякі допустимі доказові правила спостережливості. Ніде не сказано, чи система доказування повна, тому я гадаю, що це не так, але також ніде не обговорюється, чи можна її добудувати. Моя найкраща здогадка посилається на теорему про незавершеність Геделя.


1
Я думаю, що я міг би відповісти на щось із цього, але я розгублений, про що ви це запитуєте. Питання, на яке ви посилаєтесь, не стосується еквівалентності програми. Ви маєте на увазі спостережливість еквівалентності? Для якої оперативної семантики? Отже, по суті, якщо ви точно поясните, на що йдеться "доказ" у питанні 1, я думаю, я можу здогадатися, що відбувається. Моя найкраща здогадка до цих пір: ви б хотіли, щоб екваторна теорія, яка є повною для спостережливої ​​еквівалентності, і ви запитуєте, чи достатньо -правил. Є те, що його? η
Андрій Бауер

@AndrejBauer: Ваша здогадка правильна, я розпочну оновлення питання.
Blaisorblade

Я не впевнений у оперативній семантиці - чи це має значення для початкових теорем?
Blaisorblade

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

Тут є невелика проблема: насправді не зрозуміло, що для натуральних чисел! Якщо ви просто маєте лише функції та типи продуктів, то вам зрозуміло: умови спостереження еквівалентні, якщо вони β η рівні. Взагалі, я думаю, це пов'язано з проблемою повної абстракції . ηβη
коді

Відповіді:


7

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

Перший мій погляд такий: два терміни в нетипізованому λ -розрахунку, як видно, є рівним iff для кожного терміна M : M t  закінчується M t '  закінчується,  де закінчується означає "має β -нормальну форму"т,т' λМ

М т припиняється М т' припиняється 
β

Я вважаю більш природним вважати терміни з "дірками" або контекстами замість просто термінів M і писати E [ t ] замість M t . Два погляди, безумовно, є рівнозначними (якщо змінні не пов'язані контекстом), оскільки абстракція дозволяє перетворити контекст E [ _ ] у термін λ x . Е [ х ] .Е[_]МЕ[т]М тЕ[_]λх.Е[х]

Тепер це факт , що наглядове рівність в безтипових обчисленні не враховуються при -equality! Дійсно, існує цілий клас термінів, які обидва не закінчуються і не мають нормальної форми голови, і тому всі видимо рівні. Їх іноді називають вічними термінами або нерозв'язними термінами , і ось два такі терміни: ( λ x . X x ) ( λ x . X x ) і ( λ x . X x x ) ( λ x .βη

(λx.x x)(λx.х x)
Показати, що ці терміни не є β η- рівними, досить легко.
(λx.x x x)(λx.x x x)
βη

Якщо всі вічні терміни визначені, то рівність спостережень повністю фіксується класичним результатом (див. Теорему Барендрегта 16.2.7).


Тепер для набраних кальку. Розглянемо спочатку просто набраний -рахунок без натуральних чисел. Вищенаведене визначення спостережувальної рівності стає тривіальним, оскільки нормалізується кожен термін! Нам потрібно тонше розрізнення. Ми будемо використовувати величину рівності t 1t 2 для замкнутих доданків, визначених індукцією на типи t 1 і t 2 . Спочатку додамо для кожного типу A нескінченну кількість констант c A , c A , c A , . Виберемо деяку константу c xλt1t2t1t2AcA,cA,cA,cxвідповідного типу, щоб відповідати кожній змінній .x

  1. На базовій типу , т 1т 2 тоді і тільки тоді β -керівник нормальною формою т 1 є з U 1 ... U п і що з т 2 є д v 1 ... v п і з = д , і у 1v 1 , , U nv n за їх відповідними типами.Bt1t2βt1c u1unt2d v1vnc=du1v1,,unvn

  2. При стрілочному типі якщо обидва умови β -зводиться до абстракції λ .t1t2βλ

Зауважте, що в цьому визначенні я використовую лише -конверсію.β

Тепер я визначаю контексти як: з контекстом голови, застосуванням, абстрагуванням та заміщенням (за закритими термінами) відповідно.

[_]E[_] ut E[_]λx. E[_]E[_]θ

Тоді ми можемо визначити і t ' , добре введені типу T, щоб бути спостережно еквівалентними тоді і лише тоді, коли для кожного контексту E [ _ ] такий, що E [ t ] , E [ t ' ] добре набрані та закриті . E [ t ] E [ t ] в цьому випадку напишемо t = o b s t ttTE[_]E[t],E[t]

E[t]E[t]
t=obst

Тепер легко помітити, що якщо то t = o b s t . Інший напрямок менш тривіальний, але також має місце: дійсно, якщо t = o b s t , то ми можемо показати, що доданки рівні для β η за індукцією на тип:t=βηtt=obstt=obstβη

  1. Для базового типу просто візьміть як [ _ ] θ , а θ - заміна, яка посилає x на c x . Маємо E [ t ] = t θ і E [ t ] = t θ . Маємо t θ β c x u 1 θ u n θ і t θ E[_][_]θθxcxE[t]=tθE[t]=tθtθβcx u1θunθ . Тоді маємо c x = c x і так x = x . Тепер ми не можемо відразу зробити висновок, що u i θ = β η v i θ . Дійсно, якщо u i і v i є λ -абстракціями, то тривіально u i θ v i θ ! Хитрість тут - надіслати хtθβcx v1θvnθcx=cxx=xuiθ=βηviθuiviλuiθviθxдо і повторити це стільки разів, скільки потрібно. Я трохи нечіткий щодо деталей тут, але ідея схожа на теорему Бьома ( Барендрегт знову 10.4.2).

    λy.cx~ (y1c1)(yncn)
  2. Для типу стрілки візьміть як [ _ ] c y , тобто додаток до c y з c y і y не в t або t ' . За гіпотезою індукції маємо: t c y = β η t c y і так t y = β η t y, що дає λ y . t y = βE[_][_] cycycyytt

    t cy =βη t cy
    t y =βη t y
    і, нарешті,η-рівність: t = β η t λy.t y =βη λ.t yη
    t =βη t

Це було важче, ніж очікувалося!


Добре розглянемо систему T. Додамо тип до суміші, конструктори 0 і S та рекурсор r e c T для кожного типу T , з " β -правилами" r e c T u v 0 β u r e c T u v ( S n ) β v n ( r e c T u v n )N0SrecTTβ

recT u v 0βu
recT u v (S n)βv n (recT u v n)

η

λx.x =βη recN 0 (λk m.S m)
m

f (S x) =βη h x (f x)f t =βηrecT (f 0) h t
xηh

MtMTtM (S S 0)n S1Mn0

M

tM =λx.0
βηM
0 =βη S 0
TtM=λx.0

Дякую за вашу відповідь! Перше моє запитання: чи зазвичай є заміни в контекстах спостережливої ​​еквівалентності? Принаймні, документ LCF Плоткіна (1997) цього не робить (хоча я можу уявити, що щось подібне мало б сенс у деякому обчисленні закриття, де щось на зразок заміни є частиною синтаксису). Але я легко бачу, що для кожного контексту "заміни" можна визначити більше (для мене) "стандартний" контекст, який використовує лише лямбда-абстракцію та застосування, скажімо (λx. []) C_x; тож я здогадуюсь, що спостережувальна еквівалентність вище еквівалентна визначенню, до якого я звик.
Blaisorblade

Рівняння "справжнього, але не доказуваного" є (я припускаю) т=λх.0, не 0=βηS0, правда? КонструюватиМ, Я думаю, вам просто потрібно перерахувати докази, які шукають одне з 0=βηS0. Однак я все ще втрачаю, чому 0 = 1 досить важко - насправді це доведеться легко довести0βηS 0оскільки вони обидві нормальні форми, і я був би здивований, якби арифметика Пеано була б недостатньо сильною.
Blaisorblade

Скажи замість цього Мшукає доказ невідповідності арифметики. У вас ще єт=λх.0оскільки арифметика послідовна, але, згідно з другою теоремою про незавершеність, доведення цього вимагає більшої метатеоретичної сили, ніж арифметика Пеано (або ніж правила, про які ми обговорювали), тому наші прості правила не зможуть довести цю спостережливість. Це має сенс? Я переглянув Вікіпедію, але це не дуже конкретно щодо варіанту Клеєна результату Геделя; можливо, якби я знав це доказ краще, я також зрозумів би ваше доказ. (Тим часом, все-таки просимо вас).
Blaisorblade

1
3. Зауважте, що ПА може довести 01, але не "ПА0=1", тож ви можете намагатися шукати це підтвердження назавжди. Я використовував такий же трюк вище, щоб знайти рівність спостереження в Тякі не можуть бути захоплені жодним "розумним" правилом рівності. Ви завжди можете додати правило
f 0=г 0f (S 0)=г (S 0)f=г
але це було б неефективно (і повно!). У мене є відчуття, що це не те, що ти шукаєш.
коді

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