Чому ієрархія нескінченного типу?


18

Coq, Agda та Idris мають нескінченну ієрархію типів (Тип 1: Тип 2: Тип 3: ...). Але чому б не зробити це натомість, як λC, система в лямбда-кубі, найближча до числення конструкцій, яка має лише два різновиди, і , і ці правила?

:

ΓТ1:с1Γ,х:Т1т:Т2Γ(λх:Т1,т):(Πх:Т1,Т2)

ΓТ1:с1Γ,х:Т1Т2:с2Γ(Πх:Т1,Т2):с2

Це здається більш простим. Чи має ця система важливі обмеження?

Відповіді:


19

Власне, підхід Кок є більш виразним - він дозволяє довільну непередбачувану кількісну оцінку. Наприклад, тип а.аа може бути створений самим собою, щоб отримати (а.аа)(а.аа) , що неможливо з ієрархією Всесвіту.

Причина, яку він не застосовує широко, полягає в тому, що непередбачувана кількісна оцінка несумісна з класичною логікою. Якщо у вас це є, ви не можете дати модель теорії типів, коли типи інтерпретуються як множини наївним способом --- див. Відомий документ Джона Рейнольдса « Поліморфізм» не є теоретично заданим .

Оскільки багато людей хочуть використовувати теорію типів як спосіб машинної перевірки звичайних математичних доказів, вони, як правило, не захоплені теоретичними особливостями типу, несумісними зі звичайними основами. Насправді Кок спочатку підтримував непередбачуваність, але вони наполегливо відмовлялися від нього.


9

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

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

Другим обмеженням є правила обчислень: CoC підтримує лише ітерацію , тобто повторювані функції не мають доступу до підрядів своїх аргументів. З цієї причини зручніше додавати індуктивні типи як примітивну конструкцію, породжуючи CIC. Але зараз виникає ще одна проблема: найприродніше правило індукції (яке називається усуненням у цьому контексті) суперечить Виключеному Середовищу! Ці проблеми не з’являються, якщо обмежити правило індукції предикативними типами за допомогою всесвітів.

На закінчення виявляється, що CoC не має ані виразності, ані стійкості wrt-консистенції, яку б вам хотілося у фундаментальній системі. Додавання всесвітів вирішує багато з цих проблем.


Чи є у вас кілька посилань на перше обмеження? Якщо ні, чи можете ви дати нам підказки, як другий Всесвіт допомагає довести (пропозиційну? Мета?) Нерівність?
Łukasz Lew

@ ŁukaszLew Це насправді простий наслідок моделі "доказ нерелевантний", яку можна дещо легко погукувати. У цій моделі жоден тип не містить більше 1 елемента. Наявність 2 всесвітів не дозволяє цій моделі існувати. Дисертація Олександра Мікеля дає посилання на тип з нескінченною кількістю елементів з 2 всесвітами.
коді
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.