Критерий полноты {формулировка}. Лемма о немонотонной функции

Формулировка. Система булевых функций $F$ является полной тогда и только тогда, когда она целиком не принадлежит ни одному из замкнутых классов $~S,M,L,T_0,T_1$.

  1. монотонные функции {функция монотонно не убывает по каждому из своих аргументов};
  2. функции, сохраняющие нуль {функция от нуля даёт ноль};
  3. функции, сохраняющие единицу {функция от единицы даёт единицу};
  4. линейные функции {функция представима многочленом, в котором каждый член состоит из одной переменной};
  5. самодвойственные функции {функция двойственна сама себе}.

Лемма: {о немонотонной функции}: Суперпозицией констант 0 и 1 и немонотонной функции можно получить отрицание.

Доказательство: Пусть $f(x_1, x_2 , ..., x_n)$ немонотонная функция. Тогда $\exists$ набор $(a_1, a_2, ...,a_n), b = (b_1, b_2, ...,b_n)$ для которых $a \leq b$, но $f(a) > f(b)$. Пусть $i_1, i_2, ...,i_k$ есть все те номера аргументов, для которых $a_{ip} < b_{ip}, p=1,2, ...,k$. На остальных аргументных местах $j$ имеем $a_j = b_j$. В выражении $f(a_1, a_2, ...,a_n)$ заменим нули на местах $i_1, i_2, ...,i_k$ на $x$. В результате получим функцию $g(x)$, для которой $g(0) = f(a) = 1$ и $g(1) = f(b) =0$, то есть для $g(x)$ является отрицанием.

Лемма: функция монотонна $\Longleftrightarrow$ ее сокращенная ДНФ не содержит отрицания.

Следствие: Функция $f$ монотонна $\Longleftrightarrow$ минимальная ДНФ не содержит отрицаний переменных.