Чи є введене лямбда-числення, яке є послідовним і Тюрінг завершеним?


20

Чи є типізоване обчислення лямбда, де відповідна логіка відповідно до відповідності Керрі-Говарда є послідовною, і де є введені лямбда-вирази для кожної обчислюваної функції?

Це, безумовно, неточне запитання, у якому немає чіткого визначення поняття "набране лямбда-числення". Мені в основному цікаво, чи існують (а) відомі приклади цього, або (б) відомі докази неможливості чогось у цій галузі.

Редагувати: @cody надає точну версію цього питання у своїй відповіді нижче: чи існує логічна система чистого типу (LPTS), яка є послідовною та Тюрінг повною (у сенсі, визначеному нижче)?


2
Не існує рекурсивно аксіоматизованого числення (лямбда чи іншим способом), чиє суттєво повне рекурсивне функціонування є рекурсивними функціями, тож ваш обчислення повинно включати терміни, що не припиняються.
Еміль Йерабек підтримує Моніку

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

1
Ймовірно, він відповість на ваше запитання, як тільки ви зробите його досить точним. Я думаю, що доказ Андрія є надмірно складним (але він показує більше): справа просто в тому, що якби була ефективно описана система, де всі рекурсивні функції були представницькими таким чином, щоб можна було синтаксично підтвердити, що вираз є чесним відображенням рекурсивна функція (наприклад, перевіривши, чи правильно вона введена в системі), ви отримаєте універсальну повну рекурсивну функцію, що неможливо.
Еміль Йерабек підтримує Моніку

1
Звичайно, класичною відповіддю на таке питання може бути: набрано -cculus з типами перетину , оскільки він набирає всі (і лише ті) терміни, які сильно нормалізуються. Філософське питання - це більше запитання, чи визнає чи не числення чи «тлумачення Каррі-Говарда» чи ні. λ
коді

2
Тут важко бути більш точним, оскільки питання не є точним.
Андрій Бауер

Відповіді:


21

Гаразд, я дам тріщину: Загалом, для даної системи типу справедливо таке:T

Якщо все терміни добре типу в обчисленні нормалізується, то є послідовним , якщо дивитися в якості логіки.ТTT

Доведення, як правило, випливає з припущення, що у вас є термін типу , використовуючи зменшення теми для отримання нормальної форми, а потім продовжуючи індукцією на структуру такого терміна, щоб отримати протиріччя.F a l s eabsurdFalse

Цілком природно дивуватися, чи має місце зворот, тобто

Для будь-якої системи типу , якщо є логічно послідовним , то кожен правильно збірний терм в нормалізується.T TTTT

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

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

Як це пов'язане з повнотою Тьюрінга? Ну, для одного, якщо перевірка типу рішуча , то аргумент Андрія показує, що має бути виконано одне з наступного :

  1. Набір усіх добре набраних програм не є Turing Complete.
  2. Існує непереривна добре набрана програма.

Це свідчить про те, що:

Системи типів, які мають логічну інтерпретацію і є послідовними і рекурсивно перелічуються, не є Turing Complete.

Надання фактичної теореми, а не навіювання вимагає уточнення поняття систем типу та логічних інтерпретацій математично точними.

Тепер на думку приходять два зауваження:

  1. Існує система нерозбірливого типу, система типу перетину, яка має логічну інтерпретацію і може представляти кожну нормалізуючу -терму. Як зауважуєте, це не зовсім те саме, що Turing Complete, оскільки тип цілої функції, можливо, потрібно буде оновити (уточнити, власне), перш ніж застосувати її до потрібного аргументу. Обчислення - це "стиль каррі" числення і дорівнює STLC + і Зрозуміло, що "інтерпретація"Γ M : τλ ΓM:τσ

    ΓM:τΓM:σΓM:τσ
    =
    ΓM:τσΓM:τΓM:τσΓM:σ
    = призводить до послідовної логічної інтерпретації.
  2. Є клас типів систем Pure Type Systems , в якому таке питання може бути уточнене. Однак у цьому контексті логічна інтерпретація є менш зрозумілою. Можна було б спокусити сказати: "PTS є послідовним, якщо він має нежилий тип". Але це не працює, оскільки типи можуть жити в різних "всесвітах", де деякі можуть бути послідовними, а інші ні. Кокенд і Гербелін визначають поняття « Логічні системи чистого типу» , в яких питання має сенс і показувати

    Кожен непослідовний, не залежний від LPTS має циклічний комбінатор (і Тюрінг завершений)

    Що відповідає на питання в одному напрямку (непослідовно TC) у цьому випадку. Наскільки я знаю, питання для загальної LPTS все ще залишається відкритим і досить важким.


