- •Элементарное введение в -исчисление
- •1. Введение.
- •Λ-исчисление
- •Λ-Термы.
- •Редукция и конверсия-термов.
- •Моделирование в -исчислении конструктивных объектов и вычислимых функций.
- •Представление конструктивных объектов
- •Моделирование вычислимых функций.
- •Примеры.
- •Алгоритмически неразрешимые проблемы в -исчислении.
- •Исчисление комбинаторов.
Редукция и конверсия-термов.
Определим
преобразование (бинарное отношение)
термов (известное и в других формальных
системах с переменными и операторами)
и назовем его
-правилом,
илиправилом
замены операторной
(связанной) переменной:
![]()
Так
как
(
и все свободные вхождения
в
заменены на
),
то и, обратно,![]()
![]()
,
т.е.
-правило
определяет симметричное отношение. В
связи с этим это правило называют
правилом
-конверсии
термов. Далее, как правило, термы
рассматриваются с точностью до
-конверсии
или, иными словами, с точностью до
обозначения связанных переменных. С
учетом этого замечания можно доопределить
и операцию подстановки. В ранее не
определенном случае всегда можно найти
переменную
,
такую, что
,
и сделав замену переменной
на
,
можно внести операцию подстановки под
знак
-оператора:
.
Основу
-исчисления
составляет так называемое правило
-редукции
термов, формализующее связь аппликации
и
-оператора.
Если вспомнить, что неформальной основой
-исчисления
является
-нотация
функций, то легко заметить, что значение
функции
для аргумента, являющегося значением
выражения
,
есть значение выражения, полученного
подстановкой
в выражение
вместо переменной
,
точнее, вместо свободных вхождений
терма-переменной
в выражение
.
Так, например, значение функции
для аргумента – денотата константы 3,
есть денотат константы
,
то есть число десять. Формально эта
взаимосвязь представлена в
-исчислении
в форме бинарного отношения
так называемой редукции термов,
определяемого как некоторое определенное
ниже замыкание базового отношения
между термами:
.
Терм
слева называется
-редексом
(reduced
expression),
а терм справа –
-контрактом.
Отношение
редукции
определяется как наименьшее отношение,
удовлетворяющее следующим требованиям:
.
.
.
,
где
– произвольный
-контекст.
Последовательность
термов
,
,
называетсяпроцессом
редукции
терма
к терму
,
если
,
,для всех
существуют термы
и
и контекст
,
такие, что
или
,
и
.
Определение
1. Терм
находится
в
-нормальной
форме (или
просто в нормальной
форме),
если он не содержит
-редексов.
Иными словами, терм
находится в нормальной форме, если не
существуют такие
и контекст
,
что
.
Очевидно,
что соответствующий предикат

,
проверяющий, находится терм-аргумент
в нормальной форме или нет, рекурсивен
(разрешим). В следующем разделе можно
найти его описание.
Определение
2. Терм
имеет
нормальную форму,
если существует такой терм
в нормальной форме, что
.
Нетрудно
привести примеры термов, как имеющих,
так и не имеющих нормальную форму: термы
,
находятся в нормальной форме и,
следовательно, имеют нормальную форму,
терм
не находится в нормальной форме, но
имеет нормальную форму
,
а терм
не имеет нормальной формы (представляет
собой
-редекс,
после замены его на контракт вновь
представляет собой тот же самый
-редекс
и т.д.).
Определение
3. Процесс
редукции
,
,
называетсястандартной
редукцией,
если на каждом шаге
,
таком, что
,
в качестве контекста
вхождения заменяемого на контракт
-редекса
выбирается контекст самого левого из
всех вхождений редексов в терм
.
Заметим, что все вхождения
-редексов
в некоторый терм естественно упорядочиваются
слева направо по позициям, занимаемым
в терме внешними открывающими скобками
вхождений в терм этих редексов).
Теорема 1 (о стандартной редукции).
Если терм имеет нормальную форму, то она достигается в результате стандартной редукции.
Доказательство. Кратко, идея доказательства такова. Нетрудно показать, что самый внешний редекс терма остается редексом в результате замены любых других редексов на соответствующие контракты. Поэтому для получения в результате редукции терма в нормальной форме замена его на контракт необходима. В то же время в результате этой замены некоторые из других редексов могут исчезнуть, не оставив «потомков».
Стандартная
редукция
-термов
в программировании является аналогом
стратегии вызова параметров функцийпо
имени
(или стратегии так называемых ленивых
вычислений),
как альтернативы стратегии вызова
параметров по
значению
(энергичных
вычислений)
Как известно, стратегия вызова параметров
функций по имени позволяет достигнуть
максимально возможной результативности
вычисления значения функции (для
параметров функций с «побочным эффектом»
эти стратегии, в общем случае, могут
приводить к разным результатам).
Определение
4. Отношение
порядка
на некотором множестве
термов называетсяконфлюэнтным,
если имеет место утверждение:
.
Теорема 2 (Черча-Россера).
Отношение
редукции на множестве
-термов
является конфлюэнтным.
Доказательство
можно найти в монографиях, посвященных
более глубокому изложению теории
-исчисления,
например в [2].
Следствие 1 (теоремы 2).
Если
-терм
имеет нормальную форму, то она –
единственная (с точностью до
-конверсии
термов).
Доказательство очевидно.
Если
к определению отношения редукции термов
добавить дополнительно условие
симметричности, то минимальное отношение,
удовлетворяющее перечисленным ниже
требованиям, называется отношением
конверсии
термов и обозначается инфиксом
(очевидно, что это отношение является
отношением эквивалентности):
.
.
.
.
.
,
где
– произвольный
-контекст.
Следствие 2 (теоремы 2).
Если
(терм
конвертируется
с термом
),
то существует такой терм
,
что
и
.
Доказательство очевидно.
Соглашение об обозначениях.
Для
облегчения дальнейшего изложения примем
некоторые соглашения о сокращенном
представлении
-термов:
(обобщенный
-оператор).
(обобщенная аппликация).
Внешние скобки в представлении
-термов,
полученных аппликацией, внутри текстов
могут быть опущены (этим соглашением
мы будем пользоваться при формулировке
одного из вариантов комбинаторного
исчисления в разделе 5).Вместо символов переменных
могут использоваться любые строчные
латинские буквы, причем разным буквам
будут соответствовать переменные с
разными номерами.Прописные латинские буквы в позициях переменных рассматриваются как метапеременные; их значениями могут быть переменные с любыми конкретными номерами.
Например,
запись
представляет собой сокращенную запись
терма
.
Теорема 3 (Карри).
Для
любого
-терма
и любой переменной
существует
-терм
,
такой, что
.
Иными
словами, всякое уравнение
имеет решение в
-исчислении
(с точностью до отношения конверсии
термов).
Доказательство.
Пусть
(
называютпарадоксальным
комбинатором
Карри).
Тогда терм
,
существование которого утверждает
теорема 3, может быть получен так:
.
Тогда

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

