Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
7
Добавлен:
26.05.2014
Размер:
54.78 Кб
Скачать

-2 -1 С 1 2

TRUE FALSE

- + * / поист? Функции

> < =

+ 1 3  4

Такой процесс упрощения называется редукцией.

* (+ 1 2) (-4 1)

* (+1 2) 3

* 3 3

9

( *х х)2  * 2 2

Введем еще один тип правил - -праввило.

-редукция – это копирование тела функции ????? с заменой всех вхождений связанной переменной на выражение аргумента.

((х. у. +ху)7)8

(у. +7 у)8

+7 8

15

Редуцируемое выражение называется редекс (Redex)

Таким образом наш процесс редукции -выражения состоит из множества редукций, примененных к редексам данного выражения до тех пор, пока выражение включает в себя хотя бы один редекс.

Существует понятие -редекса и -редекса

(х. (х. х) (+ 1 х))1

(х. 1 (+1 1))

В таких случаях используется -преобразование.

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

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

Пример:

(f. x. f 4x)(у. х. +ху)3

редекс

(х. (у. х. +ху)4х)3

(у. х. +ху)4 3

 (х. +х 4)3

 + 3 4

  • 7

  • (х. (х. + х4)х)3

  • (х. + х4)3

  • + 3 4

  • 7

Порядок редукции имеет важное значение.

Порядок редукции и нормальные формы.

-выражение находится в нормальной форме, если к нему нельзя применить никакое правило редукции, т.е. нет редексов.

Пример: редекс

(х. у. у)((z. zz)(z. Zz))

редекс

у. у

(z. zz)(z. zz)

(z. zz)(z. zz)

Определение: Самый левый редекс – это такой редекс, символ  которого (или идентификтор примитивной функции в случае  редексов) текстуально расположен в самом выражении левее всех редексов.

Определение: Самый правый редекс – это такой редекс, смвол  которого (или идентификтор примитивной функции в случае  редексов) текстуально расположен в самом выражении правее всех редексов.

Определение: Самый внешний редекс – это такой редекс, который не содержит внутри никакого другого редекса.

Определение: Самый внутренний редекс – не содержит никаких других редексов.

Определение: Аппликативный порядок редукции предписывает в начале преобразовать самый левый из самых внутренних редексов (АПР)

Определение: Нормальный порядок редукции предписывает вначале преобразовать самый левый из самых внешних редексов (НПР)

Нормальный порядок редукции соответствует ленивому порядку вычисления.

Аппликативный порядок редукции соответствует энергичному порядку вычисления.

Преимущества ленивого порядка.

  1. Если можно вычислить, то всегда вычислять.

  2. Экономия на вычислениях.

Теорема Черча-Россера

Если выражение Е может быть приведено 2-мя различными способами к двум нормальным формам, то эти нормальные формы алфавитно эквивалентны.

Теорема стандартизации.

Если выражение Е имеет нормальную форму, то редукция самого левого из самых внешних редексов на каждом этапе вычисления гарантирует достижение этой нормальной формы.

Ромбическое свойство.

Отношение редукции  заключается в том, что если выражение Е может быть редуцированно к двум выражениям Е1 и Е2,то сущестувует выражение N, которое можно получить повторно применяя отношение редукции, так из Е1 так и из Е2.

n0

* произвольное число шагов редукции.

* Е** рефлексивное транзитивное

замыкание.

Е1 Е2

*N*

Е*Е1 и Е* Е2

 N : E1N и E2N

Отношение редукции * называется редукция Черча-Россера, если * обладает ромбическим свойством.

-редукция – редукция Черча-Россера

Формальная запись теоремы Черча-Россера.

X cnv Y N : X*N и Y*N , где * означает -редукцию.

сnv – симметричное отношение -преобразований

X cnv Y  XY или YX

Еслив отношение  на ряду с –редукцией включена  –редукция, то система может не обладать ромбическим свойством. Но имеет место слабое ромбическое свойство.

ЕЕ1 и ЕЕ2   N : Е1*N и E2*N

Отношение редукции является слабой редукцией Черча-Россера, если оно обладает слабым ромбическим свойством.

Редукции ЕЕ1 и ЕЕ2 должны быть одношаговыми.

Пусть  M и N – две нормальные формы

Е*M и Е*N

 Z : M*Z и N*Z

То получится, что М алфавитно эквивалентно N, т.е. нормальная форма единственна.

MNZ

-редукция. Проблема конфликта имен.

х. у. х у у

х - связанная переменная

у. х у у – самая внутренняя абстракция в у. х у у х - свободная переменная, а у – связанная.

В абстракции х у у все переменные свободные

F(e. x y y)={x}

F(x y y)={x,y}

F(k)=

k=const

F(x)={x}

F(E1E2)=F(E1)F(E2)

F(x. E)=F(E)-x

-выражение Е не содержит свободных переменных, т.е. пустое множество, называется замкнутымю.

(х. Е) А

Свяр??? Вхождение переменной х заменяем на А.

х.((у. х. +ху) х)

-редекс

х. (х. +хх)  неверно

Процесс переименований -перестановок

х. х = у. у

Эти выражения алфавитно эквивалентны.

х. Е может быть преобразованно в х’. Е’, где Е’ полученно из Е заменой всех вхождений связанной переменной х на х’ при условии, что х’ само не является свободной переменной в Е (мы можем дать переменной имя, если оно не совпадает с другим).

x. f xy  z. f z y

y. fyy неверно т.к. имя совпадает со свободной переменной.

Е1Е2

Проблемы ???? ??? накладывают ограничения на –редукцию. –редукционное выражение Е1Е2 можно выполнить только, если ни одно имя свободной в Е2 переменной не совпадает с именами связанных в Е1 переменных.

r-преобразование

х. Ех и Е обозначим одну и ту же функцию при условии, что х не является свободной переменной в А.

(х. Ех)АЕА

Фуннкциональная экстенсивность

х. Ех  Е (-редукция)

-редекс

Обхождение проблемы конфликта имен.

х. ((у.х. +ху)х)

Это выражение не находится в нормальной форме

Надо произвести -преобразование.

Слабые заголовочные нормальные формы.

Выражение Е находится в слабой заголовочной нормальной форме, если:

  1. Е-const;

  2. E является выражением вида х. E’ E’;

  3. E имеет форму вида РЕ1Е2…Еn для  поистатн.??? функций Р арности k, k>n (1 аргумент – одноарная …)

Мы можем встретиь свободные переменные только в случае, еслипройдем через , т.к. все ссылки на переменные, стоящие после , будут свободными только справа от точки. Останавливаясь перед  мы не входим в тело функции  не можем встретить свободную переменную, вообще, только когда выражение применяется к аргументу мы поризводим вычисление.

6

Соседние файлы в папке Методы программирования