Хелпикс

Главная

Контакты

Случайная статья





Лабораторна робота №2 Тема: «Функції SML для основних комбінаторів»



Лабораторна робота №2 Тема: «Функції SML для основних комбінаторів»

Мета роботи: Отримати уявлення про відображення комбінаторної логіки на мову SML

1. Теоретичні відомості

За визначенням комбінатор – це терм, що не містить вільних змінних. Наприклад, якщо в законі комутативності x+y=y+x визначити alpha(x, y)=x+y і (Cf)(x, y)=f(xy), то комутативність можна буде записати у вигляді alpha = C alpha.

Комбінаторна логіка найбільш природним чином відображується на мови функціонального програмування. Запис базисних комбінаторів I K S ( Ix=x, Sxyz= xz(yz), Kxy=x) на SML буде виглядати так:

fun Ix = x;

fun Kxy = x;

fun Sxyz = xz(yz);

2. Порядок виконання роботи

В процесі самостійної роботи:

1.  Сформулювати формальну постановку завдання, записати правила виведення.

2.  Виконати варіант для індивідуального завдання відповідно до порядкового номера.

3.  Написати звіт по лабораторній роботі.

В навчальній лабораторії:

1. Здати допуск по лабораторній роботі викладачу.

2. Ввести свою програму в ПК.

3. Відлагодити програму і одержати контрольні результати.

4. Порівняти одержані результати з результатами трасування.

3. Зміст звіту

Звіт по лабораторній роботі повинен містити:

1. Титульний лист.

2. Варіант індивідуального завдання.

3. Текст програми.

4. Відповіді на контрольні запитання.

4. Варіанти завдань

Виразити в базисі {K, s} комбінатори із заданими характеристиками, переконатися в справедливості проведених перетворень:

1.  I, де Ia = a;

2.  B, где B abc = a(bc);

3.  C, де C abc = acb;

4.  W, где W ab = abb;

5.  Ψ, де Ψ abcd = a(bc)(bd);

6.  C[2], де C[2] abcd = acdb;

7.  C[2], де C[2] abcd = adbc;

8.  B2, де B2 abcd = a(bcd);

9.  Y, де Ya = a (Ya);

10.  C[3], де C[3] abcde = acdeb;

11.  C[3], де C[3] abcde = aebcd;

12.  B3, де B3 abcde = a(bcde);

13.  Φ, де Φ abcd = a(bd)(cd);

Виразити в базисі {B, c, s} комбінатори із заданими характеристиками, переконатися в справедливості проведених перетворень:

14.  I, де Ia = a;

15.  K, де K ab = a;

16.  S, де S abc = ac(bc);

17.  W, де W ab = abb;

18.  Ψ, де Ψ abcd = a(bc)(bd);

19.  28. C[2], де C[2] abcd = acdb;

20.  C[2], де C[2] abcd = adbc;

21.  B2, де B2 abcd = a(bcd);

22.  Y, де Ya = a (Ya);

23.  C[3], де C[3] abcde = acdeb;

24.  C[3], де C[3] abcde = aebcd;

25.  B3, где B3 abcde = a(bcde);

26.  Φ, где Φ abcd = a(bd)(cd).



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.