Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в лямбда-исчисление.doc
Скачиваний:
32
Добавлен:
28.06.2014
Размер:
1.54 Mб
Скачать
    1. Редукция и конверсия-термов.

Определим преобразование (бинарное отношение) термов (известное и в других формальных системах с переменными и операторами) и назовем его -правилом, илиправилом замены операторной (связанной) переменной:

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

.

Основу -исчисления составляет так называемое правило-редукции термов, формализующее связь аппликации и -оператора. Если вспомнить, что неформальной основой-исчисления является-нотация функций, то легко заметить, что значение функциидля аргумента, являющегося значением выражения, есть значение выражения, полученного подстановкойв выражениевместо переменной, точнее, вместо свободных вхождений терма-переменнойв выражение. Так, например, значение функциидля аргумента – денотата константы 3, есть денотат константы, то есть число десять. Формально эта взаимосвязь представлена в-исчислении в форме бинарного отношениятак называемой редукции термов, определяемого как некоторое определенное ниже замыкание базового отношениямежду термами:

.

Терм слева называется -редексом (reduced expression), а терм справа – -контрактом. Отношение редукции определяется как наименьшее отношение, удовлетворяющее следующим требованиям:

  1. .

  2. .

  3. .

  4. , где – произвольный-контекст.

Последовательность термов ,, называетсяпроцессом редукции терма к терму, если

  1. ,

  2. ,

  3. для всех существуют термыии контекст, такие, чтоили,и.

Определение 1. Терм находится в -нормальной форме (или просто в нормальной форме), если он не содержит -редексов. Иными словами, термнаходится в нормальной форме, если не существуют такиеи контекст, что.

Очевидно, что соответствующий предикат , проверяющий, находится терм-аргумент в нормальной форме или нет, рекурсивен (разрешим). В следующем разделе можно найти его описание.

Определение 2. Терм имеет нормальную форму, если существует такой терм в нормальной форме, что.

Нетрудно привести примеры термов, как имеющих, так и не имеющих нормальную форму: термы ,находятся в нормальной форме и, следовательно, имеют нормальную форму, термне находится в нормальной форме, но имеет нормальную форму, а термне имеет нормальной формы (представляет собой-редекс, после замены его на контракт вновь представляет собой тот же самый-редекс и т.д.).

Определение 3. Процесс редукции ,, называетсястандартной редукцией, если на каждом шаге , таком, что, в качестве контекставхождения заменяемого на контракт-редексавыбирается контекст самого левого из всех вхождений редексов в терм. Заметим, что все вхождения-редексов в некоторый терм естественно упорядочиваются слева направо по позициям, занимаемым в терме внешними открывающими скобками вхождений в терм этих редексов).

Теорема 1 (о стандартной редукции).

Если терм им Ф Ф ФФФФФФФФФФФФФФФФФФФФФФФ ФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФ Феет нормальную форму, то она достигается в результате стандартной редукции.

Доказательство. Кратко, идея доказательства такова. Нетрудно показать, что самый внешний редекс терма остается редексом в результате замены любых других редексов на соответствующие контракты. Поэтому для получения в результате редукции терма в нормальной форме замена его на контракт необходима. В то же время в результате этой замены некоторые из других редексов могут исчезнуть, не оставив «потомков».

Стандартная редукция -термов в программировании является аналогом стратегии вызова параметров функцийпо имени (или стратегии так называемых ленивых вычислений), как альтернативы стратегии вызова параметров по значению (энергичных вычислений) Как известно, стратегия вызова параметров функций по имени позволяет достигнуть максимально возможной результативности вычисления значения функции (для параметров функций с «побочным эффектом» эти стратегии, в общем случае, могут приводить к разным результатам).

Определение 4. Отношение порядка на некотором множестветермов называетсяконфлюэнтным, если имеет место утверждение:

.

Теорема 2 (Черча-Россера).

Отношение редукции на множестве-термов является конфлюэнтным.

Доказательство можно найти в монографиях, посвященных более глубокому изложению теории -исчисления, например в [2].

Следствие 1 (теоремы 2).

Если -термимеет нормальную форму, то она – единственная (с точностью до-конверсии термов).

Доказательство очевидно.

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

  1. .

  2. .

  3. .

  4. .

  5. .

  6. , где – произвольный-контекст.

Следствие 2 (теоремы 2).

Если (термконвертируется с термом ), то существует такой терм, чтои.

Доказательство очевидно.

Соглашение об обозначениях.

Для облегчения дальнейшего изложения примем некоторые соглашения о сокращенном представлении -термов:

(обобщенный -оператор).

(обобщенная аппликация).

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

  2. Вместо символов переменных могут использоваться любые строчные латинские буквы, причем разным буквам будут соответствовать переменные с разными номерами.

  3. Прописные латинские буквы в позициях переменных рассматриваются как метапеременные; их значениями могут быть переменные с любыми конкретными номерами.

Например, запись представляет собой сокращенную запись терма.

Теорема 3 (Карри).

Для любого -термаи любой переменнойсуществует-терм, такой, что.

Иными словами, всякое уравнение имеет решение в-исчислении (с точностью до отношения конверсии термов).

Доказательство.

Пусть (называютпарадоксальным комбинатором Карри). Тогда терм , существование которого утверждает теорема 3, может быть получен так:. Тогда

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

Действительно, пусть – решение уравнения , где и для всех , а . Следовательно, . Тогда положим, что для всех , и получим для всех .