Лабораторная работа №5. Тема: «Полнота систем булевых функций»
(Теория и примеры – в мет-ке).
Основные понятия
Пусть B — некоторое множество функций алгебры логики. Замыканием [ B ] множества B называется совокупность всех функций из Р2, являющихся суперпозициями функций из множества B. Множество B называется замкнутым классом, если [ B ]= B. Пусть B – замкнутый класс в Р 2. Множество B называется функционально полной системой в Р2, если [ B ] = Р2.
Множество B называется предполным классом в Р2, если оно не является полной системой в Р2, но для всякой функции
выполняется равенство 
Замкнутые классы Поста
1. Говорят, что функция
сохраняет константу 0, если f(0,0,...,0)=0.
T0 − класс функций, сохраняющих ноль:
T0 = {f Î P2 ç f (0,0,...,0) = 0}.
2. Говорят, что функция
сохраняет константу 1, если f (1,1,...,1)=1.
T1 − класс функций, сохраняющих единицу:
T1 = {f Î P2 ç f (1,1,...,1) = 1}.
3. Функция
называется двойственной к
, если на противоположных наборах она принимает противоположные значения, т.е.
. Двойственная функция обозначается
.
Функция
называется самодвойственной, если она совпадает со своей двойственной функцией. S -- класс самодвойственных функций :
S = {f Î P2 ç f (a1,a2,...,an) =
(
,
,...,
) }.
4. Для двоичных векторов
и
, где i=1,2,…,n, введем следующее отношение
частичного порядка, называемое отношением предшествования. Будем говорить, что набор
предшествует набору
и писать
, если ai≤bi для всех i=1,2,…,n. Функция f(x1,x2,…,xn) называется монотонной, если для любых векторов
, находящихся в отношении предшествования
, выполняется соотношение
.
М − класс монотонных функций: М ={ f Î P2 (n) çf − монотонна}.
5. L − класс линейных функций составляют функции, которые представляются полиномом Жегалкина первой степени:
L={ f Î P2 (n) çf = k0Åk1x1 Åk2x2 Å … Åknxn }, где kiÎ{0,1}.
Проверка принадлежности булевой функции замкнутым классам 1-4 осуществляется по таблице истинности. Проверка принадлежности булевой функции классу L осуществляется путем построения многочлена Жегалкина.
Каждое из множеств T 0, T 1, S, L, M является замкнутым и предполным классом в P 2.
Критерий полноты системы булевых функций
Теорема Поста. Система булевых функций В функционально полна в Р 2 тогда и только тогда, когда она содержит:
хотя бы одну функцию, не сохраняющую ноль,
хотя бы одну функцию, не сохраняющую единицу,
хотя бы одну немонотонную функцию,
хотя бы одну несамодвойственную функцию
и хотя бы одну нелинейную функцию.
Для проверки функциональной полноты системы булевых функций строится так называемая таблица Поста, в которой отмечается принадлежность функций замкнутым классам. Если в каждом столбце таблицы Поста есть хотя бы один минус, система полна, в противном случае – нет.
Пример. Проверить систему булевых функций В = {x Å y, x Ù y,1} на функциональную полноту.
Проверим принадлежность замкнутым классам функции f (x, y) = x Å y. Построим таблицу истинности данной функции.

f (0,0) = 0, следовательно f (x, y) ÎT0.
f (1,1) = 0, следовательно f (x, y)Ï T1.
f (0,0) = f (1,1), следовательно, f (x, y) ÏS.
f (1,0) = 1 > 0 = f (1,1), следовательно, f (x, y) ÏM.
Функция представляет собой полином Жегалкина первой степени, следовательно, f (x, y) Î L.
Результаты заносим в первую строку таблицы Поста. Остальные функции исследуются аналогично. Окончательно таблица Поста имеет вид:

В каждом столбце таблицы имеется минус, следовательно, система В функционально полна.
Ответ: система В полна.
Задание к теме 5. С помощью теоремы Поставыяснить, полна ли заданная система булевых функций.
Если ДА, то
· выразить константы, отрицание и конъюнкцию через функции этой системы, (т.е. провести поэтапное доказательство теоремы Поста);
· найти все базисы в системе.
Варианты
1. 
2. 
3. 
4. 
5. 
6. 
7. 
8. 
9. 
10. 
11. 
12. 
13. 
14. 
15. 
16. 
17. 
18. 
19. 
20. 
21. 
22. 
23. 
24. 
25. 