Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

пособие мат логика Ткаченко Сысоев часть 2 09_12_2013

.pdf
Скачиваний:
2
Добавлен:
17.01.2025
Размер:
2.16 Mб
Скачать

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