2-2. Теорема Поста. Определение: Система функций {f1, f2, …, fn} из P2 называется полной, если любая булева функция может быть записана в виде формулы через функции этой системы. Теорема. Пусть даны две системы функций I и II. Система I - полна и любая функция из I может быть записана в виде формулы через функции системы II. Тогда II - полна. Определение: Замыкание множества M - это множество всех функций, представимых в виде формул через функции множества M. (Обозначение [M]) [P2] = P2 Определение: Замкнутый класс : M = [M]. Определение 2 (полноты): M - полный, если M = [P2]. Классы функций: 1. T 0: f (0,0,...,0) 0 T 1: f (1,1,...,1) 1 3. S : f ( x1 , x 2 ,..., x n ) f ( x 1 , x 2 ,..., x n ) 2. 4. 5. M : , : f ( ) f ( ) L : f ( x1 , x 2 ,..., x n ) c 0 c1 x1 ... c n x n ; где c 0 ,c1 ,...,c n const Лемма о несамодвойственной функции: пусть f –НСФ, тогда, подставляя вместо переменных x и ~x, из нее можно получить const. Док. Существует набор а1,…,an: f(а1,…,an)=f(~а1,…, ~an). G(x)=f(x^a1,…,x^an). G(1)=f(а1,…,an)=f(~а1,…, ~an)=G(0) => G(1)=G(0)=const. Лемма о немонотонной функции: пусть f –НМФ, тогда, подставляя вместо переменных 0, 1 и x, из нее можно получить ~x. Док. 1). Существует пара соседних наборов , : f ( ) f ( ) Из определения: либо наборы соседние, либо они отличаются в t>1 разрядах (причем в первом наборе они 0, а во втором - 1). Тогда между ними можно вставить последовательность из t-1 промежуточных наборов 1, t 1: 1 ... t 1 . Наборы, стоящие в цепочке рядом будут соседними. По крайней мере для одной из пар соседних наборов будет справедливо 2). Пусть ( 1,..., j 1,0, j 1,..., n) Возьмем ( x) ( 1,..., j 1, x, j 1,..., n) и f ( i ) f ( i 1) . ( 1,..., j 1,1, j 1,..., n) (0) f ( 1,..., j 1,0, j 1,..., n) f ( ) f ( ) f ( 1,..., j 1,1, j 1,..., n) (1) ( x) x Определение: Полином Жегалкина (ПЖ) a i1,..., i s x i1 x i s ( i1,..., i s ) (сумма по модулю 2) Лемма о нелинейной функции: Пусть f–НЛФ, тогда, путем подстановки констант 0,1 и функций x, ~x можно получить xy или ~(xy) Док. В ПЖ для f есть нелинейный член xi xj…( пусть x1 и x2 ). Тогда f=x1 x2 P1(x3… xn)+x1 P2(x3… xn)+x2 P3(x3… xn)+ P4(x3… xn). Пусть a3… an: P1(a3…an)=1. Тогда S(x1,x2)=f(x1,x2,a3,…,an)=x1 x2+x1 P2(a)+x2 P3(a)+P4(a)=x1 x2+b x1+c x2+d. G(x, y)= S(x+c, y+b)+ bc+d = xy Теор. Система ФАЛ полна if она не содержится в T0, T1, L, S, M. Док. => очев. – о/п. <=. Построим константы, отрицание, конъюнкцию => полная. Пусть есть f0, f1, fl, fm, fs – не содержащиеся в соответствующих классах. 1. Получение констант 0 и 1 Два варианта: f0(1,1,…,1)=1, тогда φ(x)= f0(x,x,…,x)=1, так как φ(0)= f0(0,0,…,0)=1= φ(1). из f1 получаем вторую константу: f1(1,1,…,1)=0 f0(1,1,…,1)=0, тогда φ(x)= f0(x,x,…,x)=~x По лемме о несамодвойственной функции получаем константу. С использованием ~x получаем и вторую. 2. 3. Получение отрицания из функции fm с помощью констант 0 и 1 (лемма о немонотонной функции). [Для варианта 2 этот шаг можно пропустить.] Конъюнкция. По лемме о нелинейной функции {xy или ~(xy)} содержится в [fl,0,1,~x]. Теперь имеем ~x, xy => полная система функций.