Лямбда-куб

Лямбда-куб
Лямбда-куб. Стрелка вдоль каждого ребра указывает на направление включения; более простая система является частным случаем более сложной.

Ля́мбда-куб (λ-куб) задает единообразное описание восьми различных систем типизированного лямбда-исчисления с явным приписыванием типов (систем, типизированных по Чёрчу). Он организован в соответствии с возможными зависимостями между типами и термами этого исчисления и формирует естественную структуру для исчисления конструкций. Идею лямбда-куба предложил в 1991 году голландский логик и математик Хенк Барендрегт.

Содержание

Структура λ-куба

Под зависимостью F от X понимается

  • возможность функционального применения F к X, то есть FX;
  • возможность задать соответствующую лямбда-абстракцию: \lambda X:T\,.\,FX.

При этом и F, и X могут, в зависимости от конкретной системы, являться как термами, так и типами.


Базовой вершиной куба служит система \lambda\!\!\rightarrow, соответствующая просто типизированному лямбда-исчислению. Термы зависят от термов; типы в зависимостях не участвуют. Три оси, выходящие из базовой вершины, порождают следующие системы:

  • термы, зависящие от типов: система \lambda 2 (лямбда-исчисление с полиморфными типами);
  • типы, зависящие от типов: система \lambda\underline{\omega} (лямбда-исчисление с операторами над типами);
  • типы, зависящие от термов: система \lambda P (лямбда-исчисление с зависимыми типами).


Остальные системы представляют собой различные комбинации перечисленных возможностей. Наиболее богатая система \lambda P\omega (полиморфное лямбда-исчисление высшего порядка с зависимыми типами) фактически представляет собой исчисление конструкций.

Свойства систем λ-куба

Все системы лямбда-куба обладают свойством сильной нормализации: любой допустимый терм (и тип) за конечное число β-редукций приводится к (единственной) нормальной форме.

Поддержка в языках программирования

Различные функциональные языки поддерживают различное подмножество представленных в лямбда-кубе систем типов.

  • Haskell, ML — λ2 (System F)
  • В ограниченной форме Haskell (в реализации GHC начиная с последних версий) поддерживает \lambda\underline{\omega} с помощью "type families".
  • Coq, Agda\lambda P \omega (исчисление конструкций)

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Лямбда-куб" в других словарях:

  • Лямбда-исчисление с типами — Типизированное λ исчисление это типовый формализм, использующий символ абстракции «λ» для записи выражений, обозначающих безымянные функции. Типовые λ исчисления являются фундаментальными примитивными языками программирования, которые… …   Википедия

  • Типизированное лямбда-исчисление — Типизированное λ исчисление это типовый формализм, использующий символ абстракции «λ» для записи выражений, обозначающих безымянные функции. Типовые λ исчисления являются фундаментальными примитивными языками программирования, которые… …   Википедия

  • Список статей по математической логике —   Это служебный список статей, созданный для координации работ по развитию темы.   Данное предупреждение не ус …   Википедия

  • Зависимый тип — Типизация данных Типобезопасность Вывод типов Динамическая типизация Статическая типизация Строгая типизация Мягкая типизация Зависимые типы Утиная типизация Зависимый тип, в информатике и логике  тип, который зависит от значения. Зависимые… …   Википедия

  • Математика гармонии — Эта статья предлагается к удалению. Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/22 ноября 2012. Пока процесс обсуждени …   Википедия

  • Сопротивление (Half-Life 2) — У этого термина существуют и другие значения, см. Сопротивление. Граффити повстанцев изображение строчной греческой буквы лямбда, знака Сопротивления Сопротивление (англ …   Википедия

  • Войска Альянса (Half-Life) — Данная статья представляет собой описание иерархии вооруженных сил Альянса  межпланетного союза из вселенной компьютерной игры Half Life 2. Вооруженные силы Альянса на Земле представлены личным составом и военной техникой, среди которой есть …   Википедия

  • Космологический принцип — Космология Изучаемые объекты и процессы …   Википедия

  • Нихилант — Нихилант (англ. Nihilanth) финальный босс из компьютерной игры Half Life от Valve Corporation. Имя монстра произошло от латинского слова «nihil» («ничто», «нисколько») с до …   Википедия

  • Илай Вэнс — Eli Vance Илай Вэнс на своей базе, в главе Восточная Чёрная Меза в Half Life 2 Игровая серия …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»