<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hekagami</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hekagami"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Hekagami"/>
		<updated>2026-08-04T13:36:43Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%9F%D0%BE%D1%81%D1%82%D0%B0_%D0%BE_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B9_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9&amp;diff=50185</id>
		<title>Полные системы функций. Теорема Поста о полной системе функций</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%9F%D0%BE%D1%81%D1%82%D0%B0_%D0%BE_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B9_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9&amp;diff=50185"/>
				<updated>2015-12-12T16:43:31Z</updated>
		
		<summary type="html">&lt;p&gt;Hekagami: /* Примеры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Полные системы функций ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Если любая [[Определение булевой функции|булева функция]], являющаяся [[Суперпозиции|суперпозицией]] функций некоторого множества, принадлежит этому множеству, то такое множество называют '''замкнутым''' (англ. ''closed set'').}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Замыканием''' (англ. ''сlosure'') множества функций называется такое подмножество всех булевых функций, что любую из этих функций можно выразить через функции исходного множества.}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def1&lt;br /&gt;
|definition=&lt;br /&gt;
Множество булевых функций называется '''полной системой''' (англ. ''complete set''), если замыкание этого множества совпадает с множеством всех функций.}} &lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Полная система функций называется '''безызбыточной''' (англ. ''irredundant functions''), если она перестает быть полной при исключении из неё любого элемента.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Американский математик Эмиль Пост сформулировал необходимое и достаточное условие полноты системы булевых функций. Для этого он ввел в рассмотрение следующие замкнутые классы булевых функций:&lt;br /&gt;
* Функции, сохраняющие константу &amp;lt;Tex&amp;gt;T_0&amp;lt;/Tex&amp;gt; и &amp;lt;Tex&amp;gt;T_1&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Самодвойственныые функции &amp;lt;Tex&amp;gt;S&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Монотонные функции &amp;lt;Tex&amp;gt;M&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Линейные функции &amp;lt;Tex&amp;gt;L&amp;lt;/Tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Замкнутые классы булевых функций ==&lt;br /&gt;
Класс функций сохраняющих ноль &amp;lt;tex&amp;gt;T_0&amp;lt;/tex&amp;gt;. &lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''сохраняет ноль''', если &amp;lt;tex&amp;gt;f(0, 0, \dots, 0) = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Класс функций сохраняющих единицу &amp;lt;tex&amp;gt;T_1&amp;lt;/tex&amp;gt;. &lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''сохраняет один''', если &amp;lt;tex&amp;gt;f(1, 1, \dots, 1) = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Класс самодвойственных функций &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''самодвойственна''' (англ. ''self-dual''), если &amp;lt;tex&amp;gt;f(\overline{x_1},\dots,\overline{x_n})=\overline{f(x_1,\dots,x_n)}&amp;lt;/tex&amp;gt;. Иными словами, функция называется самодвойственной, если на противоположных наборах она принимает противоположные значения.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Класс монотонных функций &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''монотонна''' (англ. ''monotonic function'') , если &amp;lt;tex&amp;gt;\forall i (a_i \leqslant b_i) \Rightarrow f(a_1,\dots,a_n)\leqslant f(b_1,\dots,b_n)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Класс линейных функций &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''линейна''' (англ. ''linear function''), если существуют такие &amp;lt;tex&amp;gt;a_0, a_1, a_2, \dots, a_n&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;a_i \in \{0, 1\}, \forall i=\overline{1,n}&amp;lt;/tex&amp;gt;, что для любых &amp;lt;tex&amp;gt;x_1, x_2, \dots, x_n&amp;lt;/tex&amp;gt; имеет место равенство:&lt;br /&gt;
:&amp;lt;tex&amp;gt;f(x_1, x_2, \dots, x_n) = a_0\oplus a_1\cdot x_1\oplus a_2\cdot x_2 \oplus\dots\oplus a_n\cdot x_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Количество линейных функций от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; переменных равно &amp;lt;tex&amp;gt;~2^{n+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Функция является линейной тогда, и только тогда, когда в ее [[Полином_Жегалкина|полиноме Жегалкина]] присутствуют слагаемые, каждое из которых зависит не более чем от одной переменной. Построить полином Жегалкина можно с помощью [[Преобразование Мёбиуса для получения коэффициентов полинома Жегалкина|преобразования Мебиуса]].&lt;br /&gt;
&lt;br /&gt;
== Формулировка и доказательство критерия Поста ==&lt;br /&gt;
{{&lt;br /&gt;
Теорема|statement=&lt;br /&gt;
Набор булевых функций K является полным тогда и только тогда, когда он не содержится полностью ни в одном из классов &amp;lt;tex&amp;gt; S,M,L,T_0,T_1 &amp;lt;/tex&amp;gt;, иными словами, когда в нем имеется хотя бы одна функция, не сохраняющая ноль, хотя бы одна функция, не сохраняющая один, хотя бы одна несамодвойственная функция, хотя бы одна немонотонная функция и хотя бы одна нелинейная функция.&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
===== Необходимость. =====&lt;br /&gt;
&lt;br /&gt;
Заметим, что необходимость этого утверждения очевидна, так как если бы все функции из набора К входили в один из перечисленных классов, то и все суперпозиции, а, значит, и замыкание набора входило бы в этот класс, и набор К не мог бы быть полным.&lt;br /&gt;
&lt;br /&gt;
===== Достаточность. =====&lt;br /&gt;
# Рассмотрим функцию, не сохраняющую ноль {{---}} &amp;lt;tex&amp;gt;f_0&amp;lt;/tex&amp;gt;. (&amp;lt;tex&amp;gt;f_0(0) = 1&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;f_0(1)&amp;lt;/tex&amp;gt; может принимать два значения:&lt;br /&gt;
## &amp;lt;tex&amp;gt;f_0(1) = 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_0(x, x, x, \ldots, x) = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
## &amp;lt;tex&amp;gt;f_0(1) = 0&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_0(x, x, x, \dots, x) = \neg x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Рассмотрим функцию, не сохраняющую один {{---}} &amp;lt;tex&amp;gt;f_1&amp;lt;/tex&amp;gt;. (&amp;lt;tex&amp;gt;f_1(1) = 0&amp;lt;/tex) &amp;lt;tex&amp;gt;f_1(0)&amp;lt;/tex&amp;gt; может принимать два значения:&lt;br /&gt;
## &amp;lt;tex&amp;gt;f_1(0) = 0&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_1(x, x, x, \ldots, x) = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
## &amp;lt;tex&amp;gt;f_1(0) = 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_1(x, x, x, \ldots, x) = \lnot x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Таким образом, возможны четыре варианта:''&lt;br /&gt;
&lt;br /&gt;
* Мы получили функцию &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;. &lt;br /&gt;
Используем несамодвойственную функцию &amp;lt;tex&amp;gt;f_s&amp;lt;/tex&amp;gt;. По определению, найдется такой вектор &amp;lt;tex&amp;gt;x_0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;f_s(x_0) = f_s(\lnot x_0)&amp;lt;/tex&amp;gt;. Где &amp;lt;tex&amp;gt;x_0 = (x_{01}, x_{02}, ..., x_{0k})&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt;f_s(x^{x_{01}}, x^{x_{02}}, \ldots, x^{x_{0k}})&amp;lt;/tex&amp;gt;, где либо &amp;lt;tex&amp;gt;x^{x_{0i}} = x&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x_{0i} = 1&amp;lt;/tex&amp;gt;. Либо &amp;lt;tex&amp;gt;x^{x_{0i}} = \lnot x&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x_{0i}  = 0 &amp;lt;/tex&amp;gt;. &lt;br /&gt;
Нетрудно заметить, что &amp;lt;tex&amp;gt;f_s(0) = f_s(1) \Rightarrow f_s = \operatorname {const}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом мы получили одну из констант.&lt;br /&gt;
&lt;br /&gt;
*Мы получили &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\lnot 0 = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*Мы получили &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\lnot 1 = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*Мы получили &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим немонотонную функцию &amp;lt;tex&amp;gt;f_m&amp;lt;/tex&amp;gt;. Существуют такие &amp;lt;tex&amp;gt;x_1, x_2, \ldots, x_n&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1},  0  , x_{i+1},  \ldots, x_n) = 1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1},  1  , x_{i+1},  \ldots, x_n) = 0&amp;lt;/tex&amp;gt;, зафиксируем все &amp;lt;tex&amp;gt;x_1, x_2,  \ldots, x_n&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1}, x, x_{i+1},  \ldots, x_n)= \lnot x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''В итоге имеем три функции:'' &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Используем нелинейную функцию &amp;lt;tex&amp;gt;f_l&amp;lt;/tex&amp;gt;. Среди нелинейных членов &amp;lt;tex&amp;gt;f_l&amp;lt;/tex&amp;gt; (ее представления в виде [[Полином Жегалкина|полинома Жегалкина]]), выберем тот, в котором минимальное количество элементов. Все аргументы кроме двух в этом члене приравняем единице, оставшиеся два назовем &amp;lt;tex&amp;gt;x_1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x_2&amp;lt;/tex&amp;gt;. Все элементы, не входящие в данный член, примем равными нулю. &lt;br /&gt;
Тогда эта функция будет представима в виде &amp;lt;tex&amp;gt;g_l = x_1 \land x_2 [ \oplus x_1] [\oplus x_2][ \oplus ~1]&amp;lt;/tex&amp;gt;, где в квадратных скобках указаны члены, которые могут и не присутствовать (остальные слагаемые будут равны нулю, поскольку в них есть как минимум один аргумент, не входящий в выбранный член, так как в выбранном члене минимальное число элементов).&lt;br /&gt;
&lt;br /&gt;
''Рассмотрим несколько вариантов:''&lt;br /&gt;
&lt;br /&gt;
# Присутствует член &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;. Возьмем отрицание от &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; и член &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt; исчезнет.&lt;br /&gt;
# Присутствуют три члена, без &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;g_l= x_1 \land x_2 \oplus x_1 \oplus x_2&amp;lt;/tex&amp;gt;. Составив таблицу истинности для этой функции нетрудно заметить, что она эквивалентна функции &amp;lt;tex&amp;gt; \vee &amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Присутствуют два члена, без &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;. Построив две таблицы истинности для двух различных вариантов, заметим, что в обоих случаях функция истинна только в одной точке, следовательно, СДНФ функции &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; будет состоять только из одного члена. Если это так, то не составляет труда выразить &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt; через &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt;. Например, если функция &amp;lt;tex&amp;gt;g_l(x_1, x_2, ..., x_n)&amp;lt;/tex&amp;gt; принимает истинное значение, когда аргументы c номерами &amp;lt;tex&amp;gt;i_1, i_2, ..., i_m&amp;lt;/tex&amp;gt; ложны, а все остальные истины, то функцию &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt; можно выразить как &amp;lt;tex&amp;gt;g_l([\lnot]x_1, [\lnot]x_2, ..., [\lnot]x_n)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\lnot&amp;lt;/tex&amp;gt; ставится перед аргументами с номерами &amp;lt;tex&amp;gt;i_1, i_2, ..., i_m&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Присутствует один член. Выразим &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt; через &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; аналогично пункту 3.&lt;br /&gt;
&lt;br /&gt;
В итоге получим функцию&amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;, а также либо функцию &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt;, либо функцию &amp;lt;tex&amp;gt; \vee &amp;lt;/tex&amp;gt;. Поскольку функцию &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt; можно выразить через &amp;lt;tex&amp;gt; \vee &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;, а функцию &amp;lt;tex&amp;gt; \vee &amp;lt;/tex&amp;gt; через &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;, то мы получили базис &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; \vee &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;. Любую булеву функцию, не равную тождественному нулю, можно представить в форме [[СДНФ]], то есть выразить в данном базисе. Если же функция равна тождественному нулю, то ее можно представить в виде &amp;lt;tex&amp;gt;x \land \lnot x&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Значит, полученные функции образуют полную систему, поскольку с их помощью можно выразить любую булеву функцию. Из этого следует, что K {{---}} полная система функций, что и требовалось доказать.''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Согласно критерию Поста система булевых функций полна тогда и только тогда, когда она не содержится целиком ни в одном из классов &amp;lt;tex&amp;gt;T_0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;T_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В частности, если функция не входит ни в один из классов Поста, она сама по себе формирует полную систему. В качестве примера можно назвать [[Определение_булевой_функции#.D0.91.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8|штрих Шеффера]] или [[Определение_булевой_функции#.D0.91.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8|стрелку Пирса]].&lt;br /&gt;
&lt;br /&gt;
Широко известны такие полные системы булевых функций:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\left\{\land,\lor,\neg\right\}&amp;lt;/tex&amp;gt; (конъюнкция, дизъюнкция, отрицание);&lt;br /&gt;
* &amp;lt;tex&amp;gt;\left\{\land,\oplus,1\right\}&amp;lt;/tex&amp;gt; (конъюнкция, сложение по модулю два, константа один).&lt;br /&gt;
Первая система используется, например, для представления функций в виде [[СДНФ|дизъюнктивных]] и [[СКНФ|конъюнктивных нормальных форм]], вторая — для представления в виде [[Полином Жегалкина|полиномов Жегалкина]].&lt;br /&gt;
&lt;br /&gt;
Первая из упоминавшихся выше полных систем безызбыточной не является, поскольку согласно законам де Моргана либо дизъюнкцию, либо конъюнкцию можно исключить из системы и восстановить с помощью остальных двух функций. Вторая система является безызбыточной — все три её элемента необходимы для полноты системы.&lt;br /&gt;
&lt;br /&gt;
Максимально возможное число булевых функций в базисе — четыре.&lt;br /&gt;
&lt;br /&gt;
Иногда говорят о системе функций, полной в некотором замкнутом классе, и, соответственно, о базисе этого класса. Например, систему &amp;lt;tex&amp;gt;\left\{\oplus,1\right\}&amp;lt;/tex&amp;gt; можно назвать базисом класса линейных функций.&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
&lt;br /&gt;
* [http://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B9_%D0%9F%D0%BE%D1%81%D1%82%D0%B0 Википедия — Критерий Поста]&lt;br /&gt;
* [http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BC%D0%BA%D0%BD%D1%83%D1%82%D1%8B%D0%B5_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B_%D0%B1%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D1%85_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9 Википедия — Замкнутые классы булевых функций]&lt;br /&gt;
* Образовательный сайт [http://mini-soft.ru/nstu/diskr/7_.php MiniSoft]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Post%27s_lattice Post's lattice]&lt;br /&gt;
* [http://www.mielt.ru/dir/cat14/subj266/file299/view1397.html Лекции по дискретной математике]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Булевы функции]]&lt;/div&gt;</summary>
		<author><name>Hekagami</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%9F%D0%BE%D1%81%D1%82%D0%B0_%D0%BE_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B9_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9&amp;diff=50184</id>
		<title>Полные системы функций. Теорема Поста о полной системе функций</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%9F%D0%BE%D1%81%D1%82%D0%B0_%D0%BE_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B9_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9&amp;diff=50184"/>
				<updated>2015-12-12T16:41:04Z</updated>
		
		<summary type="html">&lt;p&gt;Hekagami: /* Формулировка и доказательство критерия Поста */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Полные системы функций ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Если любая [[Определение булевой функции|булева функция]], являющаяся [[Суперпозиции|суперпозицией]] функций некоторого множества, принадлежит этому множеству, то такое множество называют '''замкнутым''' (англ. ''closed set'').}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Замыканием''' (англ. ''сlosure'') множества функций называется такое подмножество всех булевых функций, что любую из этих функций можно выразить через функции исходного множества.}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def1&lt;br /&gt;
|definition=&lt;br /&gt;
Множество булевых функций называется '''полной системой''' (англ. ''complete set''), если замыкание этого множества совпадает с множеством всех функций.}} &lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Полная система функций называется '''безызбыточной''' (англ. ''irredundant functions''), если она перестает быть полной при исключении из неё любого элемента.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Американский математик Эмиль Пост сформулировал необходимое и достаточное условие полноты системы булевых функций. Для этого он ввел в рассмотрение следующие замкнутые классы булевых функций:&lt;br /&gt;
* Функции, сохраняющие константу &amp;lt;Tex&amp;gt;T_0&amp;lt;/Tex&amp;gt; и &amp;lt;Tex&amp;gt;T_1&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Самодвойственныые функции &amp;lt;Tex&amp;gt;S&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Монотонные функции &amp;lt;Tex&amp;gt;M&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Линейные функции &amp;lt;Tex&amp;gt;L&amp;lt;/Tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Замкнутые классы булевых функций ==&lt;br /&gt;
Класс функций сохраняющих ноль &amp;lt;tex&amp;gt;T_0&amp;lt;/tex&amp;gt;. &lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''сохраняет ноль''', если &amp;lt;tex&amp;gt;f(0, 0, \dots, 0) = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Класс функций сохраняющих единицу &amp;lt;tex&amp;gt;T_1&amp;lt;/tex&amp;gt;. &lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''сохраняет один''', если &amp;lt;tex&amp;gt;f(1, 1, \dots, 1) = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Класс самодвойственных функций &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''самодвойственна''' (англ. ''self-dual''), если &amp;lt;tex&amp;gt;f(\overline{x_1},\dots,\overline{x_n})=\overline{f(x_1,\dots,x_n)}&amp;lt;/tex&amp;gt;. Иными словами, функция называется самодвойственной, если на противоположных наборах она принимает противоположные значения.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Класс монотонных функций &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''монотонна''' (англ. ''monotonic function'') , если &amp;lt;tex&amp;gt;\forall i (a_i \leqslant b_i) \Rightarrow f(a_1,\dots,a_n)\leqslant f(b_1,\dots,b_n)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Класс линейных функций &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''линейна''' (англ. ''linear function''), если существуют такие &amp;lt;tex&amp;gt;a_0, a_1, a_2, \dots, a_n&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;a_i \in \{0, 1\}, \forall i=\overline{1,n}&amp;lt;/tex&amp;gt;, что для любых &amp;lt;tex&amp;gt;x_1, x_2, \dots, x_n&amp;lt;/tex&amp;gt; имеет место равенство:&lt;br /&gt;
:&amp;lt;tex&amp;gt;f(x_1, x_2, \dots, x_n) = a_0\oplus a_1\cdot x_1\oplus a_2\cdot x_2 \oplus\dots\oplus a_n\cdot x_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Количество линейных функций от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; переменных равно &amp;lt;tex&amp;gt;~2^{n+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Функция является линейной тогда, и только тогда, когда в ее [[Полином_Жегалкина|полиноме Жегалкина]] присутствуют слагаемые, каждое из которых зависит не более чем от одной переменной. Построить полином Жегалкина можно с помощью [[Преобразование Мёбиуса для получения коэффициентов полинома Жегалкина|преобразования Мебиуса]].&lt;br /&gt;
&lt;br /&gt;
== Формулировка и доказательство критерия Поста ==&lt;br /&gt;
{{&lt;br /&gt;
Теорема|statement=&lt;br /&gt;
Набор булевых функций K является полным тогда и только тогда, когда он не содержится полностью ни в одном из классов &amp;lt;tex&amp;gt; S,M,L,T_0,T_1 &amp;lt;/tex&amp;gt;, иными словами, когда в нем имеется хотя бы одна функция, не сохраняющая ноль, хотя бы одна функция, не сохраняющая один, хотя бы одна несамодвойственная функция, хотя бы одна немонотонная функция и хотя бы одна нелинейная функция.&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
===== Необходимость. =====&lt;br /&gt;
&lt;br /&gt;
Заметим, что необходимость этого утверждения очевидна, так как если бы все функции из набора К входили в один из перечисленных классов, то и все суперпозиции, а, значит, и замыкание набора входило бы в этот класс, и набор К не мог бы быть полным.&lt;br /&gt;
&lt;br /&gt;
===== Достаточность. =====&lt;br /&gt;
# Рассмотрим функцию, не сохраняющую ноль {{---}} &amp;lt;tex&amp;gt;f_0&amp;lt;/tex&amp;gt;. (&amp;lt;tex&amp;gt;f_0(0) = 1&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;f_0(1)&amp;lt;/tex&amp;gt; может принимать два значения:&lt;br /&gt;
## &amp;lt;tex&amp;gt;f_0(1) = 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_0(x, x, x, \ldots, x) = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
## &amp;lt;tex&amp;gt;f_0(1) = 0&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_0(x, x, x, \dots, x) = \neg x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Рассмотрим функцию, не сохраняющую один {{---}} &amp;lt;tex&amp;gt;f_1&amp;lt;/tex&amp;gt;. (&amp;lt;tex&amp;gt;f_1(1) = 0&amp;lt;/tex) &amp;lt;tex&amp;gt;f_1(0)&amp;lt;/tex&amp;gt; может принимать два значения:&lt;br /&gt;
## &amp;lt;tex&amp;gt;f_1(0) = 0&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_1(x, x, x, \ldots, x) = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
## &amp;lt;tex&amp;gt;f_1(0) = 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_1(x, x, x, \ldots, x) = \lnot x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Таким образом, возможны четыре варианта:''&lt;br /&gt;
&lt;br /&gt;
* Мы получили функцию &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;. &lt;br /&gt;
Используем несамодвойственную функцию &amp;lt;tex&amp;gt;f_s&amp;lt;/tex&amp;gt;. По определению, найдется такой вектор &amp;lt;tex&amp;gt;x_0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;f_s(x_0) = f_s(\lnot x_0)&amp;lt;/tex&amp;gt;. Где &amp;lt;tex&amp;gt;x_0 = (x_{01}, x_{02}, ..., x_{0k})&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt;f_s(x^{x_{01}}, x^{x_{02}}, \ldots, x^{x_{0k}})&amp;lt;/tex&amp;gt;, где либо &amp;lt;tex&amp;gt;x^{x_{0i}} = x&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x_{0i} = 1&amp;lt;/tex&amp;gt;. Либо &amp;lt;tex&amp;gt;x^{x_{0i}} = \lnot x&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x_{0i}  = 0 &amp;lt;/tex&amp;gt;. &lt;br /&gt;
Нетрудно заметить, что &amp;lt;tex&amp;gt;f_s(0) = f_s(1) \Rightarrow f_s = \operatorname {const}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом мы получили одну из констант.&lt;br /&gt;
&lt;br /&gt;
*Мы получили &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\lnot 0 = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*Мы получили &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\lnot 1 = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*Мы получили &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим немонотонную функцию &amp;lt;tex&amp;gt;f_m&amp;lt;/tex&amp;gt;. Существуют такие &amp;lt;tex&amp;gt;x_1, x_2, \ldots, x_n&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1},  0  , x_{i+1},  \ldots, x_n) = 1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1},  1  , x_{i+1},  \ldots, x_n) = 0&amp;lt;/tex&amp;gt;, зафиксируем все &amp;lt;tex&amp;gt;x_1, x_2,  \ldots, x_n&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1}, x, x_{i+1},  \ldots, x_n)= \lnot x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''В итоге имеем три функции:'' &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Используем нелинейную функцию &amp;lt;tex&amp;gt;f_l&amp;lt;/tex&amp;gt;. Среди нелинейных членов &amp;lt;tex&amp;gt;f_l&amp;lt;/tex&amp;gt; (ее представления в виде [[Полином Жегалкина|полинома Жегалкина]]), выберем тот, в котором минимальное количество элементов. Все аргументы кроме двух в этом члене приравняем единице, оставшиеся два назовем &amp;lt;tex&amp;gt;x_1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x_2&amp;lt;/tex&amp;gt;. Все элементы, не входящие в данный член, примем равными нулю. &lt;br /&gt;
Тогда эта функция будет представима в виде &amp;lt;tex&amp;gt;g_l = x_1 \land x_2 [ \oplus x_1] [\oplus x_2][ \oplus ~1]&amp;lt;/tex&amp;gt;, где в квадратных скобках указаны члены, которые могут и не присутствовать (остальные слагаемые будут равны нулю, поскольку в них есть как минимум один аргумент, не входящий в выбранный член, так как в выбранном члене минимальное число элементов).&lt;br /&gt;
&lt;br /&gt;
''Рассмотрим несколько вариантов:''&lt;br /&gt;
&lt;br /&gt;
# Присутствует член &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;. Возьмем отрицание от &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; и член &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt; исчезнет.&lt;br /&gt;
# Присутствуют три члена, без &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;g_l= x_1 \land x_2 \oplus x_1 \oplus x_2&amp;lt;/tex&amp;gt;. Составив таблицу истинности для этой функции нетрудно заметить, что она эквивалентна функции &amp;lt;tex&amp;gt; \vee &amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Присутствуют два члена, без &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;. Построив две таблицы истинности для двух различных вариантов, заметим, что в обоих случаях функция истинна только в одной точке, следовательно, СДНФ функции &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; будет состоять только из одного члена. Если это так, то не составляет труда выразить &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt; через &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt;. Например, если функция &amp;lt;tex&amp;gt;g_l(x_1, x_2, ..., x_n)&amp;lt;/tex&amp;gt; принимает истинное значение, когда аргументы c номерами &amp;lt;tex&amp;gt;i_1, i_2, ..., i_m&amp;lt;/tex&amp;gt; ложны, а все остальные истины, то функцию &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt; можно выразить как &amp;lt;tex&amp;gt;g_l([\lnot]x_1, [\lnot]x_2, ..., [\lnot]x_n)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\lnot&amp;lt;/tex&amp;gt; ставится перед аргументами с номерами &amp;lt;tex&amp;gt;i_1, i_2, ..., i_m&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Присутствует один член. Выразим &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt; через &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; аналогично пункту 3.&lt;br /&gt;
&lt;br /&gt;
В итоге получим функцию&amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;, а также либо функцию &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt;, либо функцию &amp;lt;tex&amp;gt; \vee &amp;lt;/tex&amp;gt;. Поскольку функцию &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt; можно выразить через &amp;lt;tex&amp;gt; \vee &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;, а функцию &amp;lt;tex&amp;gt; \vee &amp;lt;/tex&amp;gt; через &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;, то мы получили базис &amp;lt;tex&amp;gt; \wedge &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; \vee &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; \neg &amp;lt;/tex&amp;gt;. Любую булеву функцию, не равную тождественному нулю, можно представить в форме [[СДНФ]], то есть выразить в данном базисе. Если же функция равна тождественному нулю, то ее можно представить в виде &amp;lt;tex&amp;gt;x \land \lnot x&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Значит, полученные функции образуют полную систему, поскольку с их помощью можно выразить любую булеву функцию. Из этого следует, что K {{---}} полная система функций, что и требовалось доказать.''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Согласно критерию Поста система булевых функций полна тогда и только тогда, когда она не содержится целиком ни в одном из классов &amp;lt;tex&amp;gt;T_0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;T_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В частности, если функция не входит ни в один из классов Поста, она сама по себе формирует полную систему. В качестве примера можно назвать [[Определение_булевой_функции#.D0.91.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8|штрих Шеффера]] или [[Определение_булевой_функции#.D0.91.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8|стрелку Пирса]].&lt;br /&gt;
&lt;br /&gt;
Широко известны такие полные системы булевых функций:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\left\{\land,\lor,\neg\right\}&amp;lt;/tex&amp;gt; (конъюнкция, дизъюнкция, отрицание);&lt;br /&gt;
* &amp;lt;tex&amp;gt;\left\{\land,\oplus,1\right\}&amp;lt;/tex&amp;gt; (конъюнкция, сложение по модулю два, константа один).&lt;br /&gt;
Первая система используется, например, для представления функций в виде [[СДНФ|дизъюнктивных]] и [[СКНФ|конъюнктивных нормальных форм]], вторая — для представления в виде полиномов Жегалкина.&lt;br /&gt;
&lt;br /&gt;
Первая из упоминавшихся выше полных систем безызбыточной не является, поскольку согласно законам де Моргана либо дизъюнкцию, либо конъюнкцию можно исключить из системы и восстановить с помощью остальных двух функций. Вторая система является безызбыточной — все три её элемента необходимы для полноты.&lt;br /&gt;
Максимально возможное число булевых функций в базисе — четыре.&lt;br /&gt;
&lt;br /&gt;
Иногда говорят о системе функций, полной в некотором замкнутом классе, и соответственно о базисе этого класса. Например, систему &amp;lt;tex&amp;gt;\left\{\oplus,1\right\}&amp;lt;/tex&amp;gt; можно назвать базисом класса линейных функций.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
&lt;br /&gt;
* [http://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B9_%D0%9F%D0%BE%D1%81%D1%82%D0%B0 Википедия — Критерий Поста]&lt;br /&gt;
* [http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BC%D0%BA%D0%BD%D1%83%D1%82%D1%8B%D0%B5_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B_%D0%B1%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D1%85_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9 Википедия — Замкнутые классы булевых функций]&lt;br /&gt;
* Образовательный сайт [http://mini-soft.ru/nstu/diskr/7_.php MiniSoft]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Post%27s_lattice Post's lattice]&lt;br /&gt;
* [http://www.mielt.ru/dir/cat14/subj266/file299/view1397.html Лекции по дискретной математике]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Булевы функции]]&lt;/div&gt;</summary>
		<author><name>Hekagami</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%9F%D0%BE%D1%81%D1%82%D0%B0_%D0%BE_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B9_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9&amp;diff=50183</id>
		<title>Полные системы функций. Теорема Поста о полной системе функций</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%9F%D0%BE%D1%81%D1%82%D0%B0_%D0%BE_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B9_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9&amp;diff=50183"/>
				<updated>2015-12-12T14:24:31Z</updated>
		
		<summary type="html">&lt;p&gt;Hekagami: /* Замкнутые классы булевых функций */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Полные системы функций ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Если любая [[Определение булевой функции|булева функция]], являющаяся [[Суперпозиции|суперпозицией]] функций некоторого множества, принадлежит этому множеству, то такое множество называют '''замкнутым''' (англ. ''closed set'').}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Замыканием''' (англ. ''сlosure'') множества функций называется такое подмножество всех булевых функций, что любую из этих функций можно выразить через функции исходного множества.}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def1&lt;br /&gt;
|definition=&lt;br /&gt;
Множество булевых функций называется '''полной системой''' (англ. ''complete set''), если замыкание этого множества совпадает с множеством всех функций.}} &lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Полная система функций называется '''безызбыточной''' (англ. ''irredundant functions''), если она перестает быть полной при исключении из неё любого элемента.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Американский математик Эмиль Пост сформулировал необходимое и достаточное условие полноты системы булевых функций. Для этого он ввел в рассмотрение следующие замкнутые классы булевых функций:&lt;br /&gt;
* Функции, сохраняющие константу &amp;lt;Tex&amp;gt;T_0&amp;lt;/Tex&amp;gt; и &amp;lt;Tex&amp;gt;T_1&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Самодвойственныые функции &amp;lt;Tex&amp;gt;S&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Монотонные функции &amp;lt;Tex&amp;gt;M&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Линейные функции &amp;lt;Tex&amp;gt;L&amp;lt;/Tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Замкнутые классы булевых функций ==&lt;br /&gt;
Класс функций сохраняющих ноль &amp;lt;tex&amp;gt;T_0&amp;lt;/tex&amp;gt;. &lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''сохраняет ноль''', если &amp;lt;tex&amp;gt;f(0, 0, \dots, 0) = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Класс функций сохраняющих единицу &amp;lt;tex&amp;gt;T_1&amp;lt;/tex&amp;gt;. &lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''сохраняет один''', если &amp;lt;tex&amp;gt;f(1, 1, \dots, 1) = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Класс самодвойственных функций &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''самодвойственна''' (англ. ''self-dual''), если &amp;lt;tex&amp;gt;f(\overline{x_1},\dots,\overline{x_n})=\overline{f(x_1,\dots,x_n)}&amp;lt;/tex&amp;gt;. Иными словами, функция называется самодвойственной, если на противоположных наборах она принимает противоположные значения.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Класс монотонных функций &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''монотонна''' (англ. ''monotonic function'') , если &amp;lt;tex&amp;gt;\forall i (a_i \leqslant b_i) \Rightarrow f(a_1,\dots,a_n)\leqslant f(b_1,\dots,b_n)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Класс линейных функций &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''линейна''' (англ. ''linear function''), если существуют такие &amp;lt;tex&amp;gt;a_0, a_1, a_2, \dots, a_n&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;a_i \in \{0, 1\}, \forall i=\overline{1,n}&amp;lt;/tex&amp;gt;, что для любых &amp;lt;tex&amp;gt;x_1, x_2, \dots, x_n&amp;lt;/tex&amp;gt; имеет место равенство:&lt;br /&gt;
:&amp;lt;tex&amp;gt;f(x_1, x_2, \dots, x_n) = a_0\oplus a_1\cdot x_1\oplus a_2\cdot x_2 \oplus\dots\oplus a_n\cdot x_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Количество линейных функций от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; переменных равно &amp;lt;tex&amp;gt;~2^{n+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Функция является линейной тогда, и только тогда, когда в ее [[Полином_Жегалкина|полиноме Жегалкина]] присутствуют слагаемые, каждое из которых зависит не более чем от одной переменной. Построить полином Жегалкина можно с помощью [[Преобразование Мёбиуса для получения коэффициентов полинома Жегалкина|преобразования Мебиуса]].&lt;br /&gt;
&lt;br /&gt;
== Формулировка и доказательство критерия Поста ==&lt;br /&gt;
{{&lt;br /&gt;
Теорема|statement=&lt;br /&gt;
Набор булевых функций K является полным тогда и только тогда, когда он не содержится полностью ни в одном из классов &amp;lt;tex&amp;gt; S,M,L,T_0,T_1 &amp;lt;/tex&amp;gt;, т.е. когда в нем имеется хотя бы одна функция, не сохраняющая ноль, хотя бы одна функция, не сохраняющая один, хотя бы одна несамодвойственная функция, хотя бы одна немонотонная функция и хотя бы одна нелинейная функция.&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
Заметим, что необходимость этого утверждения очевидна, так как если бы все функции из набора К входили в один из перечисленных классов, то и все суперпозиции, а значит, и замыкание набора входило бы в этот класс и набор К не мог быть полным.&lt;br /&gt;
&lt;br /&gt;
Докажем достаточность этого утверждения.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим функцию, не сохраняющую ноль {{---}} &amp;lt;tex&amp;gt;f_0&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;f_0(0) = 1&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;f_0(1)&amp;lt;/tex&amp;gt; может принимать два значения:&lt;br /&gt;
&lt;br /&gt;
а) &amp;lt;tex&amp;gt;f_0(1) = 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_0(x, x, x, \ldots, x) = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
б) &amp;lt;tex&amp;gt;f_0(1) = 0&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_0(x, x, x, \dots, x) = \neg x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим функцию, не сохраняющую один {{---}} &amp;lt;tex&amp;gt;f_1&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;f_1(1) = 0&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;f_1(0)&amp;lt;/tex&amp;gt; может принимать два значения:&lt;br /&gt;
&lt;br /&gt;
а) &amp;lt;tex&amp;gt;f_1(0) = 0&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_1(x, x, x, \ldots, x) = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
б) &amp;lt;tex&amp;gt;f_1(0) = 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_1(x, x, x, \ldots, x) = \lnot x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возможны четыре варианта:&lt;br /&gt;
&lt;br /&gt;
1) Мы получили функцию НЕ. Используем несамодвойственную функцию &amp;lt;tex&amp;gt;f_s&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По определению найдется такой вектор &amp;lt;tex&amp;gt;x_0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;f_s(x_0) = f_s(\lnot x_0)&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;x_0 = (x_{01}, x_{02}, ..., x_{0k})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возьмем &amp;lt;tex&amp;gt;f_s(x^{x_{01}}, x^{x_{02}}, \ldots, x^{x_{0k}})&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;x^{x_{0i}} = x&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x_{0i} = 1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x^{x_{0i}} = \lnot x&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x_{0i}  = 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нетрудно заметить, что &amp;lt;tex&amp;gt;f_s(0) = f_s(1) \Rightarrow f_s = \operatorname {const}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом мы получили одну из констант.&lt;br /&gt;
&lt;br /&gt;
2) Мы получили НЕ и &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\lnot 0 = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) Мы получили НЕ и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\lnot 1 = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
4) Мы получили &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим немонотонную функцию &amp;lt;tex&amp;gt;f_m&amp;lt;/tex&amp;gt;. Существуют такие &amp;lt;tex&amp;gt;x_1, x_2, \ldots, x_n&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1},  0  , x_{i+1},  \ldots, x_n) = 1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1},  1  , x_{i+1},  \ldots, x_n) = 0&amp;lt;/tex&amp;gt;, зафиксируем все &amp;lt;tex&amp;gt;x_1, x_2,  \ldots, x_n&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1}, x, x_{i+1},  \ldots, x_n)= \lnot x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В итоге имеем три функции: НЕ, &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Используем нелинейную функцию &amp;lt;tex&amp;gt;f_l&amp;lt;/tex&amp;gt;. Среди нелинейных членов &amp;lt;tex&amp;gt;f_l&amp;lt;/tex&amp;gt; (ее представления в виде [[Полином Жегалкина|полинома Жегалкина]]), выберем тот, в котором минимальное количество элементов. Все аргументы, кроме двух, в этом члене, приравняем единице, оставшиеся два назовем &amp;lt;tex&amp;gt;x_1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x_2&amp;lt;/tex&amp;gt;, а все элементы, не входящие в данный член, сделаем равными нулю. Тогда эта функция будет представима в виде &amp;lt;tex&amp;gt;g_l = x_1 \land x_2 [ \oplus x_1] [\oplus x_2][ \oplus ~1]&amp;lt;/tex&amp;gt;, где в квадратных скобках указаны члены, которые могут и не присутствовать (остальные слагаемые будут равны нулю, поскольку в них есть как минимум один аргумент не входящие в выбранный член, т. к. мы выбрали член, в котором минимальное число элементов).&lt;br /&gt;
&lt;br /&gt;
Рассмотрим несколько вариантов:&lt;br /&gt;
&lt;br /&gt;
# Присутствует член &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;. Возьмем отрицание от &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; и член &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt; уберется.&lt;br /&gt;
# Присутствуют три члена, без &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;g_l= x_1 \land x_2 \oplus x_1 \oplus x_2&amp;lt;/tex&amp;gt;. Составив таблицу истинности для этой функции, нетрудно заметить, что она эквивалентна функции ИЛИ.&lt;br /&gt;
# Присутствуют два члена, без &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;. Построив две таблицы истинности, для двух различных вариантов, видим, что в обоих случаях функция истинна только в одной точке, следовательно, СДНФ функции &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; будет состоять только из одного члена, а если это так, то не составляет труда выразить И через НЕ и &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt;. Например, если функция &amp;lt;tex&amp;gt;g_l(x_1, x_2, ..., x_n)&amp;lt;/tex&amp;gt; принимает истинное значение, когда аргументы c номерами &amp;lt;tex&amp;gt;i_1, i_2, ..., i_m&amp;lt;/tex&amp;gt; ложны, а все остальные истины, тогда функцию И можно выразить как &amp;lt;tex&amp;gt;g_l([\lnot]x_1, [\lnot]x_2, ..., [\lnot]x_n)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\lnot&amp;lt;/tex&amp;gt; ставится перед аргументами с номерами &amp;lt;tex&amp;gt;i_1, i_2, ..., i_m&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Присутствует один член. Выразим И через НЕ и &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; аналогично пункту 3.&lt;br /&gt;
&lt;br /&gt;
В итоге получаем функцию НЕ, а также либо функцию И, либо функцию ИЛИ. Поскольку функцию И можно выразить через ИЛИ и НЕ, а функцию ИЛИ через И и НЕ, то мы получили базис И, ИЛИ, НЕ. Любую булеву функцию, не равную тождественному нулю, можно представить в форме [[СДНФ]], т. е. с помощью данного базиса. Если же функция равна тождественному нулю, то ее можно представить в виде &amp;lt;tex&amp;gt;x \land \lnot x&amp;lt;/tex&amp;gt;. Значит, полученные функции образуют полную систему, т. к. с их помощью можно выразить любую булеву функцию. Из этого следует, что K {{---}} полная система функций, что и требовалось доказать.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Согласно критерию Поста система булевых функций полна тогда и только тогда, когда она не содержится целиком ни в одном из классов &amp;lt;tex&amp;gt;T_0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;T_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В частности, если функция не входит ни в один из классов Поста, она сама по себе формирует полную систему. В качестве примера можно назвать [[Определение_булевой_функции#.D0.91.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8|штрих Шеффера]] или [[Определение_булевой_функции#.D0.91.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8|стрелку Пирса]].&lt;br /&gt;
&lt;br /&gt;
Широко известны такие полные системы булевых функций:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\left\{\land,\lor,\neg\right\}&amp;lt;/tex&amp;gt; (конъюнкция, дизъюнкция, отрицание);&lt;br /&gt;
* &amp;lt;tex&amp;gt;\left\{\land,\oplus,1\right\}&amp;lt;/tex&amp;gt; (конъюнкция, сложение по модулю два, константа один).&lt;br /&gt;
Первая система используется, например, для представления функций в виде [[СДНФ|дизъюнктивных]] и [[СКНФ|конъюнктивных нормальных форм]], вторая — для представления в виде полиномов Жегалкина.&lt;br /&gt;
&lt;br /&gt;
Первая из упоминавшихся выше полных систем безызбыточной не является, поскольку согласно законам де Моргана либо дизъюнкцию, либо конъюнкцию можно исключить из системы и восстановить с помощью остальных двух функций. Вторая система является безызбыточной — все три её элемента необходимы для полноты.&lt;br /&gt;
Максимально возможное число булевых функций в базисе — четыре.&lt;br /&gt;
&lt;br /&gt;
Иногда говорят о системе функций, полной в некотором замкнутом классе, и соответственно о базисе этого класса. Например, систему &amp;lt;tex&amp;gt;\left\{\oplus,1\right\}&amp;lt;/tex&amp;gt; можно назвать базисом класса линейных функций.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
&lt;br /&gt;
* [http://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B9_%D0%9F%D0%BE%D1%81%D1%82%D0%B0 Википедия — Критерий Поста]&lt;br /&gt;
* [http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BC%D0%BA%D0%BD%D1%83%D1%82%D1%8B%D0%B5_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B_%D0%B1%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D1%85_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9 Википедия — Замкнутые классы булевых функций]&lt;br /&gt;
* Образовательный сайт [http://mini-soft.ru/nstu/diskr/7_.php MiniSoft]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Post%27s_lattice Post's lattice]&lt;br /&gt;
* [http://www.mielt.ru/dir/cat14/subj266/file299/view1397.html Лекции по дискретной математике]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Булевы функции]]&lt;/div&gt;</summary>
		<author><name>Hekagami</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%9F%D0%BE%D1%81%D1%82%D0%B0_%D0%BE_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B9_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9&amp;diff=50182</id>
		<title>Полные системы функций. Теорема Поста о полной системе функций</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%9F%D0%BE%D1%81%D1%82%D0%B0_%D0%BE_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B9_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9&amp;diff=50182"/>
				<updated>2015-12-12T13:58:27Z</updated>
		
		<summary type="html">&lt;p&gt;Hekagami: /* Полные системы функций */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Полные системы функций ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Если любая [[Определение булевой функции|булева функция]], являющаяся [[Суперпозиции|суперпозицией]] функций некоторого множества, принадлежит этому множеству, то такое множество называют '''замкнутым''' (англ. ''closed set'').}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Замыканием''' (англ. ''сlosure'') множества функций называется такое подмножество всех булевых функций, что любую из этих функций можно выразить через функции исходного множества.}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def1&lt;br /&gt;
|definition=&lt;br /&gt;
Множество булевых функций называется '''полной системой''' (англ. ''complete set''), если замыкание этого множества совпадает с множеством всех функций.}} &lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Полная система функций называется '''безызбыточной''' (англ. ''irredundant functions''), если она перестает быть полной при исключении из неё любого элемента.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Американский математик Эмиль Пост сформулировал необходимое и достаточное условие полноты системы булевых функций. Для этого он ввел в рассмотрение следующие замкнутые классы булевых функций:&lt;br /&gt;
* Функции, сохраняющие константу &amp;lt;Tex&amp;gt;T_0&amp;lt;/Tex&amp;gt; и &amp;lt;Tex&amp;gt;T_1&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Самодвойственныые функции &amp;lt;Tex&amp;gt;S&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Монотонные функции &amp;lt;Tex&amp;gt;M&amp;lt;/Tex&amp;gt;&lt;br /&gt;
* Линейные функции &amp;lt;Tex&amp;gt;L&amp;lt;/Tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Замкнутые классы булевых функций ==&lt;br /&gt;
Класс функций сохраняющих ноль &amp;lt;tex&amp;gt;T_0&amp;lt;/tex&amp;gt;. &lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''сохраняет ноль''', если &amp;lt;tex&amp;gt;f(0, 0, \dots, 0) = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Класс функций сохраняющих единицу &amp;lt;tex&amp;gt;T_1&amp;lt;/tex&amp;gt;. &lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''сохраняет один''', если &amp;lt;tex&amp;gt;f(1, 1, \dots, 1) = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Класс самодвойственных функций &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''самодвойственна''', если &amp;lt;tex&amp;gt;f(\overline{x_1},\dots,\overline{x_n})=\overline{f(x_1,\dots,x_n)}&amp;lt;/tex&amp;gt;. Иными словами, функция называется самодвойственной, если на противоположных наборах она принимает противоположные значения.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Класс монотонных функций &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''монотонна''', если &amp;lt;tex&amp;gt;\forall i (a_i\le b_i) \Rightarrow f(a_1,\dots,a_n)\le f(b_1,\dots,b_n)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Класс линейных функций &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Говорят, что функция '''линейна''', если существуют такие &amp;lt;tex&amp;gt;a_0, a_1, a_2, \dots, a_n&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;a_i \in \{0, 1\}, \forall i=\overline{1,n}&amp;lt;/tex&amp;gt;, что для любых &amp;lt;tex&amp;gt;x_1, x_2, \dots, x_n&amp;lt;/tex&amp;gt; имеет место равенство:&lt;br /&gt;
:&amp;lt;tex&amp;gt;f(x_1, x_2, \dots, x_n) = a_0\oplus a_1\cdot x_1\oplus a_2\cdot x_2 \oplus\dots\oplus a_n\cdot x_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Количество линейных функций от &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; переменных равно &amp;lt;tex&amp;gt;~2^{n+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Функция является линейной тогда, и только тогда, когда в ее [[Полином_Жегалкина|полиноме Жегалкина]] присутствуют слагаемые, каждое из которых зависит не более чем от одной переменной. Построить полином Жегалкина можно с помощью [[Преобразование Мёбиуса для получения коэффициентов полинома Жегалкина|преобразования Мебиуса]].&lt;br /&gt;
&lt;br /&gt;
== Формулировка и доказательство критерия Поста ==&lt;br /&gt;
{{&lt;br /&gt;
Теорема|statement=&lt;br /&gt;
Набор булевых функций K является полным тогда и только тогда, когда он не содержится полностью ни в одном из классов &amp;lt;tex&amp;gt; S,M,L,T_0,T_1 &amp;lt;/tex&amp;gt;, т.е. когда в нем имеется хотя бы одна функция, не сохраняющая ноль, хотя бы одна функция, не сохраняющая один, хотя бы одна несамодвойственная функция, хотя бы одна немонотонная функция и хотя бы одна нелинейная функция.&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
Заметим, что необходимость этого утверждения очевидна, так как если бы все функции из набора К входили в один из перечисленных классов, то и все суперпозиции, а значит, и замыкание набора входило бы в этот класс и набор К не мог быть полным.&lt;br /&gt;
&lt;br /&gt;
Докажем достаточность этого утверждения.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим функцию, не сохраняющую ноль {{---}} &amp;lt;tex&amp;gt;f_0&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;f_0(0) = 1&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;f_0(1)&amp;lt;/tex&amp;gt; может принимать два значения:&lt;br /&gt;
&lt;br /&gt;
а) &amp;lt;tex&amp;gt;f_0(1) = 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_0(x, x, x, \ldots, x) = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
б) &amp;lt;tex&amp;gt;f_0(1) = 0&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_0(x, x, x, \dots, x) = \neg x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим функцию, не сохраняющую один {{---}} &amp;lt;tex&amp;gt;f_1&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;f_1(1) = 0&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;f_1(0)&amp;lt;/tex&amp;gt; может принимать два значения:&lt;br /&gt;
&lt;br /&gt;
а) &amp;lt;tex&amp;gt;f_1(0) = 0&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_1(x, x, x, \ldots, x) = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
б) &amp;lt;tex&amp;gt;f_1(0) = 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_1(x, x, x, \ldots, x) = \lnot x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возможны четыре варианта:&lt;br /&gt;
&lt;br /&gt;
1) Мы получили функцию НЕ. Используем несамодвойственную функцию &amp;lt;tex&amp;gt;f_s&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По определению найдется такой вектор &amp;lt;tex&amp;gt;x_0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;f_s(x_0) = f_s(\lnot x_0)&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;x_0 = (x_{01}, x_{02}, ..., x_{0k})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возьмем &amp;lt;tex&amp;gt;f_s(x^{x_{01}}, x^{x_{02}}, \ldots, x^{x_{0k}})&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;x^{x_{0i}} = x&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x_{0i} = 1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x^{x_{0i}} = \lnot x&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x_{0i}  = 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нетрудно заметить, что &amp;lt;tex&amp;gt;f_s(0) = f_s(1) \Rightarrow f_s = \operatorname {const}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Таким образом мы получили одну из констант.&lt;br /&gt;
&lt;br /&gt;
2) Мы получили НЕ и &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\lnot 0 = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) Мы получили НЕ и &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\lnot 1 = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
4) Мы получили &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим немонотонную функцию &amp;lt;tex&amp;gt;f_m&amp;lt;/tex&amp;gt;. Существуют такие &amp;lt;tex&amp;gt;x_1, x_2, \ldots, x_n&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1},  0  , x_{i+1},  \ldots, x_n) = 1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1},  1  , x_{i+1},  \ldots, x_n) = 0&amp;lt;/tex&amp;gt;, зафиксируем все &amp;lt;tex&amp;gt;x_1, x_2,  \ldots, x_n&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;f_m(x_1, x_2,  \ldots, x_{i-1}, x, x_{i+1},  \ldots, x_n)= \lnot x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В итоге имеем три функции: НЕ, &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Используем нелинейную функцию &amp;lt;tex&amp;gt;f_l&amp;lt;/tex&amp;gt;. Среди нелинейных членов &amp;lt;tex&amp;gt;f_l&amp;lt;/tex&amp;gt; (ее представления в виде [[Полином Жегалкина|полинома Жегалкина]]), выберем тот, в котором минимальное количество элементов. Все аргументы, кроме двух, в этом члене, приравняем единице, оставшиеся два назовем &amp;lt;tex&amp;gt;x_1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x_2&amp;lt;/tex&amp;gt;, а все элементы, не входящие в данный член, сделаем равными нулю. Тогда эта функция будет представима в виде &amp;lt;tex&amp;gt;g_l = x_1 \land x_2 [ \oplus x_1] [\oplus x_2][ \oplus ~1]&amp;lt;/tex&amp;gt;, где в квадратных скобках указаны члены, которые могут и не присутствовать (остальные слагаемые будут равны нулю, поскольку в них есть как минимум один аргумент не входящие в выбранный член, т. к. мы выбрали член, в котором минимальное число элементов).&lt;br /&gt;
&lt;br /&gt;
Рассмотрим несколько вариантов:&lt;br /&gt;
&lt;br /&gt;
# Присутствует член &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;. Возьмем отрицание от &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; и член &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt; уберется.&lt;br /&gt;
# Присутствуют три члена, без &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;g_l= x_1 \land x_2 \oplus x_1 \oplus x_2&amp;lt;/tex&amp;gt;. Составив таблицу истинности для этой функции, нетрудно заметить, что она эквивалентна функции ИЛИ.&lt;br /&gt;
# Присутствуют два члена, без &amp;lt;tex&amp;gt;\oplus ~1&amp;lt;/tex&amp;gt;. Построив две таблицы истинности, для двух различных вариантов, видим, что в обоих случаях функция истинна только в одной точке, следовательно, СДНФ функции &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; будет состоять только из одного члена, а если это так, то не составляет труда выразить И через НЕ и &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt;. Например, если функция &amp;lt;tex&amp;gt;g_l(x_1, x_2, ..., x_n)&amp;lt;/tex&amp;gt; принимает истинное значение, когда аргументы c номерами &amp;lt;tex&amp;gt;i_1, i_2, ..., i_m&amp;lt;/tex&amp;gt; ложны, а все остальные истины, тогда функцию И можно выразить как &amp;lt;tex&amp;gt;g_l([\lnot]x_1, [\lnot]x_2, ..., [\lnot]x_n)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\lnot&amp;lt;/tex&amp;gt; ставится перед аргументами с номерами &amp;lt;tex&amp;gt;i_1, i_2, ..., i_m&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# Присутствует один член. Выразим И через НЕ и &amp;lt;tex&amp;gt;g_l&amp;lt;/tex&amp;gt; аналогично пункту 3.&lt;br /&gt;
&lt;br /&gt;
В итоге получаем функцию НЕ, а также либо функцию И, либо функцию ИЛИ. Поскольку функцию И можно выразить через ИЛИ и НЕ, а функцию ИЛИ через И и НЕ, то мы получили базис И, ИЛИ, НЕ. Любую булеву функцию, не равную тождественному нулю, можно представить в форме [[СДНФ]], т. е. с помощью данного базиса. Если же функция равна тождественному нулю, то ее можно представить в виде &amp;lt;tex&amp;gt;x \land \lnot x&amp;lt;/tex&amp;gt;. Значит, полученные функции образуют полную систему, т. к. с их помощью можно выразить любую булеву функцию. Из этого следует, что K {{---}} полная система функций, что и требовалось доказать.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Согласно критерию Поста система булевых функций полна тогда и только тогда, когда она не содержится целиком ни в одном из классов &amp;lt;tex&amp;gt;T_0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;T_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В частности, если функция не входит ни в один из классов Поста, она сама по себе формирует полную систему. В качестве примера можно назвать [[Определение_булевой_функции#.D0.91.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8|штрих Шеффера]] или [[Определение_булевой_функции#.D0.91.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8|стрелку Пирса]].&lt;br /&gt;
&lt;br /&gt;
Широко известны такие полные системы булевых функций:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\left\{\land,\lor,\neg\right\}&amp;lt;/tex&amp;gt; (конъюнкция, дизъюнкция, отрицание);&lt;br /&gt;
* &amp;lt;tex&amp;gt;\left\{\land,\oplus,1\right\}&amp;lt;/tex&amp;gt; (конъюнкция, сложение по модулю два, константа один).&lt;br /&gt;
Первая система используется, например, для представления функций в виде [[СДНФ|дизъюнктивных]] и [[СКНФ|конъюнктивных нормальных форм]], вторая — для представления в виде полиномов Жегалкина.&lt;br /&gt;
&lt;br /&gt;
Первая из упоминавшихся выше полных систем безызбыточной не является, поскольку согласно законам де Моргана либо дизъюнкцию, либо конъюнкцию можно исключить из системы и восстановить с помощью остальных двух функций. Вторая система является безызбыточной — все три её элемента необходимы для полноты.&lt;br /&gt;
Максимально возможное число булевых функций в базисе — четыре.&lt;br /&gt;
&lt;br /&gt;
Иногда говорят о системе функций, полной в некотором замкнутом классе, и соответственно о базисе этого класса. Например, систему &amp;lt;tex&amp;gt;\left\{\oplus,1\right\}&amp;lt;/tex&amp;gt; можно назвать базисом класса линейных функций.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
&lt;br /&gt;
* [http://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B9_%D0%9F%D0%BE%D1%81%D1%82%D0%B0 Википедия — Критерий Поста]&lt;br /&gt;
* [http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BC%D0%BA%D0%BD%D1%83%D1%82%D1%8B%D0%B5_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B_%D0%B1%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D1%85_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9 Википедия — Замкнутые классы булевых функций]&lt;br /&gt;
* Образовательный сайт [http://mini-soft.ru/nstu/diskr/7_.php MiniSoft]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Post%27s_lattice Post's lattice]&lt;br /&gt;
* [http://www.mielt.ru/dir/cat14/subj266/file299/view1397.html Лекции по дискретной математике]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Булевы функции]]&lt;/div&gt;</summary>
		<author><name>Hekagami</name></author>	</entry>

	</feed>