Это в лекции 3. |
Полные системы функций и теорема Поста
Замкнутые классы функций
Пусть - это множество всех
булевых функций. В предыдущем разделе мы установили, что любую функцию из
можно задать формулой над системой
(в качестве таких формул можно,
например, взять соответствующие ДНФ и КНФ). Такие системы функций называются полными.
Определение 5.1. Система булевых функций F
называется полной,если формулами над этой системой можно задать
любую булеву функцию из .
Другим уже известным нам примером полной системы функций является система FJ={ 0, 1, *, +}, позволяющая задать произвольную булеву
функцию с помощью многочлена Жегалкина. Разумеется, не всякая система является
полной. Например, формулами над системой невозможно
выразить функцию тождественно равную 0 (почему?).Наша цель в этом разделе - найти критерий, позволяющий
по системе функций
определять ее полноту.
Для исследования полноты полезно следующее понятие.
Определение 5.2. Замыкание [F] системы функций F - это множество всех функций, которые можно задать с помощью формул над F .
Тогда определение полной системы можно переформулировать так:
система F является полной тогда и только тогда, когда .
Замыкание обладает следующими основными свойствами.
Предложение 5.1.
Доказательство. Все эти утверждения достаточно просто следуют из определения замыкания. Например, справедливость пункта (2) следует из того, что всякая функция из [F] задается некоторой формулой над F, а тогда всякая функция из [[F]], которая задается суперпозицией функций из [F], задается также некоторой формулой над F. Пункт (3) очевиден, а пункт (4) следует из (2) и (3):
и так как
,
то и
.
Утверждение (4) позволяет устанавливать полноту некоторой системы, выражая с ее помощью все функции другой системы, полнота которой уже установлена.
Например, законы де Моргана позволяют выразить через пару
,
и
- через пару
,
. Поэтому каждая из систем
и
также является полной. Эквивалентности (7) и (8) позволяют выразить
через пару
,
.
Следовательно, полной будет и система
.
Имеются ли полные системы из одной двуместной функции? Да. Рассмотрим
систему, { | }, включающую лишь штрих Шеффера. Напомним, что . Тогда нетрудно проверить, что
и
. Следовательно, система { | } полная.
Определение 5.3. Система функций F называется замкнутой, если F = [F] .
Очевидно, что замкнутая система F, не содержащая всех функций
из , не является полной.
Далее в этом разделе мы будем использовать верхний индекс в круглых скобках
Для указания числа аргументов функции, т.е. f(n) означает, что .
Определим пять важных замкнутых систем.
Определение 5.4.
(1,2) Функция сохраняет 0 (сохраняет 1),если f(0,0,...
,0)=0 ( f(1,1,...,1) = 1 ). Класс всех функций, сохраняющих 0, обозначим через
,
а класс всех функций, сохраняющих 1, - через
.
(3) Функция называется самодвойственной, если для любого набора аргументов
имеет место равенство:

Таким образом, самодвойственные функции принимают на противоположных наборах
противоположные значения. Класс всех самодвойственных функций обозначим через .
(4) Функция называется линейной, если она может
быть задана линейным многочленом Жегалкина вида

где при i=0, 1, 2, ..., n.
Класс всех линейных функций обозначим через .
(5) Функция называется монотонной, если для любых
двух наборов аргументов
и
таких, что для всех
, имеет место неравенство

Класс всех монотонных функций обозначим через .
Пример 5. Рассмотрим для примера пять функций от 3-х переменных, которые представлены в следующей таблице.
X1 | X2 | X3 | f1 | f2 | f3 | f4 | f5 |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
1 | 1. | 1 | 0 | 1 | 1 | 1 | 1 |
Из определений непосредственно следует, что f3, f4 и f5
сохраняют 0, т.е. входят в , а функции f2, f3, f4
и f5 сохраняют 1, т.е. входят в
. Функция f3 является самодвойственной, а f2 - нет, так как f2(0,0,0) = f2(1,1,1). Функция f2 является линейной - она задается многочленом X1 + X2 +1. Функция f5
является монотонной, а f3 - нет, так как f3(0,1,1)=0 < 1=f3(0,1,0).
Теорема 5.1. Классы
и
являются замкнутыми.
Доказательство. Замкнутость всех указанных классов устанавливается индукцией по построению
формул. Пусть
и
задается некоторой формулой над F.
Нужно показать, что тогда
.
Базис индукции, когда эта формула есть переменная ,
очевиден.
Пусть f(X1, ..., Xk)= g(f1(X1, ..., Xk),
..., fn(X1, ..., Xk)),
и функции входят в F.
Требуется показать, что тогда и f входит в F.
Для это просто:

Аналогично проверяется случай .
Если и
- произвольный набор аргументов, то

Следовательно, .
Пусть . Так как тогда g(n) и все
линейны, то существуют коэффициенты
и
такие, что
и
.
Подставив эти выражения в формулу для , получим

где - значения
сумм констант в соответствующих скобках.
Следовательно, .
Наконец рассмотрим класс монотонных функций. Если и все
и
и
- два набора аргументов такие, что для всех
, то

и поэтому

Таким образом, .