 
        
        - •Глава 1 фУнкции алгебры логики
- •§1. ОсНовные определения
- •§2. Булевы функции одной и двух переменных
- •§3. Формулы алгебры логики
- •§4. Основные свойства булевых операций
- •§5. Разложение логических функций по переменным. Совершенные нормальные формы.
- •§6. Приложения алгебры логики
- •§7. Двойственность.
- •§8. Полнота.
- •§9. Алгебра жегалкина и линейные функции.
- •§10. Критерий функциональной полноты.
- •Глава 2 логика предикатов
- •§1. Понятие предиката и кванторных операций
- •§2. Интерпретация формул в логике первого порядка
- •§ 3. Предваренные нормальные формы
- •§4. Семантические таблицы для классической логики
- •§5. Правила разбиения формул в семантических таблицах
- •Оглавление
- •§ 1. Основные определения……………………………………………….. 3
§9. Алгебра жегалкина и линейные функции.
Определение 9.1. Алгебра над множеством логических функций с двумя бинарными операциями  и  называется алгеброй Жегалкина.
В алгебре Жегалкина выполняются соотношения:
x  y = y  x, x(y z) = xy xz, x  x=0, x  0 = x.
Отрицание и дизъюнкция выражаются следующим образом:
,
x
y =(x
1)(
y
1)
1=
xy
x
y.
     (9.1)
=(x
1)(
y
1)
1=
xy
x
y.
     (9.1)   
Если в произвольной формуле алгебры Жегалкина раскрыть скобки и произвести всевозможные упрощения по выше перечисленным соотношениям, то получится формула, имеющая вид суммы по модулю 2 от логических произведений. Такая формула называется полиномом Жегалкина для данной функции. От булевой формулы всегда можно перейти к формуле алгебры Жегалкина и, следовательно, к полиному Жегалкина, используя равенства (9.1).
Рассмотрим примеры перехода от булевой функции к полиному Жегалкина.
Пример 9.1. (x  y) ( xz) = (xy  x  y)( xz   x z) =
(x z(y1)  (y1)  xz) (xy  x  y)= (x y z x z y1  xz) (xy  x  y) =
=( x y z y1) (xy  x  y)= x y z x y z x y z x y x y y x y x  y=
= x y z x y x.
	Пример
9.2.
 xy
 =
xy 
(т.к.
xy
=0)
=
xy (x
1)
(y1)
=
=
xy 
(т.к.
xy
=0)
=
xy (x
1)
(y1)
=
= xy  xy  x  y  1= x  y  1.
Справедлива следующая теорема:
Теорема 9.1 Для всякой логической функции существует единственный полином Жегалкина.
	Доказательство.
Существование полинома уже доказано
способом описания его построения. Для
доказательства единственности найдем
количество различных полиномов от п
переменных. Число различных членов
полинома (конъюнкций) от п
переменных совпадает с количеством
наборов значений для п
переменных, которое равно 
.
Число же различных полиномов, которые
можно образовать из этих конъюнкций, 
равно 
 и
совпадает с количеством логических
функций от п
переменных. Т.к. разным функциям
соответствуют разные полиномы, то тем
самым между множеством функций и
множеством полиномов от п
переменных установлено взаимно
однозначное соответствие. Это и доказывает
единственность полинома Жегалкина для
каждой функции.
и
совпадает с количеством логических
функций от п
переменных. Т.к. разным функциям
соответствуют разные полиномы, то тем
самым между множеством функций и
множеством полиномов от п
переменных установлено взаимно
однозначное соответствие. Это и доказывает
единственность полинома Жегалкина для
каждой функции.
	Определение
9.2. Логическая
функция f(
),
у которой полином Жегалкина имеет вид:
 ,
,
 {0,1},
1
i
n,
{0,1},
1
i
n,
называется линейным.
Все функции одной переменной линейны.
Пример 9.3. Найдем полином Жегалкина для эквивалентности и покажем ее линейность. Будем искать полином Жегалкина методом неопределенных коэффициентов:
x
y
= 
 
Рассмотрим таблицу истинности для :
| x | y | x y | 
| 0 | 0 | 1 | 
| 0 | 1 | 0 | 
| 1 | 0 | 0 | 
| 1 | 1 | 1 | 
При
x
= 0
y
= 0 имеем: 1= 
 ,
, 1.
1.
При
x
= 0
y
= 1 имеем: 0 = 10
 0
