Вселенные в теории зависимых типов

11

Я читаю о теории зависимых типов в онлайн-книге « Теория гомотопических типов» .

В разделе 1.3 главы « Теория типов» вводится понятие иерархии вселенных : , гдеU0:U1:U2:

каждая вселенная является элементом следующей вселенной . Более того, мы предполагаем, что наши вселенные являются кумулятивными, то есть все элементы вселенной также являются элементами вселенной .UiUi+1ith(i+1)th

Тем не менее, когда я смотрю на правила формирования для различных типов в приложении A, на первый взгляд, если вселенная появляется над планкой в ​​качестве предпосылки, та же самая вселенная появляется ниже. Например, для правила формирования видов побочных продуктов:

ΓA:UiΓB:UiΓA+B:Ui(+-FORM)

Итак, мой вопрос: зачем нужна иерархия? При каких обстоятельствах вам нужно прыгать со вселенной на одну высшую в иерархии? Мне действительно не очевидно, как при любой комбинации вы можете получить тип , которого нет в . Более подробно: правила формирования в разделах приложения A.2.4, A.2.5, A.2.6, A.2.7, A.2.8, A.2.9, A.2.10, A.3.2, либо упоминают в предпосылке и суждении, или только в суждении.Am:UiBUiUi

Книга также намекает на то, что существует формальный способ назначения вселенных:

Если есть какие-либо сомнения относительно правильности аргумента, способ проверить его состоит в том, чтобы попытаться последовательно назначить уровни всем появляющимся в нем юниверсам.

Каков процесс последовательного присвоения уровней?

U:U приведет к парадоксу Рассела . Избегание парадокса Рассела явно упоминается в книге (стр. 24). Также более подробно рассматриваются страницы 54, 55, в которых используются «вселенные в стиле Рассела», а не «вселенные в стиле Тарского». Поэтому на очень высоком уровне я считаю само собой разумеющимся, что теория хочет избежать парадокса. К сожалению, у меня нет опыта, чтобы понять это напрямую. В этом вопросе я хочу узнать лишь о том, как получить некоторые примеры вещей в а не в для и может быть чем-то еще, что дает мне ощущение за то, как работают иерархии.UjUij>i

huynhjl
источник
1
@huynhjl Использование вселенных необязательно, чтобы избежать парадоксов, например, ни теория множеств ZF, ни NF Куайна, их используют две альтернативные математические основы. Вселенные - это удобный способ избежать парадоксов (или мы на это надеемся), в то же время обладая способностью создавать очень выразительные типы.
Мартин Бергер

Ответы:

14

Вопрос, при каких обстоятельствах нам нужно перепрыгнуть со вселенной на одну высшую в иерархии, является хорошим. Наличие иерархии и умение лазать по ней очень важно. Вам нужно перепрыгивать уровни, когда вы хотите рассматривать юниверс как тип или как часть типа. Например, чтобы определить функции (независимого) типа вы должны показать, что находится во вселенной. Но это не может быть или какая-то меньшая вселенная. Так что же нам делать? Чтобы справиться с этой проблемой (без использования непонятного ), нам нужно вскочить во вселенную. Правило, которое позволяет нам сделать этот переход, является -Intro

AUi
AUiUiUi:UiU
Γ:ctxΓUi:Ui+1,
приведенный в Приложении A.2.3. Суть иерархии вселенных в том, что мы можем сделать это. Это можно рассматривать как безопасное приближение наличия вселенных.
Мартин Бергер
источник
12

Я немного исправлю ответ Мартина, чтобы объяснить, откуда берется совокупность (правило, которое гласит, что и влекут за собой ). Предположим, у нас есть и мы хотим присвоить тип . Правило формирования для таково: (Если является сокращением для то вышеприведенное правило может быть получено из правила формирования дляX:UiijX:UjA:U42AU99

ΓX:UiΓY:UiΓ(XY):Ui
XYΠx:XYΠ, но давайте не будем об этом беспокоиться.) Чтобы использовать это правило, оба типа, участвующие в формировании типа функции, должны находиться в одной и той же вселенной. В нашем случае у нас есть в и в . Таким образом, мы сначала используем совокупность, чтобы определить, что , а затем переходим к тому, чтобы показать, что имеет тип .AU42U99U100A:U100AU99U100

Мы могли бы избавиться от накопления, но тогда правила стали бы более сложными. Например, формирование будет читать или В любом случае теория типов имеет много тонких вариаций, и кажется, что заставить их всех играть вместе приятно быть немного искусства.

ΓX:UiΓY:UjΓ(XY):Umax(i,j)
ΓX:UiΓY:UjikjkΓ(XY):Uk
Андрей Бауэр
источник