Jump to content

Индукция-рекурсия

В интуиционистской теории типов (ITT), дисциплине математической логики , индукция-рекурсия — это возможность одновременного объявления типа и функции для этого типа. Это позволяет создавать более крупные типы, чем индуктивные типы , такие как вселенные . Созданные типы по-прежнему остаются предикативными внутри ITT.

Индуктивное определение дается правилами порождения элементов типа. Затем можно определить функции этого типа путем индукции по способу генерации элементов этого типа. Индукция-рекурсия обобщает эту ситуацию, поскольку можно одновременно определить тип и функцию, поскольку правилам генерации элементов типа разрешено ссылаться на функцию. [1]

Индукцию-рекурсию можно использовать для определения больших типов, включая различные конструкции юниверсов. Это существенно увеличивает теоретико-доказательную силу теории типов. Тем не менее, индуктивно-рекурсивные рекурсивные определения по-прежнему считаются предикативными .

Предыстория [ править ]

Индукция-рекурсия возникла в результате исследований правил интуиционистской теории типов Мартина-Лёфа . Теория типов имеет ряд «формирователей типов» и четыре вида правил для каждого из них. Мартин-Лёф намекнул, что правила для каждого формирователя типа следуют шаблону, который сохраняет свойства теории типов (например, сильная нормализация , предикативность ). Исследователи начали искать наиболее общее описание шаблона, поскольку оно могло бы указать, какие типы формирователей типов можно добавить (или не добавлять!) для расширения теории типов.

Формирователь типа «вселенная» был наиболее интересным, потому что, когда правила были написаны «а-ля Тарский», они одновременно определяли «тип вселенной» и функцию, которая с ней работала. В конечном итоге это привело Дюбьера к индукции-рекурсии.

В первых статьях Дюбьера индукция-рекурсия называлась «схемой» правил. В нем говорилось, какие формирователи типов можно добавить в теорию типов. Позже он и Сетцер напишут новый формирователь типов с правилами, которые позволят создавать новые определения индукции-рекурсии внутри теории типов. [2] Это было добавлено в помощник Halfproof (вариант Alf ).

Идея [ править ]

Прежде чем рассматривать индуктивно-рекурсивные типы, рассмотрим более простой случай — индуктивные типы. Конструкторы для индуктивных типов могут быть самоссылающимися, но ограниченным образом. Параметры конструктора должны быть «положительными»:

  • не ссылаться на определяемый тип
  • быть точно определяемым типом, или
  • быть функцией, которая возвращает определяемый тип.

При использовании индуктивных типов тип параметра может зависеть от более ранних параметров, но они не могут ссылаться на параметры определяемого типа. Индуктивно-рекурсивные типы идут дальше, и типы параметров могут ссылаться на более ранние параметры, которые используют определяемый тип. Они должны быть «полуположительными»:

  • быть функцией, зависящей от предыдущего параметра , если этот параметр заключен в определяемую функцию.

Итак, если определяется тип и определяется ли функция (одновременно), эти объявления параметров являются положительными:

  • (Зависит от предыдущих параметров, ни один из которых не является типом. .)

Это полупозитивно:

  • (Зависит от параметра типа но только через звонок .)

Они не являются ни положительными, ни полуположительными:

  • ( является параметром функции.)
  • (Параметр принимает функцию, которая возвращает , но возвращает себя.)
  • (Зависит от типа , но не через функцию .)

Пример вселенной [ править ]

Простой общий пример — Вселенная типа Тарского. Он создает тип и функция . Есть элемент для каждого типа в теории типов (кроме сам!). Функция отображает элементы к связанному типу.

Тип имеет конструктор (или правило введения) для каждого формирователя типа в теории типов. Для зависимых функций будет:

То есть он принимает элемент типа который будет соответствовать типу параметра и функции такой, что для всех значений , сопоставляется с типом возвращаемого значения функции (который зависит от значения параметра, ). (Финальный говорит, что результатом конструктора является элемент типа .)

Правило редукции (или правила вычислений) гласит, что

становится .

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

Использование [ править ]

Индукция-рекурсия реализована в Agda и Idris . [3]

См. также [ править ]

Ссылки [ править ]

  1. ^ Дюбьер, Питер (июнь 2000 г.). «Общая формулировка одновременных индуктивно-рекурсивных определений в теории типов» (PDF) . Журнал символической логики . 65 (2): 525–549. CiteSeerX   10.1.1.6.4575 . дои : 10.2307/2586554 . JSTOR   2586554 . S2CID   18271311 .
  2. ^ Дюбьер, Питер (1999). «Конечная аксиоматизация индуктивно-рекурсивных определений». Типизированные лямбда-исчисления и приложения . Конспекты лекций по информатике. Том. 1581. стр. 129–146. CiteSeerX   10.1.1.219.2442 . дои : 10.1007/3-540-48959-2_11 . ISBN  978-3-540-65763-7 .
  3. ^ Бове, Ана; Дюбьер, Питер; Норелл, Ульф (2009). «Краткий обзор Agda — функционального языка с зависимыми типами» . В Бергхофере, Стефан; Нипков, Тобиас; Городской, христианский; Венцель, Макариус (ред.). Доказательство теорем в логике высшего порядка . Конспекты лекций по информатике. Том. 5674. Берлин, Гейдельберг: Springer. стр. 73–78. дои : 10.1007/978-3-642-03359-9_6 . ISBN  978-3-642-03359-9 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 61e84989cd09945d8f0472afd0fd41a4__1715194800
URL1:https://arc.ask3.ru/arc/aa/61/a4/61e84989cd09945d8f0472afd0fd41a4.html
Заголовок, (Title) документа по адресу, URL1:
Induction-recursion - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)