Изменения

Перейти к: навигация, поиск
Новая страница: «==Формулировка теоремы== '''F''' называется полной системой функций тогда и только тогда, ког…»
==Формулировка теоремы==

'''F''' называется полной системой функций тогда и только тогда, когда она содержит функцию, ''несохраняющую'' 1, функцию, ''несохраняющую'' 0, ''немонотонную'', ''несамодвойственную'' и ''нелинейную'' функции'''.'''
----


==Доказательство ==
'''I.''' Докажем прямую теорему'''.'''

Предположим, что '''F''' не содержит функцию, обладающую одним из перечисленных выше свойств, но тогда мы не сможем через функции, входящие в '''F''' выразить функции, обладающие этим свойством, и следовательно '''F''' не будет полной системой функций, что противоречит условию, следовательно '''F''' должна содержать все вышеперечисленные функции'''.'''

'''II.''' Докажем обратную теорему'''.'''

У нас есть 5 функций: несохраняющая 1 - <math>f_1</math>, несохраняющая 0 - <math>f_0</math>, несамодвойственная - <math>f_s</math>, немонотонная - <math>f_m</math>, нелинейная - <math>f_l</math>'''.'''

Возьмем функцию, несохраняющую 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) = 0, тогда <math>f_0</math>(x, x, x, ..., x) = ¬x'''.'''

Возьмем функцию, несохраняющую 1 - <math>f_1</math>. <math>f_1</math>(1) = 0. <math>f_1</math>(0) может принимать два значения:

а) <math>f_1</math>(0) = 0, тогда <math>f_1</math>(x, x, x, ..., x) = <math>~0</math>'''.'''

б) <math>f_1</math>(0) = 1, тогда <math>f_1</math>(x, x, x, ..., x) = ¬x'''.'''

Возможны 4 варианта:

'''1''') Мы получили функцию '''НЕ'''. Используем несамодвойственную функцию <math>f_s</math>.

По определению найдется такой вектор <math>x_0</math>, что <math>f_s</math>(<math>x_0</math>) = <math>f_s</math>(¬<math>x_0</math>). <math>x_0</math> = (<math>x_{01}, x_{02}, ..., x_{0k}</math>)'''.'''

Возьмем <math>f_s</math>(<math>x^{x_{01}}, x^{x_{02}}, ..., x^{x_{0k}}</math>), где <math>x^{x_{0i}}</math> = x, при <math>x_{0i}</math> = 1 и <math>x^{x_{0i}}</math> = ¬x, при <math>x_{0i}</math> = 0'''.'''

Нетрудно заметить, что <math>f_s</math>(0) = <math>f_s</math>(1) => <math>f_s</math> = '''const.'''
Таким образом мы получили одну из констант'''.'''

'''2''')Мы получили '''НЕ''' и <math>~0</math>. '''¬'''<math>~0</math> = <math>~1</math>'''.'''

'''3''')Мы получили '''НЕ''' и <math>~1</math>. '''¬'''<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>~0</math>, <math>~1</math>'''.'''

Используем нелинейную функцию <math>f_l</math>'''.''' Среди нелинейных членов <math>f_l</math>, выберем тот, в котором минимальное количество элементов, все элементы, кроме двух, в этом члене, сделаем равными 1, оставшиеся 2 назавем <math>x_1</math> и <math>x_2</math>, а все элементы, не входящие в данный член, сделаем равными 0'''.''' Тогда <math>f_l</math> = <math>x_1</math>^<math>x_2</math> ⊕ [<math>x_1</math>] ⊕ [<math>x_2</math>] ⊕ [<math>~1</math>], где в квадратных скобках указаны члены, которые могут и не присутствовать'''.'''

Рассмотрим несколько вариантов:

1) Присутствует член <math>~1</math>. Возьмем отрицание от <math>f_l</math> и член <math>~1</math> уберется'''.'''

2) Присутствуют 3 члена, без <math>~1</math>: <math>f_l</math> = <math>x_1</math>^<math>x_2</math> ⊕ <math>x_1</math> ⊕ <math>x_2</math>'''.''' Составив таблицу истинности для этой функции, нетрудно заметить, что она эквивалентна функции '''ИЛИ.'''

3) Присутствуют 2 члена, без <math>~1</math>. Посторив две таблицы истинности, для двух различных вариантов, видим, что в обоих случаях функция истинна только в одной точке => СДНФ будет состоять только из одного члена, а если это так, то не составляет труда выразить '''И''', через '''НЕ''' и <math>f_l</math>.

4) Присутствует 1 член. Выразим '''И''', через '''НЕ''' и <math>f_l</math>.

Получается, что у нас есть функция '''НЕ''', а также либо функция '''И''', либо функция '''ИЛИ''', но '''НЕ''' образует базис и с той и с другой функциями. Из того, что через функции '''F''' можно выразить базис, следует, что '''F''' - полная система функций'''.'''
9
правок

Навигация