Полные системы функций. Теорема Поста о полной системе функций — различия между версиями
(→Доказательство) |
(→Доказательство) |
||
Строка 4: | Строка 4: | ||
==Доказательство == | ==Доказательство == | ||
− | |||
− | + | ---- | |
− | |||
− | + | Заметим, что необходимость этого утверждения очевидна, так как если бы все функции из набора К входили в один из перечисленных классов, то и все суперпозиции, а значит, и замыкание набора входило бы в этот класс и класс К не мог быть полным. | |
+ | |||
+ | ---- | ||
+ | |||
+ | Докажем достаточность этого утверждения. | ||
+ | |||
+ | Рассмотрим функцию, несохраняющую 0 - <math>f_0</math>'''.''' <math>f_0</math>(0) = 1'''.''' <math>f_0</math>(1) может принимать два значения: | ||
а) <math>f_0</math>(1) = 1, тогда <math>f_0</math>(x, x, x, ..., x) = <math>~1</math>'''.''' | а) <math>f_0</math>(1) = 1, тогда <math>f_0</math>(x, x, x, ..., x) = <math>~1</math>'''.''' | ||
Строка 38: | Строка 42: | ||
'''4''')Мы получили <math>~1</math> и <math>~0</math>'''.''' | '''4''')Мы получили <math>~1</math> и <math>~0</math>'''.''' | ||
− | Рассмотрим немонотонную функцию <math>f_m</math>. Существуют такие <math>x_1, x_2, ..., x_n</math>, что <math>f_m(x_1, x_2, ..., x_{i-1}, 0, x_{i+1}, ..., x_n)</math> = 1, <math>f_m(x_1, x_2, ..., x_{i-1}, 1, x_{i+1}, ..., x_n)</math> = 0, зафиксируем все <math>x_1, x_2, ..., x_n</math>, тогда <math>f_m(x_1, x_2, ..., x_{i-1}, x, x_{i+1}, ..., x_n)</math> = ¬x'''.''' | + | Рассмотрим немонотонную функцию <math>f_m</math>. Существуют такие <math>x_1, x_2, ..., x_n</math>, что <math>f_m(x_1, x_2, ..., x_{i-1}, 0 , x_{i+1}, ..., x_n)</math> = 1, <math>f_m(x_1, x_2, ..., x_{i-1}, 1 , x_{i+1}, ..., x_n)</math> = 0, зафиксируем все <math>x_1, x_2, ..., x_n</math>, тогда <math>f_m(x_1, x_2, ..., x_{i-1}, x, x_{i+1}, ..., x_n)</math> = ¬x'''.''' |
В итоге мы имеем три функции: '''НЕ''', <math>~0</math>, <math>~1</math>'''.''' | В итоге мы имеем три функции: '''НЕ''', <math>~0</math>, <math>~1</math>'''.''' |
Версия 08:06, 20 октября 2010
Формулировка теоремы
Система булевых функций F является полной тогда и только тогда, когда она не содержится ни в одном из классов
, т.е. когда в ней имеется хотя бы одна функция, не сохраняющая 0, хотя бы одна функция, не сохраняющая 1, хотя бы одна несамодвойственная функция, хотя бы одна немонотонная функция и хотя бы одна нелинейная функция.Доказательство
Заметим, что необходимость этого утверждения очевидна, так как если бы все функции из набора К входили в один из перечисленных классов, то и все суперпозиции, а значит, и замыкание набора входило бы в этот класс и класс К не мог быть полным.
Докажем достаточность этого утверждения.
Рассмотрим функцию, несохраняющую 0 -
. (0) = 1. (1) может принимать два значения:а)
(1) = 1, тогда (x, x, x, ..., x) = .б)
(1) = 0, тогда (x, x, x, ..., x) = ¬x.Возьмем функцию, несохраняющую 1 -
. (1) = 0. (0) может принимать два значения:а)
(0) = 0, тогда (x, x, x, ..., x) = .б)
(0) = 1, тогда (x, x, x, ..., x) = ¬x.Возможны 4 варианта:
1) Мы получили функцию НЕ. Используем несамодвойственную функцию
.По определению найдется такой вектор
, что ( ) = (¬ ). = ( ).Возьмем
( ), где = x, при = 1 и = ¬x, при = 0.Нетрудно заметить, что
(0) = (1) => = const. Таким образом мы получили одну из констант.2)Мы получили НЕ и
. ¬ = .3)Мы получили НЕ и
. ¬ = .4)Мы получили
и .Рассмотрим немонотонную функцию
. Существуют такие , что = 1, = 0, зафиксируем все , тогда = ¬x.В итоге мы имеем три функции: НЕ,
, .Используем нелинейную функцию
. Среди нелинейных членов , выберем тот, в котором минимальное количество элементов, все элементы, кроме двух, в этом члене, сделаем равными 1, оставшиеся 2 назавем и , а все элементы, не входящие в данный член, сделаем равными 0. Тогда = ^ ⊕ [ ] ⊕ [ ] ⊕ [ ], где в квадратных скобках указаны члены, которые могут и не присутствовать.Рассмотрим несколько вариантов:
1) Присутствует член
. Возьмем отрицание от и член уберется.2) Присутствуют 3 члена, без
: = ^ ⊕ ⊕ . Составив таблицу истинности для этой функции, нетрудно заметить, что она эквивалентна функции ИЛИ.3) Присутствуют 2 члена, без
. Посторив две таблицы истинности, для двух различных вариантов, видим, что в обоих случаях функция истинна только в одной точке => СДНФ будет состоять только из одного члена, а если это так, то не составляет труда выразить И, через НЕ и .4) Присутствует 1 член. Выразим И, через НЕ и
.Получается, что у нас есть функция НЕ, а также либо функция И, либо функция ИЛИ, но НЕ образует базис и с той и с другой функциями. Из того, что через функции F можно выразить базис, следует, что F - полная система функций, что и требовалось доказать.