
- •Раздел 4. Функциональные системы с операциями. Алгебра логики.
- •Теорема поста о полноте
- •Класс функций, сохраняющий константу 1.
- •Важнейшие замкнутые классы булевых функций
- •Класс функций, сохраняющий константу 0
- •Класс функций, сохраняющий константу 1
- •Класс самодвойственных функций
- •Класс монотонных функций
- •Класс линейных функций
- •Теорема Поста о полноте
Баранов Виктор Павлович. Дискретная математика.
Раздел 4. Функциональные системы с операциями. Алгебра логики.
Лекция 23. Важнейшие замкнутые классы. Теорема Поста о полноте.
Лекция
23. ВАЖНЕЙШИЕ ЗАМКНУТЫЕ КЛАССЫ.
Теорема поста о полноте
План лекции:
-
Важнейшие замкнутые классы булевых функций.
-
Класс функций, сохраняющий константу 0.
-
Класс функций, сохраняющий константу 1.
-
1.3. Класс самодвойственных функций.
1.4. Класс монотонных функций.
1.5. Класс линейных функций.
2. Теорема Поста о полноте.
Для формулировки критерия полноты
необходимо предварительно рассмотреть
пять замкнутых относительно операции
суперпозиции классов булевых функций
в
.
Каждый из них обладает тем свойством,
что если производить операцию суперпозиции
над функциями данного класса, то в
результате будут получаться только
функции из этого же класса.
-
Важнейшие замкнутые классы булевых функций
-
Класс функций, сохраняющий константу 0
-
Обозначим через
класс всех булевых функций
из
,
сохраняющих константу 0, то есть функций,
которые равны нулю на нулевом наборе
переменных:
.
Заметим, что если
,
а
,
то и
.
Легко убедиться, что функции 0,
,
,
,
принадлежат классу
,
а функции 1,
,
,
не входят в
.
Поскольку таблица для функции
из класса
в первой строке содержит значение 0, то
в
содержится ровно
булевых функций от
переменных.
Покажем, что
– замкнутый класс. Для этого надо
доказать следующее утверждение.
Лемма 1.
Суперпозиция функций из класса
является функцией класса
.
Для доказательства необходимо убедиться,
что применение операций
и
к функциям, сохраняющим 0, всякий раз
дает функцию, сохраняющую 0.
В результате операции
для функции
имеем формулу
,
которая при нулевых значениях своих
аргументов совпадает с
.
Теперь покажем, что функция
,
полученная в результате применения
операции
,
принадлежит
,
если
принадлежат
:
.
Лемма доказана.
Пример 1. Функции
и
входят в
,
поэтому суперпозиция этих функций будет
сохранять 0. Следовательно, система
неполная.
-
Класс функций, сохраняющий константу 1
Обозначим через
класс всех булевых функций
из
,
сохраняющих константу 1, то есть функций,
которые равны 1 на единичном наборе
переменных:
.
Например, функции 1,
,
,
принадлежат классу
,
а функции 0,
,
не входят в
.
В силу того, что класс
двойствен классу
,
нетрудно перенести результаты о классе
на класс
.
Так, если
,
а
,
то и
.
Класс
содержит
булевых функций от
переменных и является замкнутым классом,
то есть суперпозиция функций из класса
является функцией класса
.
-
Класс самодвойственных функций
Обозначим через
класс всех самодвойственных функций
из
,
то есть таких, что
.
Как и выше, нетрудно проверить, что
добавление равных функций не выводит
за пределы класса
:
.
Очевидно, что самодвойственными будут
функции
,
.
Менее тривиальным примером является
функция
:
Для самодвойственной функции имеет место тождество
.
Другими словами, на противоположных
наборах
и
самодвойственная
функция принимает противоположные
значения. Отсюда следует, что
самодвойственная функция определяется
своими значениями на первой половине
строк таблицы истинности. Поэтому число
самодвойственных функций
переменных равно
.
Докажем, что класс
замкнут, то есть, что суперпозиция
самодвойственных функций является
самодвойственной функцией. Для этого
достаточно показать, что функция
является самодвойственной, если
самодвойственны. Последнее устанавливается
непосредственно:
.
Докажем теперь лемму о несамодвойственной функции.
Лемма 2.
Если
,
то из нее путем подстановки функций
и
можно получить несамодвойственную
функцию одного переменного, то есть
константу.
Доказательство.
Так как
,
то найдется набор
такой, что
.
Рассмотрим функции
(
)
и положим
.
Тогда
Лемма доказана.
Например, функция
несамодвойственна, так как
.
Аналогично для функции
имеем:
.