
пособие мат логика Ткаченко Сысоев часть 2 09_12_2013
.pdf
C( X1, X 2 , X 3 ) ( X 2 X 3 ) ( X 3 X1 X 2 )
не является СДНФ относительно этого списка переменных, так как первый ее дизъюнктивный член является всего лишь двучленной конъюнкцией, но п = 3, а
во втором дизъюнктивном члене нарушен порядок переменных.
Т е о р е м а 4 . Пусть формула А зависит от списка переменных
( X1, , X n ) и А не тождественно-ложная формула. Тогда существует такая формула В, что A B и В находится в СДНФ относительно списка этих пере-
менных.
Д о к а з а т е л ь с т в о . Согласно теореме о приведении к ДНФ, сущест-
вует формула A1 такая, что A A1 и A1 находится в ДНФ. При этом можно считать, что A1 зависит от списка переменных ( X1, , X n ). Будем исходить из этой формулы, и просматривать её элементарные конъюнкции:
1. Пусть в элементарную конъюнкцию одновременно входит какая-
нибудь переменная X i и её отрицание X i . Если это единственная элементарная конъюнкция, то она на всех значениях переменной X i принимает значение Л,
а, следовательно, и вся формула, что невозможно, так как предполагается, что формула не тождественно-ложная.
Следовательно, имеются другие элементарные конъюнкции, и формула
(после некоторых перестановок) будет иметь вид:
X i X i C D ,
где С – остальные члены нашей элементарной конъюнкции, D – остальные дизъюнктивные члены всей формулы.
Но поскольку X i X i C Л , то Xi Xi C D D . Следовательно,
рассматриваемую конъюнкцию можно отбросить.
Так как А не тождественно-ложная, то после всех таких шагов всегда ос-
танутся какие-то неотброшенные элементы конъюнкции.
21

2. Пусть в некоторой элементарной конъюнкции переменная X i (или
X i ) встречается несколько раз. Тогда в силу идемпотентности (равносильность
5), можно оставить только одно вхождение X i (или X i ).
3. После проведенной обработки каждая элементарная конъюнкция С будет содержать какую-нибудь переменную не более одного раза (включая её вхождение под знаком отрицания). При этом возможны только следующие ва-
рианты:
а) элементарная конъюнкция С содержит один раз X i и не содержит ни разу X i ;
б) элементарная конъюнкция С содержит один раз X i и не содержит ни разу X i ;
в) элементарная конъюнкция С не содержит ни X i , ни X i .
В последнем случае мы заменяем С на С X i C X i по первой формуле расщепления (равносильность 21). Эту операцию следует проводить до тех пор, пока для каждой элементарной конъюнкции и каждой переменной не будут выполнены условия а) или б).
4. Переупорядочим в каждой элементарной конъюнкции её члены таким образом, чтобы на i-ом месте в ней стояла X i или X i .
5. Если в преобразованной формуле несколько раз встречается одна и та же элементарная конъюнкция, то, пользуясь равносильностью 6 (идемпотент-
ность ), выбрасываем все её вхождения, кроме одного.
Доказательство завершено.
П р и м е р . Приведем формулу к СДНФ
(X1 | X 2 ) X 3 (28) [(X1 | X 2 ) X 3 ] [(X1 | X 2 ) X 3 ] (29)
[( X1 X 2 ) X 3 ] [( X1 X 2 ) X 3 ] (23, 8)
[ X1 X 2 X 3 ] [(X1 X 2 ) X 3 ] (6)
22

