Бета-нормальная форма
В лямбда-исчислении термин находится в бета-нормальной форме, если бета-редукция невозможна. [1] Термин находится в бета-эта нормальной форме , если ни бета-редукция, ни эта-редукция невозможны. Термин находится в нормальной форме головы , если в позиции головы нет бета-редекса . Нормальная форма термина, если она существует, уникальна (как следствие теоремы Чёрча – Россера ). [2] Однако термин может иметь более одной головной нормальной формы.
Бета-снижение [ править ]
В лямбда-исчислении бета-редекс представляет собой термин вида: [3] [4]
- .
редекс находится на руководящей позиции в семестре , если имеет следующую форму (обратите внимание, что приложение имеет более высокий приоритет, чем абстракция, и что приведенная ниже формула представляет собой лямбда-абстракцию, а не приложение):
- , где и .
Бета -редукция — это применение следующего правила перезаписи к бета-редексу, содержащемуся в терме:
где является результатом замены термина для переменной в срок .
Бета -редукция головы – это бета-редукция, применяемая в положении головы, то есть следующая форма:
- , где и .
Любое другое снижение представляет собой внутреннюю бета-редукцию.
– Нормальная форма это термин, который не содержит бета-редекса. [3] [5] т.е. это не может быть уменьшено дальше. — Нормальная форма головы это термин, который не содержит бета-редекса в положении головы, т. е. который не может быть дополнительно уменьшен за счет уменьшения головы. При рассмотрении простого лямбда-исчисления (т. е. без добавления константных или функциональных символов, которые должны быть сокращены с помощью дополнительного правила дельты), головными нормальными формами являются члены следующей формы:
- , где это переменная, и .
Нормальная форма головы не всегда является нормальной формой, [5] потому что применяемые аргументы не обязательно должен быть нормальным. Однако верно и обратное: любая нормальная форма также является нормальной формой головы. [5] Фактически нормальные формы — это именно главные нормальные формы, в которых подтермы сами по себе являются нормальными формами. Это дает индуктивное синтаксическое описание нормальных форм.
Существует также понятие нормальной формы слабой головы : термин в нормальной форме слабой головы — это либо термин в нормальной форме головы, либо лямбда-абстракция. [6] Это означает, что редекс может появиться внутри лямбда-тела.
Стратегии сокращения [ править ]
В общем, данный терм может содержать несколько редексов, следовательно, может быть применено несколько различных бета-сокращений. Мы можем указать стратегию , чтобы выбрать, какой редекс уменьшить.
- Сокращение нормального порядка — это стратегия, при которой постоянно применяется правило бета-редукции положения головы до тех пор, пока такие редукции больше не станут невозможны. В этот момент результирующий член находится в нормальной форме головы. Затем продолжают применять уменьшение головы в подтерминах. , слева направо. Другими словами, сокращение в нормальном порядке — это стратегия, которая всегда сначала уменьшает самый левый и самый внешний редекс.
- Напротив, при аппликативной редукции сначала применяются внутренние редукции, а затем применяется редукция напора только тогда, когда внутренние редукции больше невозможны.
Приведение к нормальному порядку является полным в том смысле, что если терм имеет головную нормальную форму, то приведение к нормальному порядку в конечном итоге достигнет ее. Согласно синтаксическому описанию нормальных форм, приведенному выше, это влечет за собой то же утверждение для «полностью» нормальной формы (это теорема стандартизации ). Напротив, аппликативное понижение порядка может не прекратиться, даже если термин имеет нормальную форму. Например, используя аппликативное приведение порядка, возможна следующая последовательность приведений:
Но при использовании приведения к нормальному порядку та же самая отправная точка быстро приводится к нормальной форме:
Синота Строки директора — это один из методов, с помощью которого можно оптимизировать вычислительную сложность бета-снижения.
См. также [ править ]
Ссылки [ править ]
- ^ «Бета-нормальная форма» . Энциклопедия . TheFreeDictionary.com . Проверено 18 ноября 2013 г.
- ^ Томпсон, Саймон (1991). Теория типов и функциональное программирование . Уокингем, Англия: Аддисон-Уэсли. п. 38. ISBN 0-201-41667-0 . OCLC 23287456 .
- ^ Jump up to: а б Барендрегт, Хенк П. (1984). Введение в лямбда-исчисление (PDF) (пересмотренная редакция). п. 24.
- ^ Томпсон, Саймон (1991). Теория типов и функциональное программирование . Уокингем, Англия: Аддисон-Уэсли. п. 35. ISBN 0-201-41667-0 . OCLC 23287456 .
- ^ Jump up to: а б с Томпсон, Саймон (1991). Теория типов и функциональное программирование . Уокингем, Англия: Аддисон-Уэсли. п. 36. ISBN 0-201-41667-0 . OCLC 23287456 .
- ^ «Слабая голова, нормальная форма» . Энциклопедия . TheFreeDictionary.com . Проверено 30 апреля 2021 г.