Булевы функции от одной переменной – это отображения множества {0,1} в себя. Булевы функции от одной переменной можно рассматривать как унарные операции на множестве {0,1}. В следующей таблице приведены все четыре булевы функции от одной переменной.
g2(x)=1–x – эта функция соответствует отрицанию и носит то же название; в теории булевых функций отрицание принято обозначать через x’, поэтому мы будем писать g2(x)=x’;
Булевы функции от двух переменных можно рассматривать как бинарные операции на множестве {0,1}. В следующей таблице приведены все шестнадцать булевых функции от двух переменных (значения аргументов и функций выписаны в строках, функции перечисляются в столбце). Для некоторых функций указаны используемые обозначения и названия.
x1 0 0 1 1
x2 0 1 0 1
-------------------------------
f0 0 0 0 0 0 – тождественный ноль
f1 0 0 0 1 ⋅ умножение, конъюнкция
f2 0 0 1 0
f3 0 0 1 1 x1
f4 0 1 0 0
f5 0 1 0 11 x2
f6 0 1 1 0 ⊕ – сложение по модулю 2
f7 0 1 1 1 ∨ – дизъюнкция
f8 1 0 0 0 ↓ – стрелка Пирса
f9 1 0 0 1 ↔ – эквивалентность
f10 1 0 1 0
f11 1 0 1 1 ← – обратная импликация
f12 1 1 0 0
f13 1 1 0 1 → – импликация
f14 1 1 1 0 | – штрих Шеффера
f15 1 1 1 1 1 – тождественная единица
Комбинируя перечисленные функции (с помощью суперпозиций), можно строить более сложные булевы функции, в том числе и большего числа переменных, например, xy→zt и т.п. Булевы отрицание, конъюнкция (умножение), дизъюнкция, импликация обладают свойствами, подобными тем, которыми обладают соответствующие логические операции (с естественной заменой равносильности формул на равенство функций). Например, законы де Моргана принимают следующий вид (знак умножения, как это часто делается, опущен):
(xy)’=x’∨y’; (x∨y)’=x’y’.
Кроме того, имеем:
1’=0; 0’=1;
x∨x’=1; xx’=0;
0x=0; 1x=x; 0∨x=x; 1∨x=x.
Приведем некоторые уравнения, в которых одни булевы функции выражены через другие:
Все эти равенства легко проверяются с помощью таблиц.
Принцип двойственности естественным образом переносится на булевы функции. Приведем необходимые формулировки. Двойственной к булевой функции f(x,y,…,z) называется функция
f*(x,y,…,z)=f’(x’,y’,…,z’).
Если f(x,y,…,z) представлена формулой, содержащей только конъюнкции, дизъюнкции и отрицания, то двойственная функция получается заменой в этой формуле конъюнкций на дизъюнкции, а дизъюнкций на конъюнкции. x⊕y = xy’∨x’y.