Это не официальный сайт wikipedia.org 01.01.2023

Просто типизированное лямбда-исчисление — Википедия

Просто типизированное лямбда-исчисление

Просто типизированное лямбда-исчисление (простое типизированное лямбда-исчисление, лямбда-исчисление с простыми типами, система λ ) — система типизированного лямбда-исчисления, в которой лямбда-абстракции приписывается специальный «стрелочный» тип. Эта система была предложена Алонзо Чёрчем в 1940 году[1]. Для близкого к лямбда-исчислению формализма комбинаторной логики похожая система рассматривалась Хаскеллом Карри в 1934 году[2].

Формальное описаниеПравить

Синтаксис типов и термовПравить

В базовой версии системы λ   типы конструируются из набора переменных с помощью единственного бинарного инфиксного конструктора  . По традиции для переменных типа используют греческие буквы, а оператор   считают правоассоциативным, то есть α β γ   является сокращением для α ( β γ )  . Буквы из второй половины греческого алфавита ( σ  , τ  , и т.д.) часто используются для обозначения произвольных типов, а не только переменных типа.

Различают две версии просто типизированной системы. Если в качестве термов используются те же термы, что и в бестиповом лямбда-исчислении, то систему называют неявно типизированной или типизированной по Карри. Если же переменные в лямбда-абстракции аннотируются типами, то систему называют явно типизированной или типизированной по Чёрчу. В качестве примера приведём тождественную функцию в стиле Карри: λ x .   x  , и в стиле Чёрча: λ x : α .   x  .

Правила редукцииПравить

Правила редукции не отличаются от правил для бестипового лямбда-исчисления. β  -редукция определяется через подстановку

( λ x : σ .   M )   N   β   M [ x := N ]  .

η  -редукция определяется так

λ x : σ .   M   x   η   M  .

Для η  -редукции требуется, чтобы переменная x   не была свободной в терме M  .

Контексты типизации и утверждения типизацииПравить

Контекстом называется множество утверждений о типизации переменных, разделённых запятой, например,

f : ( β γ ) , g : ( α β ) , x : α  

Контексты обычно обозначают прописными греческими буквами: Γ , Δ  . В контекст можно добавить «свежую» для этого контекста переменную: если Γ   — допустимый контекст, не содержащий переменной x  , то Γ , x : α   — тоже допустимый контекст.

Общий вид утверждения о типизации таков:

Γ M : σ  

Это читается следующим образом: в контексте Γ   терм M   имеет тип σ  .

Правила типизации (по Чёрчу)Править

В просто типизированном лямбда-исчислении приписывание типов термам осуществляется по приведённым ниже правилам.

Аксиома. Если переменной x   присвоен в контексте тип σ  , то в этом контексте x   имеет тип σ  . В виде правила вывода:

x : σ Γ Γ x : σ  

Правило введения  . Если в некотором контексте, расширенном утверждением, что x   имеет тип σ  , терм M   имеет тип τ  , то в упомянутом контексте (без x  ), лямбда-абстракция λ x : σ .   M   имеет тип σ τ  . В виде правила вывода:

Γ , x : σ M : τ Γ ( λ x : σ .   M ) : ( σ τ )  

Правило удаления  . Если в некотором контексте терм M   имеет тип σ τ  , а терм N   имеет тип σ  , то применение M   N   имеет тип τ  . В виде правила вывода:

Γ M : ( σ τ ) Γ N : σ Γ ( M   N ) : τ  

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

Примеры утверждений о типизации в стиле Чёрча:

x : α x : α       (аксиома)
( λ x : α .   x ) : ( α α )       (введение  )
f : ( β γ δ ) , y : β ( f   y ) : ( γ δ )        (удаление  )

СвойстваПравить

  • Просто типизированная система обладает свойством типовой безопасности: при β  -редукциях тип лямбда-терма остаётся неизменным, а сама типизация не мешает продвижению вычислений.
  • В 1967 году Уильям Тэйт доказал[3], что β  -редукция для просто типизированной системы обладает свойством сильной нормализации: любой допустимый терм за конечное число β  -редукций приводится к единственной нормальной форме. Как следствие β η  -эквивалентность термов оказывается разрешимой в этой системе.
  • Изоморфизм Карри — Ховарда связывает просто типизированное лямбда-исчисление с так называемой «минимальной логикой» (фрагментом интуиционистской логики высказываний, включающим только импликацию): населённые типы являются в точности тавтологиями этой логики, а термы соответствуют доказательствам, записанным в форме естественного вывода.

ПримечанияПравить

  1. A. Church. A Formulation of the Simple Theory of Types // J. Symbolic Logic. — 1940. — С. 56-68.
  2. H. B. Curry. Functionality in Combinatory Logic // Proc Natl Acad Sci USA. — 1934. — С. 584–590.
  3. W. W. Tait. Intensional Interpretations of Functionals of Finite Type I // J. Symbolic Logic. — 1967. — Т. 32(2).

ЛитератураПравить