Редагувати: Зворотній результат результату Кокванд-Гербелін не такий простий, як я думав! Ось що я придумав поки що.

Логічне Pure Тип системи є PTS з (по крайней мере) Сорти і , (принаймні) аксіома і (принаймні) правило , з подальшою вимогою про відсутність типів .T y p e P r o p : T y p e ( P r o p , P r o p , P r o p )PropTypeProp:Type(Prop,Prop,Prop)Prop

Тепер я припускаю конкретне твердження про повноту Тьюрінга: виправте LPTS і нехай буде контекстомΓLΓ

Γ=nat:Prop, 0:nat, S:natnat

f : NNL - Turing Complete iff для кожної загальної обчислюваної функції існує термін такий, що і для кожногоf:NN Γ t f : n a tn a t n N t f ( S n 0 ) β S ftf

Γtf:natnat
nN
tf (Sn 0)βSf(n) 0

Тепер аргумент діагоналізації Андрія показує, що існують типи типу .tnat

Тепер здається, що ми там на півдорозі! Враховуючи не закінчується термін , ми хочемо замінити входження на якийсь загальний тип і позбутися від і в , і ми матиме нашу невідповідність ( населений у контексті )!n a t A 0 S Γ A A : P r o pΓloop:natnatA0SΓAA:Prop

На жаль, саме тут я застряг, оскільки замінити на тотожність легко , але позбутися набагато складніше. В ідеалі ми хотіли б використовувати якусь теорему про рекурсію Клінова, але я цього ще не з'ясував.0S0


Гаразд, тому спочатку два роз'яснення щодо Вашого зауваження (1). Що ви маєте на увазі, говорячи про те, що ця система типів перетину не є рекурсивно перелічною? Безумовно, набір теорем системи є повторним, тому що ви подали це як пряме послідовне обчислення. Крім того, результат, який я бачу доведеним у роботі, яку ви зв'язали, - це те, що терміни, які можна вводити в системі, є саме сильно нормалізуючими термінами; але хіба це не відрізняється від того, щоб сказати, що він може вводити саме загальні обчислювані функції? Наприклад, не сильно нормалізується, але не є загальним? λx.xx
Морган Томас

Тепер питання про ваше зауваження (2). Мені здається, що теорема, яку ви цитуєте, не є тим, що нас цікавить. Це говорить про те, що для кожної незалежної LPTS, якщо вона суперечить, то це Тьюрінг завершений. Але ми хотіли б знати, чи є для кожного LPTS, якщо Turing завершений, то це непослідовно. Я щось тут нерозумію?
Морган Томас

Γ,t,AΓt:A

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

1
Третій пункт. Ви знову правильні! Однак навпаки (в особливому випадку LPTS) досить тривіально. Я викладу аргумент.
коді

11

Ось відповідь на варіант уточнення мого питання @ cody. Існує послідовна LPTS, яка є Тьюрінга завершеною приблизно в сенсі @ коді, якщо ми дозволимо ввести додаткові аксіоми та правила зведення. Таким чином, строго кажучи, система не є LPTS; це просто щось подібне.β

Розглянемо обчислення конструкцій (або улюбленого члена -cube). Це LPTS, але ми збираємось додати додаткові речі, що робить його не LPTS. Виберіть постійні символи та додайте аксіоми:λnat,0,S

nat:
0:nat
S:natnat

