1.
Опишите функцию, значение которой на выражении X равно Y, на выражении Y равно X, а на остальных выражениях равно пустому выражению.
2.
Опишите логические функции
Их аргументами и значениями могут быть только TRUE или FALSE. (При недопустимых аргументах значение — НЕОПРЕДЕЛЕНО). Функция not имеет один аргумент, и её значение равно TRUE только если её аргумент равен FALSE. Функции and и or имеют по два аргумента, значение and равно TRUE только если оба аргумента равны TRUE, а значение or равно FALSE только если оба аргумента равны FALSE.
3.
Выразите функции LAST и BL через другие стандартные функции, т.е. не используя стандартных функций LAST и BL, опишите функции, значение которых равны:
В задачах 4–5 аргументом является последовательность атомов
4.
Удалите
5.
6.
Измените порядок следования термов первого порядка на противоположный.
7.
8.
Остатки от деления целого числа на 3 могут быть равны 0, 1, 2. Опишите (в одной программе) три логические функции: mod_three_zero, mod_three_one, mod_three_two, каждая из которых имеет значение TRUE если и только если число термов в выражении даёт указанный остаток при делении на 3.
9.
Удалите из заданного выражения
10.
Удалите из заданного выражения все скобки.
11.
12.
Измените порядок следования термов на противоположный, но рекурсивно по всем выражениям внутри термов.