Jump to content

Дисциплина типа перекрестка

В математической логике дисциплина типов пересечений — это раздел теории типов, охватывающий системы типов , использующие конструктор типов пересечений. для присвоения нескольких типов одному термину. [1] В частности, если термин может быть назначен как тип и тип , затем можно назначить тип пересечения (и наоборот).Следовательно, конструктор типа пересечения можно использовать для выражения конечного гетерогенного специального полиморфизма (в отличие от параметрического полиморфизма ).Например, λ-член можно присвоить тип в большинстве систем типа пересечения, принимая в качестве термина переменную оба типа функции и соответствующий тип аргумента .

Известные системы типов пересечений включают систему присвоения типов Коппо-Дезани, [2] система присвоения типов Барендрегта-Коппо-Дезани, [3] и существенная система назначения типов перекрестков. [4] Самое поразительное, что системы типа пересечения тесно связаны (и часто точно характеризуют) со свойствами нормализации λ-термов при β-редукции .

В языках программирования, таких как TypeScript [5] и Скала, [6] Типы пересечений используются для выражения специального полиморфизма .

Дисциплина перекрестного типа была впервые разработана Марио Коппо, Марианджолой Дезани-Чианкаглини , Патриком Салле и Гаррелом Поттинджером. [2] [7] [8] Основной мотивацией было изучение семантических свойств (таких как нормализация ) λ-исчисления с помощью теории типов . [9] Хотя первоначальная работа Коппо и Дезани установила теоретико-типовую характеристику сильной нормализации для λI-исчисления, [2] Поттинджер распространил эту характеристику на λK-исчисление. [7] Кроме того, Салле ввёл понятие универсального типа. который можно приписать любому λ-терму, что соответствует пустому пересечению. [8] Использование универсального типа позволил провести детальный анализ нормализации головы, нормализации и сильной нормализации. [10] В сотрудничестве с Хенком Барендрегтом была предложена λ-модель фильтра для системы типов пересечений, еще более тесно связывающая типы пересечений с семантикой λ-исчисления.

Из-за соответствия с нормализацией типизация в известных системах типа пересечения (исключая универсальный тип) неразрешима .Кроме того, неразрешимость двойственной проблемы типового обитания в известных системах перекрестного типа. Павел Ужичин доказал [11] Позже этот результат был уточнен, показав экспоненциальную полноту пространства обитания типа пересечения 2-го ранга и неразрешимость обитания типа пересечения 3-го ранга. [12] Примечательно, что заселенность основного типа разрешима за полиномиальное время . [13]

Система присвоения типов Коппо-Дезани

[ редактировать ]

Система присвоения типов Коппо-Дезани. расширяет просто типизированное λ-исчисление , позволяя предполагать несколько типов для терминальной переменной. [2]

Термин язык

[ редактировать ]

Термин «язык» задается λ-термами (или лямбда-выражениями ):

Введите язык

[ редактировать ]

Типовой язык индуктивно определяется следующей грамматикой:

Конструктор типа пересечения ( ) берется по модулю ассоциативности, коммутативности и идемпотентности.

Правила набора текста

[ редактировать ]

Правила набора текста , , , и из являются:

Характеристики

[ редактировать ]

Типизация и нормализация тесно связаны в по следующим свойствам: [2]

  • Сокращение темы : Если и , затем .
  • Нормализация : Если , затем имеет β-нормальную форму .
  • Типизация сильно нормализующих λ-термов : Если , сильно нормализуется то для некоторых и .
  • Характеристика λI-нормализации : имеет нормальную форму в λI-исчислении тогда и только тогда, когда для некоторых и .

Если язык типов расширен и содержит пустое пересечение, т.е. , затем замкнут относительно β-равенства, корректен и полон для семантики вывода. [14]

Система присвоения типов Барендрегта – Коппо – Дезани

[ редактировать ]

Система присвоения типов Барендрегта – Коппо – Дезани. расширяет систему присвоения типов Коппо-Дезани в следующих трех аспектах: [3]

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

Термин язык

[ редактировать ]

Термин «язык» задается λ-термами (или лямбда-выражениями ):

Введите язык

[ редактировать ]

Типовой язык индуктивно определяется следующей грамматикой:

Подтип типа перекрестка

[ редактировать ]

Подтип типа перекрестка определяется как наименьший предварительный порядок ( рефлексивное и транзитивное отношение) над типами пересечений, удовлетворяющий следующим свойствам:

Подтипы типов пересечений разрешимы за квадратичное время. [15]

Правила набора текста

[ редактировать ]

Правила набора текста , , , , , и из являются:

Характеристики

