Каковы эквациональные законы для нулевых типов?


13

Отказ от ответственности : хотя я забочусь о теории типов, я не считаю себя экспертом по теории типов.

В простом типе лямбда-исчисления нулевой тип не имеет конструкторов и уникального элиминатора:

ΓM:0Γinitial(M):A

С денотационной точки зрения уравнение initial(M1)=initial(M2) очевидно (когда типы имеют смысл).

Однако с этой точки зрения я также могу сделать вывод, что, когда M,M:0 , то: M=M . Этот вывод кажется более сильным, хотя конкретная модель, показывающая его, ускользает от меня.

(У меня есть некоторая теоретико-доказательная интуиция: не имеет значения, какое противоречие вы используете, чтобы получить обитателя, но могут быть разные доказательства противоречия.)

Итак, мои вопросы:

  1. Каковы стандартные эквациональные законы для нулевых типов?
  2. Любой из них классифицируется как или β законы?ηβ

Ответы:


12
  1. Стандартные эквациональные правила для пустого типа, как вы догадываетесь, . Подумайте о стандартной теоретико-множественной модели, в которой множества интерпретируются по типам: типы сумм - это непересекающиеся объединения, а пустой тип - это пустое множество. Таким образом, любые две функции e , e : Γ 0 также должны быть равны, поскольку они имеют общий граф (а именно, пустой граф). ,Γe=e:0e,e:Γ0

  2. Пустой тип не имеет правил, так как для него нет форм введения. Единственное уравнительное правило - это п- правило. Однако, в зависимости от того, насколько строго вы хотите интерпретировать, что такое eta-правило, вы можете разбить его на η плюс коммутирующее преобразование. Строгое η -правило является:βηηη

    e=initial(e)

    Коммутирующее покрытие это:

    C[initial(e)]=initial(e)

РЕДАКТИРОВАТЬ:

Вот почему из дистрибутивности нулевого типа следует равенство всех отображений .A0

Чтобы исправить обозначения, давайте напишем чтобы быть уникальной картой от 0 до A , и давайте напишем e : A 0, чтобы быть некоторой картой от A до 0 .!A:0A0Ae:A0A0

Теперь условие дистрибутивности говорит о том, что существует изоморфизм . Поскольку исходные объекты уникальны с точностью до изоморфизма, это означает, что A × 0 сам по себе является начальным объектом. Теперь мы можем использовать это, чтобы показать, что сам A является начальным объектом.i:0A×0A×0A

Поскольку является исходным объектом, мы знаем отображения π 1 : A × 0 A и ! тг 2 равны.A×0π1:A×0A!Aπ2

Теперь, чтобы показать, что является начальным объектом, нам нужно показать изоморфизм между ним и 0 . Давайте выберем e : A 0 и ! A : 0 A как компоненты изоморфизма. Мы хотим показать, что е ! A = i d 0 и ! е = я d A .A0e:A0!A:0Ae!A=id0!Ae=idA

Показываю, что является немедленным, поскольку существует только одна карта типа 0 0 , и мы знаем, что всегда существует карта тождества.e!A=id000

Чтобы показать другое направление, отметим, что

idA=π1(idA,e)Product equations=!Aπ2(idA,e)Since A×0 is initial=!AeProduct equations

Следовательно, у нас есть изоморфизм , и поэтому A является начальным объектом. Поэтому отображения A 0 являются уникальными, и поэтому, если у вас есть e , e : A 0 , то e = e .A0AA0e,e:A0e=e

РЕДАКТИРОВАТЬ 2: Оказывается, ситуация красивее, чем я первоначально думал. Я узнал от Ульриха Бухольца, что очевидно (в математическом смысле «ретроспективно очевидно»), что каждый biCCC является дистрибутивным. Вот милое маленькое доказательство:

