discr_math
.pdf50
но; заменим дизъюнкцией, – конъюнкцией; разность любых двух множеств S \T S T можно заменить формулой s t .
В результате, если равенство (3.20) выполняется для произ-
вольных множеств, то ему должна соответствовать общезначимая
логическая формула:
x (y z) (x y) (x z). |
(3.21) |
||||||||
Запишем (3.21) в упрощенном виде: |
|
||||||||
|
|
|
|
|
|
|
|
|
(3.22) |
xy |
|
z xy xz, |
и с помощью эквивалентных преобразований приведем правую часть формулы (3.22) к ее левой части:
xy xz x(y z) x(y z) x yz .
Таким образом, равенство (3.31) является общезначимой ло-
гической формулой, и вместе с этой формулой доказано исходное равенство для множеств. Отметим, что вместо проведения преобра-
зований можно было бы в (3.21) построить таблицу истинности пра-
вой и левой частей равенства и убедиться в том, что эквиваленция xyz xy xz есть тавтология.
Пример 3.31. Выяснить, в каком отношении находятся множества
(A B) \ C и A (B \C). Первому из перечисленных множеств можно поставить в соответствие формулу F1 (x y) z , а вто-
рому – формулу F2 x (y z). Теперь составим таблицу истин-
ности двух импликаций (табл. 3.23):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(x y) |
|
|
x (y |
|
) |
|
|
|
|
|
|
|
|
|
|
(3.23) |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
z |
z |
|
|
||||||||||||||||||||||||||||||||||||
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(x y) |
|
|
x (y |
|
) . |
|
|
|
|
|
|
|
|
|
|
(3.24) |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
z |
z |
|
|
||||||||||||||||||||||||||||||||||||
|
x |
|
y |
|
z |
|
z |
|
x y |
|
|
(x y) |
z |
|
|
|
y |
z |
|
x (y |
z |
) |
|
|
F1 F2 |
|
|
F2 F1 |
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
0 |
|
0 |
|
0 |
|
1 |
|
0 |
|
|
0 |
|
|
|
|
|
|
0 |
|
|
|
0 |
|
|
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
||||||||||||
|
0 |
|
0 |
|
1 |
|
0 |
|
0 |
|
|
0 |
|
|
|
|
|
|
0 |
|
|
|
0 |
|
|
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
||||||||||||
|
0 |
|
1 |
|
0 |
|
1 |
|
1 |
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
||||||||||||
|
0 |
|
1 |
|
1 |
|
0 |
|
1 |
|
|
0 |
|
|
|
|
|
|
0 |
|
|
|
0 |
|
|
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
||||||||||||
|
1 |
|
0 |
|
0 |
|
1 |
|
1 |
|
|
1 |
|
|
|
|
|
|
0 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
||||||||||||
|
1 |
|
0 |
|
1 |
|
0 |
|
1 |
|
|
0 |
|
|
|
|
|
|
0 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
0 |
|
|
||||||||||||
|
1 |
|
1 |
|
0 |
|
1 |
|
1 |
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
||||||||||||
|
1 |
|
1 |
|
1 |
|
0 |
|
1 |
|
|
0 |
|
|
|
|
|
|
0 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
0 |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Табл. 3.23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
Импликация F1 F2 есть тавтология, а импликация |
|
F1 F2 тавто- |
||||||||||||||||||||||||||||||||||||||||||||||||
логией не является, поэтому справедливо вложение: |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(A B) \С A (B \ С) . |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
Двойственные логические функции |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
Определение 3.14. Функция |
f (x ,...,x |
) |
|
( |
|
1,..., |
|
n) |
называется |
|||||||||||||||||||||||||||||||||||||||||
f |
x |
x |
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
двойственной по отношению к логической функции |
f (x1,...,xn) . |
|||||||||||||||||||||||||||||||||||||||||||||||||
Пример 3.32. Двойственной к функции |
|
|
f (x, y) x y |
|
|
является |
||||||||||||||||||||||||||||||||||||||||||||
функция f (x, y) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
( |
|
, |
|
) ( |
|
|
|
|
|
) x y , |
а функция, двойственная |
||||||||||||||||||||||||||||||||||||
f |
x |
y |
x |
y |
52
к f (x) x, имеет вид f (x) f (x) (x) x . Если f (x) есть логи-
ческая постоянная, например, f (x) 0, то f (x) 1.
Пусть f (x1,...,xn) задана некоторой таблицей истинности.
Тогда для построения таблицы истинности двойственной функции необходимо заменить все единицы таблицы, включая и значения переменных, нулями, а нули – единицами. Например, функция, за-
данная таблицей 3.24, двойственна функции f (x, y,z), заданной таблицей 3.25.
x |
y |
z |
f (x, y,z) |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|
|
Табл. 3.24
x |
y |
z |
f (x, y,z) |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
|
|
|
|
Табл. 3.25
Если f двойственна к функции f , то f является двойст-
венной к f : f ( f ) .
Кроме этого, для любых двух равных функций f1 f2 соот-
ветствующие двойственные функции так же будут равны f1 f2 .
Возможность перехода к равенству двойственных функций позволя-
53
ет получать новые соотношения равенства из уже известных (срав-
ните две формулы закона поглощения |
x x y x и x(x y) x). |
||
Пусть логическая функция f |
представляет собой суперпо- |
||
зицию некоторых |
функций f g(h1,...,hn ). Тогда двойственная |
||
функция |
f есть суперпозиция соответствующих двойственных |
||
функций |
f g (h ,...,h ). |
|
|
|
1 |
n |
|
Определение 3.15. Функция, удовлетворяющая условию f (x1,x2, ,xn) f (x1,x2, ,xn),
называется самодвойственной.
Простейшей самодвойственной функцией является отрица-
ние f (x) x. Другой широко известный пример представлен само-
двойственной функцией f (x, y,z) xy xz yz (для проверки само-
двойственности последней функции достаточно построить соответ-
ствующие таблицы истинности).
На практике при построении двойственных функций часто используют принцип двойственности, который состоит в следую-
щем: если исходная функция f (x1, ,xn) представлена формулой,
содержащей лишь конъюнкции, дизъюнкции и отрицание, то для построения f (x1, ,xn) достаточно лишь заменить каждую дизъ-
юнкцию конъюнкцией, и наоборот.
54
Пример 3.33. Построить двойственную функцию f (x, y,z), если
f (x, y,z) xyz xy . Заменяя все дизъюнкции конъюнкциями и на-
оборот, получим функцию, двойственную функции f (x, y, z). f (x, y,z) (x y z)(x y) .
Полные системы логических функций
Определение 3.16. Система функций называется функционально полной системой, если любая логическая функция может быть пред-
ставлена в виде суперпозиции функций из , т.е. как формула над .
При исследовании свойств полноты важное значение имеет следующая теорема, которую мы приводим без доказательства.
Теорема 3.8. Если любая функция системы представлена форму-
~
лой над некоторой другой системой и система функциональ-
~
но полная, то также будет функционально полной.
~
Если система и удовлетворяют условиям теоремы, то
~
мы будем говорить, что система сводится к системе .
Пример 3.34. Поскольку для любой логической функции существу-
ет представление этой функции в совершенной дизъюнктивной нор-
мальной форме (СДНФ, теорема 3.2), система функций
55
∑ 1 { , ,¬},
содержащая только конъюнкцию, дизъюнкцию и отрицание, являет-
ся функционально полной. |
|
|
|
|
|||||||||||||||||
Пример 3.35. Системы |
2 { ,¬}, 3 { ,¬}, |
4 |
{¬ |
, } |
|||||||||||||||||
функционально полны. Приведем небольшие пояснения. |
|
|
|||||||||||||||||||
Система |
2 |
полна, так как отсутствующая в этой системе |
|||||||||||||||||||
дизъюнкция, согласно законам де Моргана, |
выражается |
через |
|||||||||||||||||||
конъюнкцию и отрицание4: |
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 x2 ( |
|
|
|
|
|
|
|
|
). |
|
|
|
|
|||||
|
|
|
|
x1 |
x2 |
|
|
|
|
||||||||||||
Поэтому система |
2 |
сводится к системе 1 . |
|
|
|
|
|||||||||||||||
Конъюнкция |
x1 x2 так же выражается, |
как суперпозиция |
|||||||||||||||||||
дизъюнкции и отрицания: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
x1 x2 ( |
|
|
|
|
|
|
|
), |
|
|
|
|
|||||||
|
|
x1 |
x2 |
|
|
|
|
||||||||||||||
поэтому система |
3 |
полная. |
|
|
|
|
|||||||||||||||
Система 4 полная, поскольку всегда справедливо равенство: |
|||||||||||||||||||||
|
|
|
x1 x2 |
|
x2 , |
|
|
|
|
||||||||||||
|
|
|
x1 |
|
|
|
|
||||||||||||||
и 4 сводится к системе |
2 . |
|
|
|
|
||||||||||||||||
Пример 3.36. Система |
5 {|} (штрих Шеффера) |
и |
6 |
{ } |
|||||||||||||||||
(стрелка Пирса) |
функционально полны. Напомним, |
что штрихом |
4 При использовании отрицания без переменной мы употребляем символ ¬. В строке с переменными отрицание будем записывать в виде x .
56
Шеффера обозначают функцию (x1 x2 ) . Отрицание ¬ и конъюнк-
цию нетрудно записать с помощью одного только штриха Шеффера:
x (x x) x| x ,
x1 x2 (x1 | x2) (x1 | x2)|(x1 | x2),
поэтому система 2 сводится к 5 .
Дизъюнкцию и отрицание выразим с помощью стрелки Пир-
са x1 x2 (x1 x2 ):
x (x x) x x ,
x1 x2 (x1 x2) (x1 x2) (x1 x2),
и система 6 сведена к полной системе 3 .
Пример 3.37. Система 7 { , ,1}, где представляет сложение
по модулю 2 |
(неравнозначность x1 x2 , исключающее «или») |
|||||||||
функционально полная. Напомним, что x1 x2 |
x1 |
|
|
|
x2 , по- |
|||||
x2 |
x1 |
|||||||||
этому |
|
|
|
|
|
|
|
|
|
|
|
|
|
x 0 |
|
1 x 1, |
(3.25) |
||||
|
|
x |
x |
|||||||
и система 7 |
сводится к системе 2 . |
|
|
|
|
|
||||
Последняя система логических функций |
7 связана с воз- |
можностью представления логической функции в виде полинома
(многочлена) Жегалкина.
57
Полиномом Жегалкина называют любую логическую функ-
цию, записанную в символах сложения по модулю 2 и конъюнкции.
Следующая формула задает общий вид такого полинома:
f (x1, ,xn ) |
(mod2) ai1i2...im xi1 xi2 xim . |
(3.26) |
|
{i1,i2 , ,im} B({1,2, ,n}) |
|
В формуле (3.26) множество индексов {i1,i2 , ,im } есть элемент булеана множества {1,2, , n}. Суммирование по модулю два в
(3.26) проводится по всем элементам булеана, причем пустому под-
множеству булеана соответствует коэффициент a0 .
Пример 3.38. При n 3 произвольный полином Жегалкина имеет
вид:
f (x1,x2,x3) a123 x1 x2 x3 a12 x1x2 a13 x1x3 a23 x2 x3
a1x1 a2 x2 a3 x3 a0 . (3.27)
Следующая формула (3.28) представляет линейный полином Жегал-
кина (многочлен первой степени):
f (x1, ,xn) an xn an 1 xn 1 a1 x1 a0
n
(mod2) ai xi a0 . (3.28)
i 1
Пример 3.39. Записать в виде полинома Жегалкина логическую
функцию x1x2 x1 x2 .
Сначала отметим, что для операции сложения по модулю 2
справедливы следующие равенства (все эти равенства нетрудно под-
58
твердить, составив соответствующие таблицы значений логических функций)
1 0 0 , |
x 0 x , |
x x 0 |
x1 x2 x2 x1 ,
x1(x2 x3) x1x2 x1x3 .
Теперь выразим дизъюнкцию через операцию :
x1 x2 x1x2 (x1 1)(x2 1) (x1 1)(x2 1) 1
x1x2 x1 x2 1 1 x1x2 x1 x2 0 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x1x2 x1 |
x2 . (3.29) |
Используя равенства (3.29) и (3.25), получим |
|
||||||||||||
x1 x2 |
|
|
|
x1 x2 |
|
|
|
x1 x2 |
|
|
|
|
|
x1 |
x2 |
x1 |
x2 |
x1 |
x2 |
|
|||||||
0 x1 x2 (x1 1)(x2 1) x1 x2 x1 x2 x1 x2 |
1 |
||||||||||||
0 x1 x2 1 x1 x2 1. |
|
Нетрудно построить представление логической функции в виде полинома Жегалкина и в том случае, когда функция задается таблицей истинности.
Пример 3.40. Построить полином Жегалкина функции f (x1,x2,x3),
заданной таблицей 3.26.
59
x1 |
x2 |
x3 |
f (x1,x2,x3) |
|
0 |
0 |
0 |
1 |
|
0 |
0 |
1 |
0 |
|
0 |
1 |
0 |
1 |
|
0 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
|
1 |
0 |
1 |
0 |
|
1 |
1 |
0 |
1 |
|
1 |
1 |
1 |
1 |
Табл. 3.26 |
|
|
|
|
Поскольку функция зависит от трех переменных, общий вид поли-
нома Жегалкина задается равенством (3.27). Подстановка в (3.27)
наборов значений переменных (x1,x2,x3) — последовательностей нулей и единиц, приводит к следующим соотношениям для коэффи-
циентов полинома:
f (0,0,0) |
a0 , |
|
|
|
|
|
f (1,0,0) a |
1 |
a0 , |
f (1,1,0) a12 |
a1 |
a2 |
a0 , |
f (0,1,0) a2 |
a0 , |
f (1,0,1) a13 |
a1 |
a3 |
a0 , |
|
f (0,0,1) a3 |
a0 , |
f (0,1,1) a23 |
a2 |
a3 |
a0 , |
f (1,1,1) a123 a12 a13 a 23 a 1 a 2 a 3 a 0 .
Для вычисления коэффициентов многочлена необходимо
уметь решать простейшие уравнения над полем Z2 . Таблица 3.27
решений таких уравнений согласована с таблицей 3.20.