Какая связь и различие между исчислением индуктивных конструкций и теорией интуиционистского типа?

25

Как указано в заголовке, мне интересно какое-либо отношение и различие между CIC и ITT. Может ли кто-нибудь объяснить или указать мне некоторую литературу, которая сравнивает эти две системы? Спасибо.

день
источник
3
Для меня ITT означает «Интуиционистская теория типов», что может означать несколько вещей. В частности, существует большое количество тонких отклонений от оригинального описания (s!) Мартина-Лофа, и было бы полезно обсудить, если бы вы дали ссылку, которая описывает ITT, о котором вы думаете. Короткий ответ таков: ITT в смысле Мартина-Лофа без вселенной - это под-теория CoC. В присутствии вселенных, но без индуктивных типов, вы можете раздавить все вселенные в единую непредсказуемую вселенную CoC. С большими индуктивными типами и большим устранением все становится более сложным.
Коди
1
И хорошее обсуждение некоторых из этих вещей можно найти в Geuvers: cs.ru.nl/~herman/PUBS/CC_CHiso.ps.gz
cody
Спасибо за комментарии и связанную статью, Коди. Это выглядит то, что я ищу.
день
1
PDF-версия статьи, упомянутой @cody: cs.ru.nl/~herman/PUBS/CC_CHiso.pdf
Стивен Шоу,

Ответы:

24

Я уже несколько ответил, но постараюсь дать более подробный обзор теоретического горизонта типа, если хотите.

Я немного не в курсе исторической специфики, поэтому более информированные читатели должны простить меня (и исправить меня!). Основная история заключается в том, что Карри обнаружил базовое соответствие между комбинаторами простого типа (или -terms) и логикой высказываний, которая была расширена Говардом, чтобы охватить логику первого порядка, и IIRC, независимо обнаруженный де Брюйном в исследованиях вокруг очень влиятельная система Automath .λ

Система Automath была усовершенствованием простой теории типов Черча, которая сама по себе была резким упрощением теории типов Рассела и Уайтхеда с использованием вселенных и аксиомы сводимости . Это была относительно известная логическая местность к 1960-м годам.

Однако предоставление последовательной, простой, основополагающей системы, охватывающей как системы доказательств, так и терминов, к 1970 году все еще оставалось очень открытым вопросом, и первый ответ дал Пер Мартин-Лёф. Он дает очень философский обзор о значении логических констант и обосновании логических законов . Он полагает, что как в логике, так и в математике значение конструкций можно определить, изучив правила введения, которые позволяют формировать эти конструкции в качестве суждений, например, для соединения

AВAВ

Определяет соответствующее правило исключения. Затем он дал очень мощную основополагающую систему, основанную на таких суждениях, что позволило ему дать основополагающую систему, аналогичную Automath, используя очень мало синтаксических конструкций. Жирар обнаружил, что эта система была противоречивой, побудив Мартина-Лёфа принять предикативные вселенные «в стиле Рассела» , серьезно ограничив выразительность теории (эффективно удаляя аксиому сводимости) и сделав ее несколько более сложной (но обладающей преимуществом: делая это последовательно).

Однако элегантные конструкции, позволяющие определять логические символы, больше не работали, что побудило ML представить их в другой форме в качестве индуктивно определенных семейств . Это очень мощная идея, так как она позволяет определять все, начиная от объективного равенства и логических операторов до натуральных чисел и функциональных типов данных, как они появляются в информатике. Обратите внимание, что каждое добавляемое нами семейство сродни добавлению ряда аксиом, которые должны быть обоснованы как согласованные в каждом случае. Эту систему (зависимые типы + вселенные + индуктивные семейства) обычно называют ITT .

Однако было некоторое длительное разочарование, поскольку мощная, но простая основополагающая система была непоследовательна, и получающаяся в результате система была более сложной и несколько слабой (в том смысле, что в ней было трудно разработать большую часть современной математической основы). Энтер Тьерри Кокванд, который вместе со своим руководителем Жераром Уэтом представил «Конструктивное исчисление» (CoC) , которое в основном решает следующие проблемы: унифицированный подход к доказательствам и типам данных, мощная (непредсказуемая) основополагающая система и способность определять «конструкции» «логического или математического разнообразия. Это в конечном итоге переросло в реальную реализацию системы, разработанной как современная альтернатива Automath, кульминацией которой стала система Coq , которую мы знаем и любим.

Я настоятельно рекомендую эту основополагающую статью о CoC, так как Тьерри знает нелепое количество исторического развития теории типов и, вероятно, объясняет это гораздо лучше, чем я. Возможно, вы также захотите проверить его статью по теории типов, хотя это не так. объяснить переписку СН в деталях.

Коди
источник
5
Возможно, стоит отметить, что CoC, несмотря на всю мощь его неимоверной конструкции типов данных, не может доказать индукцию, и более поздние авторы (например, Paulin-Mohring) расширили CoC с помощью индуктивных конструкций а-ля Martin-Löf, что привело к исчислению. индуктивных конструкций, который используется в Coq.
Мартин Бергер
1
Да, я забыл прокомментировать это. Однако достаточно добавить простую аксиому (для подходящего кодирования используемых понятий). 10
Коди
1
Индуктивные типы были добавлены, чтобы улучшить вычислительное поведение в дополнение к этому.
Коди
1
Ну, функция-предшественник не может быть вычислена в постоянное время с использованием нечеткого определения для натуральных чисел. Смотрите, например, здесь или здесь .
Коди
1
Да, церковные цифры, но аналогичный результат будет иметь место для более разумных типов данных, таких как связанные списки. Пример машины Тьюринга предполагает, что машины Тьюринга также не подходят для практических вычислений! :)
Коди