Система У
В математической логике Система U и Система U − являются чистыми системами типов , т.е. специальными формами типизированного лямбда-исчисления с произвольным числом сортов , аксиом и правил (или зависимостей между сортами). Несовместимость системы U была доказана Жан-Ивом Жираром в 1972 году. [1] (и вопрос последовательности Система У − было сформулировано).Этот результат привел к осознанию того, что Мартина-Лёфа первоначальная теория типов 1971 года была непоследовательной, поскольку допускала то же поведение «Тип в типе», которое использует парадокс Жирара.
Формальное определение
[ редактировать ]Система U определена [2] : 352 как система чистых типов с
- три вида ;
- две аксиомы ; и
- пять правил .
Система У − определяется так же, за исключением правило.
Сорта и условно называются «Тип» и « Вид » соответственно; вид не имеет конкретного названия. Две аксиомы описывают включение типов в виды ( ) и виды в ( ). Интуитивно понятно, что сорта описывают иерархию по природе терминов.
- Все значения имеют тип , например базовый тип ( например, читается как « b — логическое значение») или (зависимый) тип функции ( например, читается как « f — функция преобразования натуральных чисел в логические значения»).
- является сортом всех таких типов ( читается как « t — тип»). От мы можем построить больше терминов, таких как это своего рода унарные операторы уровня типа ( например , читается как « Список — это функция от типов к типам», то есть полиморфный тип). Правила ограничивают то, как мы можем создавать новые виды.
- это сорт всех таких видов ( читается как « к — вид»). Точно так же мы можем создавать связанные термины в соответствии с тем, что позволяют правила.
- это разновидность всех таких терминов.
Правила регулируют зависимости между сортами: говорит, что значения могут зависеть от значений ( функций ), позволяет значениям зависеть от типов ( полиморфизм ), позволяет типам зависеть от типов ( операторов типов ) и так далее.
Парадокс Жирара
[ редактировать ]Определения системы U и U − позволяют присваивать полиморфные виды универсальным конструкторам по аналогии с полиморфными типами терминов в классических полиморфных лямбда-исчислениях, таких как System F . Примером такого универсального конструктора может быть [2] : 353 (где k обозначает переменную типа)
- .
Этого механизма достаточно для построения терма типа (эквивалент типа ), что означает, что каждый тип обитаем . Согласно соответствию Карри-Ховарда это эквивалентно доказуемости всех логических утверждений, что делает систему несовместимой.
Парадокс Жирара — это теоретико-типический аналог парадокса Рассела в теории множеств .
Ссылки
[ редактировать ]- ^ Жирар, Жан-Ив (1972). «Функциональная интерпретация и устранение сокращений арифметики высшего порядка» (PDF) .
- ^ Jump up to: а б Соренсен, Мортен Хейне; Уржичин, Павел (2006). «Системы чистых типов и лямбда-куб». Лекции по изоморфизму Карри–Говарда . Эльзевир. дои : 10.1016/S0049-237X(06)80015-7 . ISBN 0-444-52077-5 .
Дальнейшее чтение
[ редактировать ]- Барендрегт, Хенк (1992). «Лямбда-исчисления с типами» . У С. Абрамского; Д. Габбай; Т. Майбаум (ред.). Справочник по логике в информатике . Оксфордские научные публикации . стр. 117–309.
- Коканд, Тьерри (1986). «Анализ парадокса Жирара». Логика в информатике . Издательство Компьютерного общества IEEE . стр. 227–236.
- Хуркенс, Антониус Дж. К. (1995). Дезани-Чианкаглини, Марианджола; Плоткин, Гордон (ред.). Упрощение парадокса Жирара . Вторая международная конференция по типизированным лямбда-исчислениям и их приложениям (TLCA '95) . Эдинбург. стр. 266–278. дои : 10.1007/BFb0014058 .