Необходимость.
Заметим, что необходимость этого утверждения очевидна, так как если бы все функции из набора входили в один из перечисленных классов, то и все суперпозиции, а, значит, и замыкание набора входило бы в этот класс, и набор не мог бы быть полным.
Достаточность.
Докажем, что если набор не содержится полностью ни в одном из данных классов, то он является полным.
- Рассмотрим функцию, не сохраняющую ноль —
(то есть функцию, для которой ). Тогда может принимать два значения:
, тогда .
, тогда .
- Рассмотрим функцию, не сохраняющую один —
(то есть функцию, для которой ). Тогда может принимать два значения:
, тогда .
, тогда .
Таким образом, возможны четыре варианта:
- Мы получили функцию
.
Используем несамодвойственную функцию . По определению, найдется такой вектор , что . Где .
Рассмотрим , где либо , при . Либо , при . Нетрудно заметить, что . Таким образом мы получили одну из констант.
- Мы получили
и имеем константу, равную , поскольку .
- Мы получили
и имеем константу, равную , поскольку .
- Мы получили
и .
Рассмотрим немонотонную функцию . Существуют такие , что , , зафиксируем все , тогда .
В итоге имеем три функции: , , .
Используем нелинейную функцию . Среди нелинейных членов (ее представления в виде полинома Жегалкина), выберем тот, в котором минимальное количество элементов. Все аргументы кроме двух в этом члене приравняем единице, оставшиеся два назовем и . Все элементы, не входящие в данный член, примем равными нулю. Тогда эта функция будет представима в виде , где в квадратных скобках указаны члены, которые могут и не присутствовать (остальные слагаемые будут равны нулю, поскольку в них есть как минимум один аргумент, не входящий в выбранный член, так как в выбранном члене минимальное число элементов).
Рассмотрим несколько вариантов:
- Присутствует член
. Возьмем отрицание от и член исчезнет.
- Присутствуют три члена, без
: . Составив таблицу истинности для этой функции нетрудно заметить, что она эквивалентна функции .
- Присутствуют два члена, без
. Построив две таблицы истинности для двух различных вариантов, заметим, что в обоих случаях функция истинна только в одной точке, следовательно, СДНФ функции будет состоять только из одного члена. Если это так, то не составляет труда выразить через и . Например, если функция принимает истинное значение, когда аргументы c номерами ложны, а все остальные истины, то функцию можно выразить как , где ставится перед аргументами с номерами .
- Присутствует один член. Выразим
через и аналогично пункту 3.
В итоге получим функцию , а также либо функцию , либо функцию . Поскольку функцию можно выразить через и , а функцию через и , то мы получили базис , , . Любую булеву функцию, не равную тождественному нулю, можно представить в форме СДНФ, то есть выразить в данном базисе. Если же функция равна тождественному нулю, то ее можно представить в виде .
Значит, полученные функции образуют полную систему, поскольку с их помощью можно выразить любую булеву функцию. Из этого следует, что K — полная система функций, что и требовалось доказать. |