Класифікація типізованих / нетипізованих лямбда-розрахунків


18

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

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

Хоча я, безумовно, маю намір прочитати, щось подібне до довідкової таблиці, у якій викладені обчислення та їх еквівалентність / відмінності / місце в ієрархії, було б ВЕЛИЧЕЗНИМИ посиланням для того, щоб допомогти мені розібратися.

Не кажучи, що наведено нижче, це правильно, просто намагаюся скласти разом деякі враження, які я маю побачити, чи вони принаймні слугують початковим пунктом (або чимось виправити!)

Нетипічне обчислення лямбда - екв. Логіка першого порядку - не може зробити X

Просто набрали обчислення лямбда - еквівалент ... логіці, пов’язаній з Ліспом?

«Поліморфний» лямбда-кальцій - тощо.

Обчислення конструкцій - логіка інтуїціонізму?

Комбінаційна логіка - порівнянна з ??? набране лямбда-числення, пов'язане з мовами APL / J

Якщо це зв’яжеться з кубом лямбда та його трьома осями, тим краще.

Хоча я знайомий з основами обчислення лямбда та програмуванням з функціональними мовами, я ніколи не обертав голову або не робив жодних суттєвих зв’язків із типовими системами та різними ароматами лямбда (а може бути, і пі?).

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

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


1
візуалізація лямбда-куба, якщо можливо, посилаючись на це, може допомогти пояснення rbjones.com/rbjpub/logic/cl/tlc001.htm
jon_darkstar

3
Особиста історія: коли я вперше вчився набраного і нетипового обчислення лямбда, мене завжди бентежило те, чому мені слід піклуватися про набрані нетурюрські повні розрахунки. Це часто змушувало мене втрачати інтерес. З іншого боку, мене ніколи не турбувало це, коли я думав про складність та ефективне обчислення. Зрештою хтось зв'язав дві нитки для мене у цій відповіді, і тепер я можу краще зрозуміти, чому стільки часу було витрачено на навчання, щоб я набрав обчислення лямбда.
Артем Казнатчеєв

я бачу, lo.logicтег був доданий. напевно, німе питання, але що саме це означає?
jon_darkstar

"Коли я намагаюся досліджувати це, я не можу допомогти, але опинився під опроміненням, відкриваючи багато вкладок браузера і розгалужуючись у так багато напрямків, я ніколи не потрапляю ні в одну з них з будь-якої глибини!" <- Це я, весь час! Дякую за запитання , що я думав ...
Агам

Відповіді:


26

Ваш стіл трохи заплутаний; ось кращий.

  • Нетипічне обчислення лямбда - немає логічної інтерпретації, як зазначає Андрій
  • Просто набране лямбда-числення - інтуїтивістська логіка пропозицій
  • Поліморфне обчислення лямбда - чиста логіка другого порядку (тобто без кількісних показників першого порядку)
  • Залежні типи - узагальнення логіки першого порядку
  • Обчислення конструкцій - узагальнення логіки вищого порядку

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

Ви також можете зв’язати синтаксичну форму числення з логічними системами.

  • Комбінаторні розрахунки (наприклад, комбінатори SKI) - системи в стилі Гільберта
  • А-нормальна форма - послідовне обчислення
  • Звичайне набрання лямбда - натуральне виведення

фантастично! Спасибі. допомагає мені зрозуміти мотивацію / відмінність для цих різних розрахунків, і, безумовно, допоможе мені зберегти базове розуміння, коли я прочитаю докладніше про це
jon_darkstar

Я б також включив набрані лямбда-обчислення без логічної інтерпретації, наприклад, PCF. Крім того, існує безліч крутих лямбда-калькуляцій, які відповідають іншій логіці, наприклад, лінійному обчисленню лямбда.
Сем Тобін-Хохштадт

@Sam: Добре. "Ніяка логічна інтерпретація" насправді занадто сильна, оскільки вона насправді означає "дозволена необмежена самонавірка", що в поєднанні зі змінним повторним використанням призводить до непослідовності. Але деякі задані теорії, засновані на лінійній логіці, підтримують схеми наївного розуміння без будь-якої суперечливості.
Ніл Крішнасвамі

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

20

Чистий нетипізований -рахунок є Тюрінгом повним, тобто часткова теоретична карта чисел обчислюється, якщо і лише тоді вона визначається в нетипізованому λ -розрахунку. Обчислювальна потужність набраного λ -рахунку значно менша. Наприклад, якщо додати тип натуральних чисел до набраного λ -калькуляції разом із 0 , наступником та примітивною рекурсією, ми отримаємо те, що зазвичай відомо як Т Ґоделя . Він обчислює лише примітивні рекурсивні функції (і всі вони є сумарними).λλλnatλ0Т

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

Моделями типового -калькуляції є саме декартові закриті категорії. Моделі нетипізованого λ -калькуляції менш сприятливі. Хоча про них можна говорити, вони, звичайно, не вивчаються так широко, як декартові закриті категорії.λλ

λλλUlambda : U -> (U -> U)gamma : (U -> U) -> UλUλСUU[Соp,Sет]UUU

Список літератури:


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