[ X1 X 2 X 3 ] [(X1 X 3 ) ( X 2 X 3 )] (17)
[ X1 X 2 X 3 ] [ X1 ( X 2 X 2 ) X 3 ] [(X1 X1 ) X 2 X 3 ] (6)( X1 X 2 X 3 ) ( X1 X 2 X 3 ) ( X1 X 2 X 3 )
( X1 X 2 X 3 ) ( X1 X 2 X 3 ) (9)
( X1 X 2 X 3 ) ( X1 X 2 X 3 ) ( X1 X 2 X 3 ) ( X1 X 2 X 3 ) .
Т е о р е м а 5 ( о е д и н с т в е н н о с т и С Д Н Ф ) . Если B1 и |
B2 – |
СДНФ формулы А относительно списка переменных ( X1, , X n ), то B1 |
и B2 |
могут отличаться только порядком своих дизъюнктивных членов. |
|
З а м е ч а н и е . Если расширить список переменных ( X1, , X n ), |
от ко- |
торого зависит формула А, новыми переменными, реально в А не входящими,
то относительно нового списка будем иметь другую СДНФ.
П р и м е р . Пусть формула А, зависящая от одной переменной, находит-
ся в СДНФ относительно списка ( X1 )
A( X1) X1 .
Тогда относительно списка переменных ( X1, X 2 ) СДНФ формулы А бу-
дет иметь вид
A( X1, X 2 ) ( X1 X 2 ) ( X1 X 2 ) .
Аналогично определяется СКНФ.
Пусть формула А зависит от n переменных. Тогда говорят, что А нахо-
дится в СКНФ относительно переменных, если формула A* находится в СДНФ относительно тех же переменных.
Эквивалентное определение.
Говорят, что А находится в СКНФ относительно списка переменных, ес-
ли выполняются следующие условия:
а) А находится в КНФ (конъюнкция элементарных дизъюнкций);
б) в ней нет двух одинаковых конъюнктивных членов (то есть элемен-
тарных дизъюнкций);
23

в) каждый конъюнктивный член (элементарная дизъюнкция) формулы А является n-членной дизъюнкцией, причем на i-ом месте (1≤ i ≤ n) этой дизъ-
юнкции обязательно стоит либо переменная X i , либо её отрицание X i .
П р и м е р . Пусть ( X1, X 2 , X 3 ) – список переменных. Тогда формулы
A( X1, X 2 , X 3 ) X1 X 2 X 3 ;
B( X1, X 2 , X 3 ) ( X1 X 2 X 3 ) ( X1 X 2 X 3 ) ( X1 X 2 X 3 )
находятся в СКНФ относительно этого списка переменных. А формула
C( X1, X 2 , X 3 ) ( X1 X 3 X 2 ) ( X1 )
не является СКНФ относительно этого списка переменных, так как в первом ее конъюнктивном члене нарушен порядок переменных, а второй конъюнктивный
член является всего лишь одночленной дизъюнкцией. |
|
Т е о р е м а 6 . Пусть формула А зависит |
от списка переменных |
( X1, , X n ) и А не тождественно-истинная. Тогда существует такая формула В,
что А В и В находится в СКНФ относительно списка этих переменных.
Д о к а з а т е л ь с т в о . Пусть А уже находится в КНФ. По условию А на каком-то наборе переменных принимает значение Л. Тогда A* на двойственном наборе принимает значение И и по теореме о СДНФ существует такая формула
В1 , что A* B1 и В1 находится в СДНФ. По принципу двойственности В1* A
и В* находится в СКНФ. |
|
|
|
|
|
|||
1 |
|
|
|
|
|
|
|
|
|
Можно доказать теорему по аналогии с доказательством теоремы 1.4. |
|||||||
|
|
|
|
|
X i |
|
C D D , |
|
При |
этом |
применяются |
равносильности |
X i |
||||
С X i C |
|
C и законы идемпотентности (равносильности 9, 10). |
|
|||||
X i |
|
|||||||
|
Доказательство завершено. |
|
|
|
|
|
||
|
Т е о р е м а |
7 . ( о е д и н с т в е н н о с т и С К Н Ф ) . Если В1 и |
В2 – |
|||||
СКНФ формулы А относительно списка переменных ( X1, , X n ), то B1 |
и B2 |
|||||||
могут отличаться только порядком своих конъюнктивных членов. |
|
24
Д о к а з а т е л ь с т в о . Действительно, В1* и В2* в условиях теоремы бу-
дут СДНФ для А*(по определению) и могут отличаться (по теореме о единст-
венности СДНФ) только порядком дизъюнктивных членов. Отсюда следует ут-
верждение теоремы.
Доказательство завершено.
СДНФ и СКНФ могут использоваться для распознавания равносильно-
сти 2-х формул.
П р и м е р . Приведем формулу к СКНФ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
( X1 X 3 ) X 2 |
(25) (X1 X 3 ) X 2 (7) ( |
|
|
1 |
|
|
3 ) X 2 (5) |
||||||||||||||||||||||||||||||||
X |
X |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
( X 2 |
|
|
|
1 ) ( X 2 |
|
|
3 ) (18) |
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
X |
X |
|
|
|
|
|
||||||||||||||||||||||||||
|
|
[ |
|
1 X 2 ( X 3 |
|
|
3 )] [(X1 |
|
1 ) X 2 |
|
3 ] (5) |
||||||||||||||||||||||||||||
X |
X |
X |
X |
||||||||||||||||||||||||||||||||||||
( |
|
1 X 2 X 3 ) ( |
|
1 X 2 |
|
3 ) ( X1 X 2 |
|
3 ) ( |
|
1 X 2 |
|
3 ) |
|||||||||||||||||||||||||||
X |
X |
X |
X |
X |
X |
||||||||||||||||||||||||||||||||||
|
|
(10) ( |
|
1 |
X 2 X 3 ) ( |
|
1 X 2 |
|
3 ) ( X1 X 2 |
|
|
3 ) . |
|||||||||||||||||||||||||||
|
|
X |
X |
X |
X |
||||||||||||||||||||||||||||||||||
Т е о р е м а 8 . |
( к р и т е р и й р а в н о с и л ь н о с т и ) . |
Две формулы А1 |
и А2 , зависящие от одних и тех же переменных ( X1, , X n ) и не равные тожде-
ственно Л (И), равносильны в том и только том случае, если они приводятся к СДНФ (СКНФ), отличающимся лишь порядком своих дизъюнктивных (конъ-
юнктивных) членов.
Д о к а з а т е л ь с т в о . Если |
А1 |
и |
А2 приводятся к одной СДНФ В, |
то |
A1 B A2 . С другой стороны, если |
A1 |
A2 и B1 – СДНФ для А1 , а B2 |
– |
|
СДНФ для А2 , то B1 A1 A2 , то есть B1 |
будет СДНФ и для А2 , и в силу тео- |
|||
ремы о единственности СДНФ B1 |
должна отличаться от B2 только порядком |
|||
своих дизъюнктивных членов. |
|
|
|
|
Доказательство завершено. |
|
|
|
|
25
2.БУЛЕВЫ ФУНКЦИИ
2.1.Представление булевой функции формулой алгебры
высказываний. Таблицы истинности
Булевой функцией f (x1, , xn ) называется произвольная п-местная функция, действующая из множества {0, 1} во множество {0, 1}. Таким образом, аргументы булевой функции принимают значения из множества {0, 1} и сама функция принимает значения из этого же множества.
Пусть истинностному значению И соответствует 1, а истинностному значению Л – 0. Тогда каждой формуле алгебры F можно поставить в соответствие булеву функцию f. При этом, если формуле F1 соответствует функция f1 ,
а формуле F2 – функция f2 и формулы тождественно равны, то есть F1 F2 ,
то будут тождественно равны и функции, то есть f1 f2 .
Всякую булеву функцию от п переменных можно задать таблицей ис-
тинности из 2n строк. В каждой строке этой таблицы записываются значения переменных и соответствующее значение функции.
Наборы из нулей и единиц, соответствующие значениям переменных, имеют стандартное расположение, то есть расположены в лексикографическом порядке (порядке возрастания). Действительно, каждый п-мерный вектор пере-
менный представляет собой двоичную запись чисел множества {0, 1, , 2n 1}.
Пусть n 3. Тогда булеву функцию можно представить в виде таблицы 7. При решении конкретных задач четвертый столбец обычно не указывают.
Таблица 7. Представление булевой функции таблицей истинности
x1 |
x2 |
x3 |
Число |
f (x1, x2 , x3 ) |
0 |
0 |
0 |
0 |
f (0,0,0) |
0 |
0 |
1 |
1 |
f (0,0,1) |
0 |
1 |
0 |
2 |
f (0,1,0) |
0 |
1 |
1 |
3 |
f (0,1,1) |
1 |
0 |
0 |
4 |
f (1,0,0) |
1 |
0 |
1 |
5 |
f (1,0,1) |
1 |
1 |
0 |
6 |
f (1,1,0) |
1 |
1 |
1 |
7 |
f (1,1,1) |
26
П р и м е р . Построить |
таблицу |
истинности булевой функции |
||||||||
f (x1, x2 , x3 ) x3 |
(x1 ~ x2 ) (табл. 8). |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
Таблица 8. Функция f (x1, x2 , x3 ) |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
x2 |
x3 |
|
x1 ~ x2 |
|
x3 |
f (x1, x2 , x3 ) |
|
|
|
0 |
0 |
0 |
|
1 |
|
1 |
1 |
|
|
|
0 |
0 |
1 |
|
1 |
|
0 |
1 |
|
|
|
0 |
1 |
0 |
|
0 |
|
1 |
0 |
|
|
|
0 |
1 |
1 |
|
0 |
|
0 |
1 |
|
|
|
1 |
0 |
0 |
|
0 |
|
1 |
0 |
|
|
|
1 |
0 |
1 |
|
0 |
|
0 |
1 |
|
|
|
1 |
1 |
0 |
|
1 |
|
1 |
1 |
|
|
|
1 |
1 |
1 |
|
1 |
|
0 |
1 |
|
Л е м м а 1 ( о ч и с л е с л о в ) . В алфавите A {a1, , ar } из r букв можно построить ровно r m различных слов длины т.
Д о к а з а т е л ь с т в о . Проведем индукцию по т.
Пусть k m 1. Тогда получаем ровно r1 r слов длины 1, то есть это слова, состоящие из одной буквы.
Пусть утверждение леммы верно для k m 1, то есть существует ровно r m 1 различных слов длины (т – 1).
Докажем для k m . Для каждого слова длины (m 1) существует ровно r возможностей добавить одну букву в слово. В итоге получаем слова длины т,
число которых равно r m 1 r r m 1 1 r m . Доказательство завершено.
В нашем случае алфавит A {0,1} состоит из r = 2 букв (значений): 0 и 1.
Длина слова (столбца) равна m 2n . Тогда по лемме 1 существует точно r m 22n различных п-местных булевых функций.
При п = 1 получаем 22n 221 4 булевы функции, зависящие от одной
переменной. При п = 2 получаем 22n 222 16 булевых функций, зависящие от двух переменных.
27
Булева функция f (x1, , xi 1, xi , xi 1, , xn ) существенно зависит от пе-
ременной xi , если существует такой набор значений 1, ,i 1,i 1, ,n , что
f(1, ,i 1,0,i 1, ,n ) f (1, ,i 1,1,i 1, ,n ) .
Вэтом случае xi называют существенной переменной, в противном слу-
чае xi называют несущественной, или фиктивной переменной. |
|
|||||
П р и м е р . Пусть булевы функции f1(x1, x2 ), f2 (x1, x2 ) |
заданы следую- |
|||||
щей таблицей истинности (табл. 9) |
|
|
|
|
||
|
|
|
Таблица 9. Функции f1(x1, x2 ), f2 (x1, x2 ) |
|||
|
|
|
|
|
|
|
|
x1 |
x2 |
f1 (x1, x2 ) |
f2 (x1, x2 ) |
|
|
|
0 |
0 |
1 |
0 |
|
|
|
0 |
1 |
0 |
1 |
|
|
|
1 |
0 |
1 |
0 |
|
|
|
1 |
1 |
0 |
1 |
|
|
Для этих функций переменная x2 является существенной, а переменная |
||||||
x1 – фиктивной. Первая функция может быть представлена как |
f1 (x1, x2 ) x2 , а |
вторая – как f2 (x1, x2 ) x2 . Таким образом, данные функции существенно не зависят от переменной x1 .
Перечислим все булевы функции от одного и двух аргументов с указани-
ем фиктивных переменных (табл. 10 и 11). |
|
|
|
|
||
|
|
Таблица 10. Булевы функции от одной переменной |
||||
|
|
|
|
|
|
|
|
|
Переменная х |
0 |
1 |
|
|
|
Название |
Обозначение |
|
|
Фиктивная |
|
|
Нуль |
0 |
0 |
0 |
х |
|
|
тождественная |
Х |
0 |
1 |
|
|
|
Отрицание |
x |
1 |
0 |
|
|
|
Единица |
1 |
1 |
1 |
х |
|
28

|
Таблица 11. Булевы функции от двух переменных |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Переменная x |
0 |
0 |
1 |
1 |
|
|
|||
|
Переменная у |
0 |
1 |
0 |
1 |
|
|
|||
Название |
Обозначение |
|
|
|
|
Фиктивные |
|
|||
константа 0 (нуль) |
|
f0 0 |
0 |
0 |
0 |
0 |
х, у |
|
||
конъюнкция |
f1 x y |
0 |
0 |
0 |
1 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
запрет по у |
f2 (x y) |
0 |
0 |
1 |
0 |
|
|
|||
повтор х |
|
f3 x |
0 |
0 |
1 |
1 |
У |
|
||
|
|
|
|
|
|
|
|
|
|
|
запрет по х |
f4 ( y x) |
0 |
1 |
0 |
0 |
|
|
|||
повтор у |
|
f5 y |
0 |
1 |
0 |
1 |
Х |
|
||
сумма по mod 2 |
f6 |
x y |
0 |
1 |
1 |
0 |
|
|
||
дизъюнкция |
f7 |
x y |
0 |
1 |
1 |
1 |
|
|
||
стрелка Пирса |
f8 x y |
1 |
0 |
0 |
0 |
|
|
|||
эквивалентность |
f9 x ~ y |
1 |
0 |
0 |
1 |
|
|
|||
инверсия у |
f10 y |
1 |
0 |
1 |
0 |
Х |
|
|||
конверсия |
f11 y x |
1 |
0 |
1 |
1 |
|
|
|||
инверсия х |
|
f12 x |
1 |
1 |
0 |
0 |
У |
|
||
импликация |
f13 x y |
1 |
1 |
0 |
1 |
|
|
|||
штрих Шеффера |
f14 x | y |
1 |
1 |
1 |
0 |
|
|
|||
константа 1 (единица) |
|
f15 1 |
1 |
1 |
1 |
1 |
х, у |
|
Введем обозначение
x x x ,
где – параметр, равный либо 0, либо 1. Тогда
x |
x, |
1, |
|
0. |
|
|
x, |
И при этом, x 1 x , то есть значение «основания» равно значению
«показателя».
Т е о р е м а 9 ( о р а з л о ж е н и и ф у н к ц и и п о п е р е м е н н ы м ) .
Каждую булеву функцию f (x1, , xn ) при любом k (1 ≤ k ≤ п) можно предста-
вить в следующей форме:
29
f (x , , x , x |
, , x |
|
) |
|
x 1 |
x k |
f ( |
|
, , |
|
, x |
, , x ) , (7) |
||
1 |
k k 1 |
|
n |
|
( 1, , k ) 1 |
k |
|
1 |
|
|
k |
k 1 |
n |
|
где |
дизъюнкция берется по |
всевозможным |
наборам |
значений переменных |
x1, , xk .
Д о к а з а т е л ь с т в о . Рассмотрим произвольный набор значений пере-
менных (1, ,n ) и покажем, что левая и правая части соотношения (7) при-
нимают на нем одно и то же значение.
Левая часть
f (x1, , xk , xk 1, , xn ) f (1, ,n ) .
Правая часть
|
x 1 |
x k |
f ( |
, , |
|
, x |
, , x ) |
( 1, , k ) |
1 |
k |
1 |
|
k |
k 1 |
n |
как только хотя бы один из сомножителей будет равен нулю, вся конъюнкция
обратится в нуль. Таким образом, из ненулевых конъюнкций останется лишь та, в которой i i и
|
|
0 0 1 |
k |
f ( , , |
n |
) |
|
|
1 |
k |
1 |
|
|
в силу того, что |
|
1, получаем |
|
|
|
|
|
|
|
|
|
f (1, ,n ) .
Доказательство завершено.
С л е д с т в и е 1 . Разложение произвольной булевой функции по одной
переменной имеет вид
f (x1, x2 , , xn ) x1 f (0, x2 , , xn ) x1 f (1, x2 , , xn ) .
Функции f (0, x2 , , xn ) и |
f (1, x2 , , xn ) называются компонентами разложе- |
ния. |
|
Из теоремы 9. вытекают две следующие теоремы.
Т е о р е м а 1 0 ( о С Д Н Ф б у л е в о й ф у н к ц и и ) . Для любой буле-
вой функции f (x1, , xn ) , отличной от константы 0, справедливо следующее представление
30