КАТЕГОРИИ: Архитектура-(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), 2. (xy) = xy, 3. Абстракція λxy.M = (λx.(λy.M)),
ламбда- терми:
фрагменти 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; Просмотров: 376; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |