Критерий Поста

Теория

Пять классов Поста T0, T1, S. M, L. Их замкнутость. Критерий Поста: множество полно, если оно не содержится ни в одном из классов Поста. Примеры.

Рассмотрим некоторые классы булевых функций:

• класс функций T0, сохраняющих константу 0, т.е. функций, удовлетворящих условию f(0,...,0) = 0;

• аналогичный класс функций T1, сохраняющих константу 1, т.е. удовлетворящих условию f(1,...,1) = 1;

• класс S самодвойственных функций, т.е. функций, удовлетворяющих условию ∀α f(α) = = f(α) (здесь α — n-мерный булев вектор, отрицание которого выполняется покомпонентно);

• класс M функций, монотонных относительно естественного порядка полукольца Bn, т.е. функций, удовлетворяющих условию α ≤ β ⇒ f(α) ≤ f(β);

• класс L линейных функций — функций, представимых полиномом Жегалкина первой степени (попросту говоря суммой по модулю 2 литералов, в число которых может входить ко станта 0).

Выделенные классы называют классами Поста. Они интересны тем, что каждый определяется свойством, сохраняющимся при конструировании формул. Точнее говоря, если функции f, g1, ..., gk принадлежат одному из указанных классов, то и их композиция f(g1,g2,...,gk) принадлежит этому же классу. Это означает, что каждый из названных классов есть замкну- тое множество. Отметим также, что классы Поста замкнуты относительно операций введения или удаления фиктивных аргументов.

Рассмотрение классов Поста приводит к следующему необходимому условию полноты рассматриваемого базиса: базис, целиком попадающий в один из классов Поста, не может быть полным. Действительно, если базис включен в один из классов Поста, то замыкание базиса также оказывается в этом классе. Но ни один из классов Поста не совпадает со всем множе- ством булевых функций. Следовательно, замыкание базиса не будет совпадать с множеством всех булевых функций. Менее очевидным является то, что это условие и достаточно.

Теорема 1.5 (критерий Поста). Множество F полно тогда и только тогда, когда оно не является подмножеством никакого из классов Поста.

◀Доказательство достаточности критерия состоит в построении из заданных функций формул, представляющих функции стандартного базиса. Отметим, что в стандартном базисе одна из бинарных операций выражается через отрицание и другую бинарную операцию, например

x + y = xy .

Поэтому достаточно построить формулы, определяющие отрицание и умножение.

Пусть F не является подмножеством ни одного из классов Поста. Для каждой функции f ∈ F рассмотрим формулу g(x) = f(x, x, . . . , x). Поскольку F не содержится в T0 и в T1, в F, во-первых, есть непостоянные функции, а во-вторых есть хотя бы одна функция f1, для которой g1(0) = 1, и есть хотя бы одна функция f2, для которой g2(1) = 0. Это возможно, если одна из функций g1(x) и g2(x) есть отрицание, либо обе функции постоянны и представляют константы 0 и 1. Рассмотрим оба случая.

Пусть функции g1(x) и g2(x) являются константы 0 и 1. Тогда для любой функции f ∈ F формула f(α12,...,αi−1,x,αi+1,...,αn), в которой αj — константы, есть формула над F. Выберем функцию f, не являющуюся монотонной. Тогда существуют два булевых вектора p и q, удовлетворяющие условиям p < q и f(p) = 1, f(q) = 0. Векторы p и q можно соединить цепочкой p = p0, p1, . . . , pk = q непосредственно предшествующих друг другу векторов (соседних). В этой цепочке найдется два соседних вектора pj−1 и pj, которые отличаются только одной компонентой с некоторым номером i и на которых f(pj−1) = 1, f(pj) = 0. Пусть αj, j≠ i, одинаковые компоненты этих векторов. Тогда формула f(α1, α2, . . . , αi−1, x, αi+1, . . . , αт) представляет собой операцию отрицания.

Предположим, например, что функция g1(x) является отрицанием. Тогда мы можем составлять формулы вида f(x ⊕ σ1,...,x ⊕ σ1), где x ⊕ σ есть переменная x при σ = 0 и ее отрицание при σ = 1. Выберем функцию f ∈ F, не являющуюся самодвойственной. Тогда можно указать такой булев вектор p ∈ Bт, что f(p) ̸= f(p), откуда f(p) = f(p). Пусть σ1, ..., σn — компоненты вектора p. Рассмотрим функцию g(x) = f(x ⊕ σ1, . . . , x ⊕ σ1), определяемую выбранной несамодвойственной функцией f и вектором p. Так как 0 ⊕ σi = σi, 1 ⊕ σi = σi, то g(0) = f(p) = f(p) = g(x). Следовательно, функция g(x) является константой. Пусть, например, g(x) = 1. Тогда g(x) = 0 — другая константа.

Итак, мы показали, что множество F, не являющееся подмножеством классов T0, T1, S, M, позволяет получить в виде формул отрицание и обе константы. Для построения формулы для произведения выберем функцию f ∈ F, не являющуюся линейной. Составляя формулы вида f(X1,X2,...,Xn), где Xi — это либо переменная x, либо переменная y, мы получим функции двух аргументов. Покажем, что среди таких функций есть нелинейные. В полиноме Жегалкина, представляющем функцию f, выберем нелинейное (степени два или выше) слагаемое наименьшей степени. Пусть это слагаемое имеет вид xi1 xi2 . . . xik . В формуле f(X1, X2, . . . , Xn) положим Xi1 = x, Xij = y, j = 2, k, а для остальных переменных, не вошедших в выбран- ное слагаемое выберем значение 0. Тогда выбранное слагаемое преобразуется в xy, остальные нелинейные слагаемые обнулятся, и мы получим функцию вида g(x, y) = xy ⊕ αx ⊕ βy ⊕ γ.

Так как

g(x, y) = xy ⊕ αx ⊕ βy ⊕ γ = (x ⊕ β)(y ⊕ α) ⊕ αβ ⊕ γ = (x ⊕ β)(y ⊕ α) ⊕ γ′,

заключаем, что g(x⊕β,y⊕α)⊕γ′ = xy. Но x⊕σ — это переменная x при σ = 0 и ее отрицание x при σ = 1. Поэтому, если g(x,y) принадлежит замыканию F, то и функция g(x ⊕ β, y ⊕ α) ⊕ γ′ = xy, т.е. конъюнкция, принадлежит замыканию F .

Итак, мы показали, что если множество F не является подмножеством никакого класса Поста, то формулами над F можно представить отрицание и конъюнкцию, а значит, и дизъюнкцию. В этом случае, согласно теореме 1.3, множество F полное.