В главе 1 и Приложении A к книге Hott представлены несколько семейств примитивных типов (типы юниверсов, зависимые типы функций, типы зависимых пар, типы копроизведения, пустой тип, тип блока, тип натурального числа и типы идентификаторов), образующие основу для теории гомотопического типа.
Однако кажется, что с учетом типов юниверсов и зависимых типов функций вы можете создавать все эти другие «примитивные» типы. Например, тип Empty может быть определен как
ΠT:U.T
Я предполагаю, что другие типы также могут быть сконструированы аналогично тому, как они есть в чистом CC (т.е. просто выводят тип из индуктивной части определения).
Многие из этих типов явно делаются избыточными с помощью типов Inductive / W, которые представлены в главах 5 и 6. Но типы Inductive / W, по-видимому, являются необязательной частью теории, поскольку существуют открытые вопросы о том, как они взаимодействуют с HoTT (в минимум на момент выхода книги).
Поэтому я очень озадачен тем, почему эти дополнительные типы представлены как примитивные. Моя интуиция заключается в том, что основополагающая теория должна быть настолько минимальной, насколько это возможно, и переопределение избыточного пустого типа как примитива в теории кажется очень произвольным.
Был ли сделан этот выбор
- по некоторым метатеоретическим причинам, о которых я не знаю?
- по историческим причинам, чтобы теория типов выглядела как теории типов прошлого (которые не обязательно были основополагающими)?
- для «юзабилити» компьютерных интерфейсов?
- для некоторого преимущества в поиске доказательства, о котором я не знаю?
Аналогично: минимальная спецификация теории типов Мартина-Лёфа , /cs/82810/reduc-products-in-hott-to-church-scott-encodings/82891#82891