Так что в настоящее время я иду через книгу HoTT с некоторыми людьми. Я утверждал, что большинство индуктивных типов, которые мы увидим, можно свести к типам, содержащим только зависимые типы функций и вселенные, взяв тип рекурсора как вдохновение для эквивалентного типа. Я начал обрисовывать, как я думал, что это будет работать, и после некоторого спотыкания я пришел к тому, что мне показалось ответом.
Это дает правильные определяющие уравнения (определяющие уравнения для и опущены), но это будет означать, что будет иметь неправильный тип.
И, кажется, нет простого решения этой проблемы. Я также подумал о следующем определении.
Но это просто не проверка типа.
У меня была другая идея - использовать для преобразования в но не ясно, как заставить это работать. Прежде всего, я должен показать, как уменьшить типы функций, зависящие от типов идентичности, что оказывается еще сложнее в моих набросках, чем в продуктах. Кроме того, , по-видимому, невозможно определить без надлежащей формы индукции, поэтому даже если бы я позволил себе типы идентичности, представленные в книге, я бы не приблизился к определению
Таким образом, кажется, что мы можем определить рекурсор здесь, но не индуктор. Мы можем определить что-то похожее на индуктор, но не совсем так. Рекурсия позволяет нам выполнять логику, воспринимая этот тип как значение логического соединения, но не позволяет нам доказать вещи о продуктах, которых, по-видимому, не хватает.
Можем ли мы сделать такое сокращение, о котором я заявлял? То есть, можем ли мы определить тип, используя только зависимые типы функций и юниверсы, которые имеют функцию сопряжения и индуктор с теми же определяющими уравнениями и типами, что и продукты? Это мое растущее подозрение, что я сделал ложное заявление. Кажется, что мы можем быть так разочаровывающе близки, но просто не совсем можем это сделать. Если мы не можем определить это, какой аргумент объясняет, почему мы не можем? Увеличивают ли продукты, представленные в книге HoTT, прочность системы?
Ответы:
Стандартная ссылка, которую я часто даю, - « Индукция» не выводится в теории зависимых типов второго порядка Германа Гиверса, которая говорит, что нет типа
с функциями
такой, что
доказуемо. Это говорит о том, что на самом деле такая кодировка не может работать для пар, как вы описываете.
Система, для которой это доказано, является подмножеством Исчисления Конструкций, которое содержит мощные типы продуктов и вселенную. Я подозреваю, что этот результат может быть распространен на интересующую вас систему, в зависимости от того, что у вас есть.
К сожалению, я не знаю полного ответа на ваш вопрос. Я подозреваю, что добавление определенных принципов параметричности «внутри» - это именно то, что требуется для того, чтобы эти кодировки работали по принципу полной индукции. Нил Кришнасвами, чьи знания являются строгим моим собственным надзором, написал статью с Дереком Драйером:
Интернализация реляционной параметричности в экстенсиональном исчислении конструкций
Также представляет интерес следующая статья Бернарди, Янссона и Паттерсона (Бернарди глубоко задумался над этими темами):
Параметричность и зависимые типы
Очевидно, что параметричность тесно связана с HoTT в целом, но я не знаю, каковы детали. Я думаю, что Стив Awodey рассмотрел эти вопросы, так как уловка кодирования полезна в контекстах, где мы действительно не знаем, как должны выглядеть элиминаторы.
источник
Чтобы ваша идея работала, вам нужно что-то дополнительное, как было указано в ответе @ cody. Сэм Спейт работал под руководством Стива Аводи, чтобы увидеть, чего можно достичь в HoTT, используя непредсказуемую вселенную, см. Impredicative Encodings of Inductive Types в блоге HoTT .
источник