Алексеев В.Б. Лекции по дискретной математике. ВМК, 2004. Электронный ресурс (1083731), страница 3
Текст из файла (страница 3)
Имеют место следующие свойства:
-
[A] A;
-
A B [A] [B], причём, если в левой части импликации строгое вложение, то из него вовсе не следует строгое вложение в правой части — верно лишь
A B [A] [B];
-
[[A]] = [A].
Определение 2. Система функций алгебры логики A называется полной, если [A] = P2.
Определение 3. Пусть A P2. Тогда система A называется замкнутым классом, если замыкание A совпадает с самим A: [A] = A.
Утверждение. Пусть A — замкнутый класс, A P2 и B A. Тогда B — неполная система (подмножество неполной системы будет также неполной системой).
Доказательство. B A [B] [A] = A P2 [B] P2. Следовательно, B — неполная система. Утверждение доказано.
2°. Примеры замкнутых классов.
Класс T0 = {f (x1, …, xn) | f (0, …, 0) = 0}.
Классу T0 принадлежат, например, функции 0, x, xy, x y, x y.
Классу T0 не принадлежат функции 1, , x y, x | y, x y, x ~ y.
Подсчитаем число функций в классе T0. Для этого построим следующую таблицу:
Все функции, принадлежащие указанному классу, принимают на нулевом наборе нулевое значение. Таким образом, всего функций в классе T0 столько, сколько существует булевых векторов длины 2n – 1 (первый разряд вектора длины 2n необходимо равен нулю), то есть .
Теорема 6. Класс T0 —замкнутый.
Доказательство. Рассмотрим произвольную систему функций алгебры логики из T0. Рассмотрим функцию
Среди переменных функций gi могут встречаться и одинаковые, поэтому в качестве переменных функции h возьмём все различные из них. Тогда h (0, …, 0) = f (g1 (0, …, 0), …, gn (0, …, 0)) = f (0, …, 0) = 0 , следовательно, функция h также сохраняет ноль. Рассмотрен только частный случай (без переменных в качестве аргументов). Однако, поскольку тождественная функция сохраняет ноль, подстановка простых переменных эквивалентна подстановке тождественной функции, теорема доказана.
Класс T1 = {f (x1, …, xn) | f (1, 1, …, 1) = 1}.
Классу T1 принадлежат функции 1, x, xy, x y, x y, x ~ y.
Классу T1 не принадлежат функции 0, , x y, x | y, x y.
Теорема 7. Класс T1 замкнут.
Доказательство повторяет доказательство аналогичной теоремы для класса T0.
Класс L линейных функций.
Определение 4. Функция алгебры логики f (x1, …, xn) называется линейной, если
f (x1, …, xn) = a0 a1 x1 … an xn, где ai {0, 1}.
Иными словами, в полиноме линейной функции нет слагаемых, содержащих конъюнкцию.
Классу L принадлежат функции 0, 1, , x ~ y, x y.
Классу L не принадлежат функции xy, x y, x y, x | y, x y.
Теорема 8. Класс L замкнут.
Доказательство. Поскольку тождественная функция — линейная, достаточно (как и в теоремах 6 и 7) рассмотреть только случай подстановки в формулы функций: пусть f (x1, …, xn) L и gi L. Достаточно доказать, что f (g1, …, gn)L. Действительно, если не учитывать слагаемых с коэффициентами ai = 0, то всякую линейную функцию можно представить в виде . Если теперь вместо каждого
подставить линейное выражение, то получится снова линейное выражение (или константа единица или нуль).
§6. Двойственность. Класс самодвойственных функций, его замкнутость.
1°. Двойственность.
Определение 1. Функцией, двойственной к функции алгебры логики f (x1, …, xn), называется функция .
Теорема 9 (принцип двойственности). Пусть
Тогда .
Доказательство. Рассмотрим
Теорема доказана.
Следствие. Пусть функция Φ (y1, …, ym) реализуется формулой над A = {f1, f2, …}. Тогда если в этой формуле всюду заменить вхождения fi на fi*, то получится формула, реализующая Φ* (y1, …, ym).
Утверждение. Для любой функции алгебры логики f (x1, …, xn) справедливо равенство
f (x1, …, xn) = f ** (x1, …, xn).
Доказательство. , и утверждение доказано.
2°. Класс S самодвойственных функций.
Определение 2. Функция алгебры логики f (x1, …, xn) называется самодвойственной, если
f (x1, …, xn) = f * (x1, …, xn).
Иначе говоря, S = {f | f = f *}.
Классу S принадлежат функции
Классу S не принадлежат функции
0 ( ), 1,
x y (поскольку ), xy.
Теорема 10. Класс S замкнут.
Доказательство. Пусть f (x1, …, xn) S, i ,
i = 1, 2, …, n и
Тогда из принципа двойственности следует, что
Таким образом, мы получили, что Φ = Φ* и Φ S. Теорема доказана.
§7. Класс монотонных функций, его замкнутость.
Определение 1. Пусть и
.
Тогда
Замечание. Существуют наборы, для которых неприменимо отношение упорядоченности, определённое выше. Так, например, наборы (0, 0, 1) и (0, 1, 0) несравнимы.
Определение 2. Функция алгебры логики f (x1, …, xn) называется монотонной, если для любых двух сравнимых наборов и
выполняется импликация
Класс всех монотонных функций обозначим M.
Классу M принадлежат функции
0, 1, x, xy, x y, m (x, y, z) = xy yz zx.
Классу M не принадлежат функции
, x | y , x y , x y , x ~ y , x y.
Теорема 11. Класс M замкнут.
Доказательство. Поскольку тождественная функция монотонна, достаточно проверить лишь случай суперпозиции функций. Пусть
f (x1, …, xn) M, для любого j gj (y1, …, ym) M и
Φ (y1, …, ym) = f (g1 (y1, …, ym), …, gn (y1, …, ym)).
Рассмотрим произвольные наборы ,
такие, что
. Обозначим
Тогда для любого i имеем gi M и , то есть
. Обозначим
Тогда по определению и, в силу монотонности функции f,
. Но
откуда , следовательно, Ф M. Теорема доказана.
§8. Лемма о несамодвойственной функции
Лемма (о несамодвойственной функции). Из любой несамодвойственной функции алгебры логики f (x1, …, xn), подставляя вместо всех переменных функции и x, можно получить φ (x) const.
Доказательство. Пусть f S. Тогда
Построим функцию φ (x) так: φ (x) = f (x σ1, …, x σn). Тогда
и φ (0) = φ (1) φ (x) = const. Заметим, что подстановка удовлетворяет условию теоремы, так как . Лемма доказана.
§9. Лемма о немонотонной функции
Лемма (о немонотонной функции). Из любой немонотонной функции алгебры логики f (x1, …, xn), подставляя вместо всех переменных функции x, 0, 1, можно получить функцию .
Доказательство. Пусть f M. Тогда существуют такие наборы и
, что
(то есть j (αj βj) и
) и
. Выделим те разряды i1, …, ik наборов
и
, в которых они различаются. Очевидно, в наборе
эти разряды равны 0, а в наборе
— 1. Рассмотрим последовательность наборов
таких, что
, где
получается из
заменой одного из нулей, расположенного в одной из позиций i1, …, ik, на единицу (при этом наборы
и
— соседние). Поскольку
, а
, среди наборов
найдутся два соседних
и
, такие что
и
. Пусть они различаются в r-ом разряде:
,
. Тогда определим функцию φ (x) так: φ (x) = f (α1, α2, …, αr – 1, x, αr + 1, …, αn). Действительно, тогда
,
и
. Лемма доказана.
§10. Лемма о нелинейной функции
Лемма (о нелинейной функции). Из любой нелинейной функции алгебры логики f (x1, …, xn), подставляя вместо всех переменных x, , y,
, 0, 1, можно получить φ (x, y) = x · y или
.
Доказательство. Пусть f (x1, …, xn) L. Рассмотрим полином Жегалкина этой функции. Из её нелинейности следует, что в нём присутствуют слагаемые вида . Не ограничивая общности рассуждений, будем считать, что присутствует произведение x1 · x2 · …. Таким образом, полином Жегалкина этой функции выглядит так:
f (x1, …, xn) = x1 · x2 · P1 (x3, …, xn) x1 · P2 (x3, …, xn)
x2 · P3 (x3, …, xn) P4 (x3, …, xn),
причем P1 (x3, …, xn) 0. Иначе говоря, a3, a4, …, an E2 = {0, 1} такие, что P1 (a3, a4, …, an) = 1. Рассмотрим вспомогательную функцию f (x1, x2, a3, a4, …, an) = x1 x2 · 1 x1 · b x2 · c d. Тогда функция
f (x с, y b, a3, a4, …, an) = (x c)(y b) (x c)b (y b)c d =
= xy x · b y · c b · c x · b b · c y · c b · c d =
= xy (bc d) = .
Лемма доказана.
§11. Теорема Поста о полноте системы функций алгебры
логики
Теорема 12 (теорема Поста). Система функций алгебры логики
A = {f1, f2, …} является полной в P2 тогда и только тогда, когда она не содержится целиком ни в одном из следующих классов: T0, T1, S, L, M.
Доказательство. Необходимость. Пусть A — полная система,
N — любой из классов T0, T1, S, L, M и пусть A N. Тогда
[A] [N] = N P2 и [A] P2.
Полученное противоречие завершает обоснование необходимости.
Достаточность. Пусть A T0, A T1, A M, A L, A S. Тогда в A существуют функции f0 T0, f1 T1, fM M, fL L, fS S. Достаточно показать, что [A] [f0, f1, fM, fL, fS] = P2. Разобьём доказательство на три части: получение отрицания, констант и конъюнкции.
-
Получение
. Рассмотрим функцию f0 (x1, …, xn) T0 и получим из нее функцию φ0 (x) = f0 (x, x, …, x). Так как функция f0 не сохраняет нуль, φ0 (0) = f (0, 0, …, 0) = 1. Возможны два случая: либо
, либо φ0 (x) 1. Рассмотрим функцию f1 (x1, …, xn) T1 и аналогичным образом получим функцию
φ1 (x) = f1 (x, x, …, x). Так как функция f1 не сохраняет единицу, φ1 (1) = f (1, 1, …, 1) = 0. Возможны также два случая: либо, либо φ1 (x) 0. Если хотя бы в одном случае получилось искомое отрицание, пункт завершён. Если же в обоих случаях получились константы, то согласно лемме о немонотонной функции, подставляя в функцию fM M вместо всех переменных константы и тождественную функцию, можно получить отрицание. Отрицание получено.
-
Получение констант 0 и 1. Имеем fS S. Согласно лемме о несамодвойственной функции, подставляя вместо всех переменных функции fS отрицание (которое получено в пункте a) и тождественную функцию, можно получить константы:
[fS,] [0, 1]. Константы получены.
-
Получение конъюнкции x · y. Имеем функцию fL L. Согласно лемме о нелинейной функции, подставляя в функцию fL вместо всех переменных константы, переменные и отрицания переменных (которые были получены на предыдущих шагах доказательства), можно получить либо конъюнкцию, либо отрицание конъюнкции. Однако на первом этапе отрицание уже получено, следовательно, всегда можно получить конъюнкцию: [fL, 0, 1,
] [xy,
]. Конъюнкция получена.
В результате получено, что . Последнее равенство следует из пункта 2 теоремы 4. В силу леммы 2 достаточность доказана.
§12. Теорема о максимальном числе функций в базисе алгебры логики