Hom((A+B)×C,(A+B)×C)Hom((A+B)×C,(A+B)×C)Hom((A+B),C(A+B)×C)Hom(A,C(A+B)×C)×Hom(B,C(A+B)×C)Hom(A×C,(A+B)×C)×Hom(B×C,(A+B)×C)Hom((A×C)+(B×C),(A+B)×C)

1
Относительно 1: я думаю о нулевом типе как о начальном объекте. Исходные объекты могут иметь несколько стрел в них, но может быть только одна стрелка из них. Другими словами, я не сразу вижу причину, почему би-ССС подразумевает, что 0 является субтерминалом. Есть один?
Охад Каммар

Да: тот факт, что STLC с суммами нуждается в дистрибутивном bi-CCC ( ) для его интерпретации, и уникальность для типа 0 проявляется как нулевая версия этого. (Попробуйте записать толкование правила исключения для сумм, и вы увидите его.)(X×A)+(X×B)X×(A+B)
Нил Кришнасвами

Я не следую Дистрибутивность составляет имеющих обратное значение. Почему это означает, что 0 является субтерминальным? initial:0A×00
Охад Каммар

Ага! Спасибо за это доказательство! И за терпение тоже!
Охад Каммар

Относительно редактирования 2: Левые примыкания сохраняют ограничения. Если категория декартов замкнута, то сопряжено слева к ( - ) С таким ( + В ) × С является суммой × C + B × C . ()×C()C(A+B)×C A×C+B×C
Охад Каммар

8

Уравнение отражает только тот факт, что 0 имеет не более одного элемента, поэтому я не думаю, что Нил захватывает всю историю. Я бы аксиоматизировал пустой тип 0 следующим образом.e=e:000

Там нет правил вступления. Правило исключения - Уравнение имеет видmagicτ(e)=e:τ,гдеe:0иe:τ. На протяженииτлюбой тип. Уравнение мотивируется следующим образом: если вам удалось сформировать членmagicτ(e),то в0обитает

e:0magicτ(e):τ.
magicτ(e)=e:τ
e:0e:ττmagicτ(e)0 , но это абсурд, поэтому все уравнения верны. Таким образом, другой способ достижения того же эффекта состоит в том, чтобы поставить уравнение x : 0 , Γ e 1 = e 2 : τ, что, возможно, не очень приятно, потому что оно смешивается с контекстом. С другой стороны, это более ясно показывает, что мы констатируем тот факт, что любые два морфизма от 0 до τ равны ( Γ является отвлечением в CCC).e
x:0,Γe1=e2:τ
0τΓ

1
Привет, Андрей, предложенное вами уравнение выводится из приведенного мною преобразования. выводится из C [ m a g i c ( e ) ] = m a g i c ( e ) , поскольку m a g i c ( e ) фактически не должно возникать на левом члене. Аналогия с C [ c a smagic(e)=eC[magic(e)]=magic(e)magic(e) , где не используется результат анализа случая, это нормально, если вы делаете то же самое в обеих ветвях. C[case(e,x.e,y.e)]=case(e,x.C[e],y.C[e])
Нил Кришнасвами

Однако я должен добавить, что мне больше нравится презентация с контекстами - на самом деле, я думаю, что в целом это будет самым чистым, если вы на самом деле допускаете уравнения для суммируемых значений в контексте! Это намного лучше для реальных доказательств, чем игры с коммутирующими преобразованиями, IMO. (IIRC, это эквивалентно добавлению дополнительного предположения о стабильных копроизведениях, но для всех моделей, которые я могу разумно видеть, забота об этом верна.)
Нил Кришнасвами

Ах да, отлично. Мне было слишком поздно думать о коммутирующих преобразованиях, поэтому я притворился, что вы не написали эту часть. Теперь Охад может выбрать.
Андрей Бауэр

1
ηβ

1
Для нулевых типов нет стандартных эквациональных законов. Логики всегда боялись пустой вселенной дискурса, а компьютерные ученые всегда боялись пустого типа. Они даже назвали непустой тип «void», чтобы отрицать пустой тип.
Андрей Бауэр
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.