Формулы логики булевых функций

Определение 4.2. Формула логики булевых функций определяется индуктивно следующим образом:

1. Любая переменная, а также константы 0 и 1 есть формула.

2. Если A и B – формулы, то ØA, AVB, A&B, A É B, A ~ B есть формулы.

3. Ничто, кроме указанного в пунктах 1–2, не есть формула.

Пример 4.1.

Выражение (ØxVy)&((y É z) ~ x) является формулой.

Выражение Øx&y É z Ø ~x не является формулой.

Часть формулы, которая сама является формулой, называется подформулой.

Пример 4.2.

x&(y Éz) – формула; y Éz – ее подформула.

Определение 4.3. Функция f есть суперпозиция функций f1, f2, ... , fn если f получается с помощью подстановок этих формул друг в друга и переименованием переменных.

Пример 4.3.

f1 = x1&x2 (конъюнкция); f2 = Øx (отрицание).

Возможны две суперпозиции:

1) f = f1(f2) = (Øx1)&(Øx2) – конъюнкция отрицаний;

2) f = f2(f1) = Ø(x1&x2) – отрицание конъюнкции.

Порядок подстановки задается формулой.

Всякая формула задает способ вычисления функции, если известны значения переменных.

Пример 4.4.

Построим таблицу значений функции f(x1, x2, x3) = Ø(x2 Øx3) ~ (Øx1Vx2).

Таблица 4.4 представляет последовательное вычисление этой функции.

Таблица 4.4

x1 x2 x3 Øx3 x2 Øx3 Ø(x2 Øx3) Øx1 Øx1Vx2 f(x1, x2, x3)
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

 

Таким образом, формула каждому набору аргументов ставит в соответствие значение функции. Следовательно, формула так же, как и таблица, может служить способом задания функции. В дальнейшем формулу будем отождествлять с функцией, которую она реализует. Последовательность вычислений функции задается скобками. Принято соглашение об опускании скобок в соответствии со следующей приоритетностью операций: Ø, &, V, É и ~.