[ редактировать ]
  • Семантика : является надежным и полным. λ-модель фильтра, в которой интерпретация λ-терма совпадает с набором типов, которые ему можно присвоить. [3]
  • Сокращение темы : Если и , затем . [3]
  • Расширение темы : Если и , затем . [3]
  • Характеристика сильной нормализации : сильно нормализует относительно. β-редукция тогда и только тогда, когда выводится без правила для некоторых и . [16]
  • Основные пары : Если сильно нормализуется, то существует главная пара такой, что при любом наборе текста пара можно получить из главной пары посредством расширения, поднятия и замены типов. [17]
  1. ^ Хенк Барендрегт; Уил Деккерс; Ричард Стэтман (20 июня 2013 г.). Лямбда-исчисление с типами . Издательство Кембриджского университета. стр. 1–. ISBN  978-0-521-76614-2 .
  2. ^ Перейти обратно: а б с д и Коппо, Марио; Дезани-Чианкаглини, Марианджола (1980). «Расширение базовой теории функциональности для λ-исчисления» . Журнал формальной логики Нотр-Дама . 21 (4): 685–693. дои : 10.1305/ndjfl/1093883253 . S2CID   29748788 .
  3. ^ Перейти обратно: а б с д и Барендрегт, Хенк; Коппо, Марио; Дезани-Чианкаглини, Марианджола (1983). «Фильтр лямбда-модели и полнота присвоения типа». Журнал символической логики . 48 (4): 931–940. дои : 10.2307/2273659 . JSTOR   2273659 . S2CID   45660117 .
  4. ^ ван Бакель, Штеффен (2011). «Строгие типы пересечений для лямбда-исчисления». Обзоры вычислительной техники ACM . 43 (3): 20:1–20:49. CiteSeerX   10.1.1.310.2166 . дои : 10.1145/1922649.1922657 . S2CID   5537689 .
  5. ^ «Типы пересечений в TypeScript» . Проверено 1 августа 2019 г.
  6. ^ «Составные типы в Scala» . Проверено 1 августа 2019 г.
  7. ^ Перейти обратно: а б Поттинджер, Г. (1980). Присвоение типа сильно нормализуемых λ-термов. Х.Б. Карри: эссе по комбинаторной логике, лямбда-исчислению и формализму, 561–577.
  8. ^ Перейти обратно: а б Коппо, Марио; Дезани-Чианкаглини, Марианджола; Салле, Патрик (1979). «Функциональная характеристика некоторых семантических равенств внутри лямбда-исчисления». В Германе А. Маурере (ред.). Автоматы, языки и программирование, 6-й коллоквиум, Грац, Австрия, 16-20 июля 1979 г., Труды . Том. 71. Спрингер. стр. 133–146. дои : 10.1007/3-540-09510-1_11 . ISBN  3-540-09510-1 .
  9. ^ Коппо, Марио; Дезани-Чианкаглини, Марианджола (1978). «Новое присвоение типа для λ-термов». Архив математической логики и фундаментальных исследований . 19 (1): 139–156. дои : 10.1007/BF02011875 . S2CID   206809924 .
  10. ^ Коппо, Марио; Дезани-Чианкаглини, Марианджола; Веннери, Бетти (1981). «Функциональные характеры разрешимых термов». Математическая логика Ежеквартальный журнал . 27 (2–6): 45–58. дои : 10.1002/malq.19810270205 .
  11. ^ Уржичин, Павел (1999). «Проблема пустоты для типов пересечений». Журнал символической логики . 64 (3): 1195–1215. дои : 10.2307/2586625 . JSTOR   2586625 . S2CID   36979036 .
  12. ^ Уржичин, Павел (2009). «Заселение перекрестков низкого ранга». Международная конференция по типизированным лямбда-исчислениям и их приложениям . TLCA 2009. Том. 5608. Спрингер. стр. 356–370. дои : 10.1007/978-3-642-02273-9_26 . ISBN  978-3-642-02272-2 .
  13. ^ Дуденхефнер, Андрей; Рехоф, Якоб (2019). «Принципальность и приближение в рамках размерной границы». Труды ACM по языкам программирования . ПОПЛ 2019. Том. 3. АКМ. стр. 8:1–8:29. дои : 10.1145/3290321 . ISSN   2475-1421 .
  14. ^ Ван Бакель, Штеффен (1992). «Полные ограничения дисциплины типа перекрестка». Теоретическая информатика . 102 (1): 135–163. CiteSeerX   10.1.1.310.903 . дои : 10.1016/0304-3975(92)90297-С .
  15. ^ Дуденхефнер, Андрей; Мартенс, Мориц; Рехоф, Якоб (2017). «Алгебраическая задача объединения типов пересечений». Логические методы в информатике . 13 (3). дои : 10.23638/LMCS-13(3:9)2017 . S2CID   31640337 .
  16. ^ Гилезан, Сильвия (1996). «Сильная нормализация и типизация с типами пересечений» . Журнал формальной логики Нотр-Дама . 37 (1): 44–52. дои : 10.1305/ndjfl/1040067315 .
  17. ^ Рончи Делла Рокка, Симона; Веннери, Бетти (1983). «Основные схемы типов расширенной теории типов» . Теоретическая информатика . 28 ((1-2)): 151–169. дои : 10.1016/0304-3975(83)90069-5 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e91facb764f09f3f59fafd65d30bafb2__1704943620
URL1:https://arc.ask3.ru/arc/aa/e9/b2/e91facb764f09f3f59fafd65d30bafb2.html
Заголовок, (Title) документа по адресу, URL1:
Intersection type discipline - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)