Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Аксіоми

Крок індукції

Базис

Порядок конструювання термів

Алфавіт

Лекція 4. Лямбда-числення, як формалізація мови функціонального програмування

· алфавіт;

· твердження;

· аксіоми;

· правила виводу.

 

1. константи;

2. змінні;

3. вирази (або терми);

4. спеціальні символи.

 

 

Константи c1, c2,...

Змінні x, y,...

Вирази (терми) M, N,...

Спеціальні символи "(", ")", "."

 

Константа і змінна є лямбда-термом

M,N – терми

х - змінна

1) вираз (λx.M) є допустимим ламбда- термом - абстракція;

2) вираз (MN) є допустимим ламбда- термом - аплікація.

 

= ( символ конвертованості )

аксіоми відношення конвертованості:

(a) λx.a = λz.[z/x]a підстановка терма z

(β) (λx.a)b = [b/x]a редукція виразу

 

правила виводу термів,що задають характеристики відношення конвертованості:

(μ) якщо a=b, то ca=cb;

(ν) якщо a=b, то ac=bc;

(ξ) якщо a=b, то lx.a=lx.b;

(ρ) a=a (рефлексивність);

(σ) якщо a=b, то b=a (симетричність);

(τ) якщо a=b і b=c, то a=c (транзитивність).

 

Домовленості про читання і обробку ламбда- виразів.

1. Аплікація -

xy = (xy),
xyz = ((xy)z),...

2. (xy) = xy,
((xy)z) = xyz,...

3. Абстракція

λxy.M = (λx.(λy.M)),
λxyz.M = (λx.(λy.(λz.M))),...

 

ламбда- терми:

1. x; змінна
2. 1; константа
3. λx.x; ламбда-абстракція (тотожність)
4. λx.x + 1; функція інкремента
5. (λx.x + 1)2 = [2/x](x + 1) = 2+1 = 3; підстановка відповідно аксіомі ()
6. A $ b недопустимий

 

фрагменти SML-програм, що відповідають наведеним вище допустимим ламбда- термам:

1. x (змінна, тип якої визначається в процесі трансляції на етапі контролю типізації у відповідності з виводом типів);

2. 1 (константа);

3. fn x => x (функція тотожності);

4. fn x => x+1 (функція інкремента);

5. (fn x => x+1) 2 (обчислення значення функції, в результатом виконання якої є ціле число 3).

 

fun f x = b;

 

fun f x = 1+x;

f 4;

 

f 2 + 3; ((f2)+3, а не f(2+3))

 

<== предыдущая лекция | следующая лекция ==>
Психологічні основи професійної орієнтації | Аксіоми виводу типу комбінатора
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 354; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.