, 
=1.
0
, 
=1.
При
x
=1 
y
= 0 имеем: 0 = 1 
0
0, 
=1.
0
0, 
=1.
При
x
=1 
y
=1 имеем: 1=111 ,
=0.
,
=0.
Таким образом, x y = 1 x  y. Поэтому эквивалентность линейная функция.
§10. Критерий функциональной полноты.
Введем
отношение 
для двоичных наборов длины п,
составленных из 0 и 1. Для логических
констант 0,1  будем считать:  0 
 0, 1
1, 0 
 1. Пусть 
 (
( ),
(
),
( ),
считается, что 
,
если для всех 1
i
п  выполняется
),
считается, что 
,
если для всех 1
i
п  выполняется
 
 .
Например, (0,1,0) 
(1,1,0), а наборы (0,1,0) и (1,0,1) несравнимы.
.
Например, (0,1,0) 
(1,1,0), а наборы (0,1,0) и (1,0,1) несравнимы.
Определение 10.1. Логическая функция f( ) называется монотонной, если для любых двоичных наборов  ( ),  ( )
из    следует, что f() f().
Пример 10.1. Константы 0 , 1 и функция х монотонны. Отрицание 
не монотонная функция.
Пример 10.2. Дизъюнкция и конъюнкция любого числа переменных являются монотонными функциями.
Пример 10.3. Функция из Табл.1.2, является монотонной, а функция из этой же таблицы монотонной не является. Если бы функция была монотонной, то на наборах (001)  (101) должно выполняться неравенство (001)  (101), однако (001) =1 , (101) = 0.
Для установления немонотонности логической функции достаточно найти хотя бы один набор, на котором не выполняется условие монотонности. Выяснение, является ли данная функция монотонной, требует рассмотрения достаточно большого числа наборов и для больших п оказывается трудоемкой. Приведем без доказательства критерий монотонности логических функций, который позволяет во многих случаях доказать монотонность функции, не прибегая к рассмотрению ее наборов.
Теорема 10.1 Всякая булева функция, не содержащая отрицания, представляет монотонную функцию, отличную от константы. Наоборот, для любой монотонной функции, не являющейся константой, найдется представляющая ее булева формула без отрицаний.
Пример 10.4. Докажем с помощью этой теоремы монотонность функции , задаваемой в Табл.1.2. Ранее была построена в разделе 6 ДНФ для этой функции, которая имела вид: ( , , ) =   . Данное представление является булевой формулой, не содержащей отрицания, следовательно  монотонна.
Определение 10.2. Логическая функция f( ) называется сохраняющей 0, если f(0, 0,…,0) = 0. Логическая функция f( ) называется сохраняющей 1, если f(1,1,…,1) = 1.
Сформулируем критерий полноты Поста (без доказательства).
Теорема 10.2. (Критерий функциональной полноты). Для того чтобы система логических функций  была функционально полной, необходимо и достаточно чтобы она содержала: нелинейную функцию; немонотонную функцию; несамодвойственную функцию; функцию, не сохраняющую 0; функцию, не сохраняющую 1.
Пример 10.5. Доказать полноту системы логических функций
= {  , ,  }.
Решение. Функция не является монотонной и не сохраняет 0 , 1. Покажем, что  не является самодвойственной. Если бы это было так, то следующие две формулы были бы эквивалентны:  (  ),  . Однако при
= первая формула равна 0, а вторая 1. Покажем, что среди рассматриваемых функций существует нелинейная. Отрицание и эквивалентность являются линейными функциями. Докажем нелинейность  . Для этого найдем ее полином Жегалкина методом неопределенных коэффициентов.
 = .
Построим таблицу истинности для  :
| 
 | 
 | 
 | 
 |  : | 
| 0 | 0 | 1 | 1 | 1 | 
| 0 | 1 | 1 | 0 | 0 | 
| 1 | 0 | 0 | 1 | 1 | 
| 1 | 1 | 0 | 0 | 1 | 
Подставим в равенство поочередно различные наборы неизвестных.
При = 0 = 0 имеем: 1= , 1.
При = 0 = 1 имеем: 0 = 10  0 , =1.
При =1 = 0 имеем: 1= 1  0 0, =0.
При =1 =1 имеем: 1=101 , =1.
 = 1  .
Система   полная, согласно критерию функциональной полноты.