Індексуйте програми машин Тьюрінга за натуральними числами, і для кожного натурального числа виберіть постійний символ , додайте аксіому , і для всіх , додайте правило зменшенняefefe:natnate,xNβ

fe(x)βΦe(x),

де, як завжди, - вихід програми й машини Тюрінга на . Якщо розходяться, це правило нічого не робить. Зауважимо, що додаючи ці аксіоми та правила, теореми системи залишаються рекурсивно перелічуваними, хоча її набір правил зменшення вже не можна визначити, а лише рекурсивно перелічувати. Я вважаю, що ми могли б легко зберегти набір зменшення правил, вирішальним, чітко прописавши деталі моделі обчислень у синтаксисі та правилах системи.e x Φ e ( x )Φe(x)exΦe(x)ββ

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

U1U2U3

  • ,N,0,SU1S
  • abUiaUi
  • Кожен набір закритий під утворенням функціональних просторів; тобто, якщо , то .A,BUiBAUi
  • Кожен набір закривається під формуванням залежних продуктів; тобто, якщо і , то .AUif:AUiaAf(a)Ui

Існування таких множин випливає, наприклад, із ZFC плюс аксіома, що кожного кардинала обмежує недоступний кардинал; ми можемо вважати, що кожен набір є всесвітом Гротендіка.Ui

Ми визначаємо "інтерпретацію" як відображення від набору змінних імен до елементів . інтерпретацію , ми можемо визначити інтерпретацію термінів системи наочним способом:vU2vIv

  • Iv(x)=v(x) , для назва змінної.x
  • Iv()=U1,Iv()=U2 .
  • Iv(nat)=N,Iv(0)=0,Iv(S)=S .
  • Iv(fe)=Φe , тобто функція визначається й програми Тьюринга.NNe
  • Iv(AB)=Iv(A)(Iv(B)) , якщо - функція з у своїй області, або іншому випадку (просто довільний вибір).Iv(A)Iv(B)Iv(AB)=0
  • Iv(λx:A.B) - це функція, яка відображає елемент до .aIv(A)Iv[x:=a](B)
  • Iv(Πx:A.B)=aIv(A)Iv[x:=a](B) .

Ми маємо це для всіх доданків , . Тепер ми говоримо, що інтерпретація задовольняє , записану , якщо . Ми говоримо , що , якщо для всіх інтерпретацій , якщо для всіх , то .I v ( A ) U 3 v A : B v A : B I v ( A ) I vAIv(A)U3vA:BvA:BIv(A)Iv(B)ΓA:Bvvx:C(x:C)ΓvA:B

перевірити, що якщо , то , значить, це модель системи. Але для будь-яких змінних , це не так, що , оскільки ми можемо інтерпретувати через , тому система є послідовною.Γ A : B x , y y : x : y y ΓA:BΓA:Bx,yy:x:yy

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


2
Це приємна відповідь, але я не впевнений, що вам потрібно пройти всі ці гігієнічні засоби, щоб довести послідовність: термін типу у порожньому контексті може бути «дезагазований» терміном в Кок: викличте правила -правила і тримати для звичайних. Виконайте всі зменшення (це припиняється, оскільки ви додали лише константи), і замініть кожен форми на його зменшення, якщо воно є . Ідея тут полягає в тому, що правила -працюють лише на основних умовах, тож ви можете спочатку виконати всі -редукції, щоб вивести їх із шляху.f e ( x ) Φ e ( x ) ι β β f e ( x ) ι βAfe(x)Φe(x)ιββfe(x)ιβ
коді

Я думаю, ти маєш рацію. Це не моє поле, тому я трохи незграбно займаюся справами. :-) Я думаю, що ваші докази спрацьовують, і одне цікаве наслідок, якщо я маю рацію, - це те, що ця теорія не має великої міцності. Це схоже на потенційно дуже потужну теорію, оскільки вона має типи та натуральні числа, що дозволяє вам тлумачити теорію множин; але, мабуть, ви не можете, тому що ви можете довести це, не використовуючи потужну теорію множин!
Морган Томас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.