информация, язык, интеллект № 3 (77) 2011
информация, язык, интеллект № 3 (77) 2011
информация, язык, интеллект № 3 (77) 2011
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
М.Ф. Бондаренко, Ю.П. Шабанов-Кушнаренко<br />
булева алгебра. Кроме того, наличие операции<br />
отрицания даст возможность в ряде случаев записывать<br />
конечные предикаты в форме более компактных<br />
выражений, а также выполнять тождественные<br />
преобразования формул более коротким<br />
путем. Наконец, операция отрицания позволит<br />
естественным образом ввести понятие совершенной<br />
конъюнктивной нормальной формы и сформулировать<br />
теорему о конъюнктивном разложении<br />
предиката.<br />
Операция отрицания предиката − это одноместная<br />
функция, заданная на множестве всех k-ичных<br />
n-местных предикатов со значениями в том же<br />
множестве. Если A − аргумент и B – значение операции<br />
отрицания, то условимся писать (¬A)=B<br />
или, в сокращенной форме A =В. Отрицанием предиката<br />
f(x 1 , x 2 ,…, x n ) назовем предикат<br />
18<br />
g(x 1 , x 2 ,…, x n )≡ f (x 1 , x 2 ,…, x n ),<br />
принимающий значение 0 для всех тех наборов<br />
значений аргументов (x1 , x2 ,…, xn ), при которых f(x1 ,<br />
x2 ,…, xn )=1, и принимающий значение 1 для всех<br />
тех наборов значений аргументов, при которых f(x1 ,<br />
x2 ,…, xn )=0.<br />
При k≥2 можно определить операцию отрицания<br />
аксиоматически, задав ее следующими тождествами:<br />
A∨B ≡ AB , (4)<br />
AB ≡ A∨ B , (5)<br />
a i<br />
x ≡ a1∨ a2 +<br />
∨ ∨ ai-1 1 ∨ ai ∨ ∨ a k<br />
x x ... x x ... x . (6)<br />
Здесь A и B − произвольные формулы, х − произвольная<br />
буквенная переменная, ai − произвольная<br />
буква алгебры конечных предикатов, индекс i принимает<br />
значения в пределах от 1 до k. Тождества<br />
(4) и (5) совпадают по форме с известными в алгебре<br />
логики законами де Моргана, которые, однако,<br />
применяются теперь не к булевым переменным, а<br />
к переменным предикатам. Тождество (6) назовем<br />
законом отрицания. Заметим, что при k=1 закон отрицания<br />
теряет смысл.<br />
Справедливость законов де Моргана доказывается<br />
проверкой тождеств для всех возможных вариантов<br />
значений предикатов A и B. Например, убеждаемся<br />
при A=0 и B=1, что 0∨1≡0⋅1 и 01 ⋅ ≡0∨ 1.<br />
Легко устанавливается также справедливость закона<br />
отрицания. Действительно, если x=ai , то предикаты,<br />
стоящие слева и справа от знака тождества в<br />
(6), обращаются в 0, если же x≠ai , то оба предиката<br />
обращаются в 1.<br />
Пользуясь приведенными ранее тождествами<br />
алгебры конечных предикатов, а также тождествами<br />
(4) – (6), можно доказать, что:<br />
0 ≡1 , (7)<br />
1 ≡0. (8)<br />
Действительно,<br />
a a ≡ a ∨ a 2 ≡ a<br />
x ∨ a 3<br />
x ∨…∨ a k<br />
x ∨ a1<br />
x ∨ a 3<br />
x ∨<br />
k ∨…∨ a<br />
x ≡1,<br />
0 ≡ 1 2 1 2<br />
x x x x<br />
a a a a a a<br />
1 2 k 1 2 k<br />
1 ≡- x ∨x ∨... ∨x ≡ x x ... x ≡<br />
2 ≡( a<br />
x ∨ a 3<br />
x ∨…∨ a k 1<br />
x )( a<br />
x ∨ a 3<br />
x ∨…∨ a k<br />
x )…<br />
1 ...( a<br />
x ∨ a 2<br />
k-<br />
x ∨ ∨…∨ a 1<br />
x )≡0.<br />
Любая формула с отрицаниями может быть<br />
преобразована с помощью зависимостей (4) – (8)<br />
в тождественную ей формулу без отрицаний. Действительно,<br />
применяя многократно законы де<br />
Моргана, мы всегда сможем все знаки отрицания,<br />
стоящие над формулой или ее частями, опустить<br />
непосредственно на узнавания букв или на 0 и 1.<br />
Затем, пользуясь тождествами (6) – (8), исключаем<br />
отрицания из формулы. Рассмотрим пример исключения<br />
знаков отрицания из формулы. Пусть<br />
A={a, b, c}. Тогда:<br />
a b c a b c<br />
1 1 2 1 1 2<br />
a b c<br />
1 1 2<br />
x ∨x x ≡ x x x ≡ x ( x ∨ x ) ≡<br />
≡(x 1 b ∨x1 c )(x1 a ∨x1 c ∨x2 a ∨x2 b ).<br />
С помощью тождеств (4) – (6) совместно с перечисленными<br />
выше основными тождествами алгебры<br />
конечных предикатов можно решить вопрос о<br />
тождественности двух любых формул со знаками<br />
отрицания. Сначала исключаем из формул знаки<br />
отрицания, а затем приводим формулы к СДНФ.<br />
Отсюда следует, что система тождеств (4) – (6)<br />
полна, она совместно с тождествами (4) – (19) [1]<br />
аксиоматически определяет все свойства операции<br />
отрицания.<br />
В ряде случаев процесс исключения знаков отрицания<br />
из формул существенно упрощается, если<br />
использовать следующие тождества:<br />
a a a<br />
i j i<br />
x x ≡ x , (9)<br />
a a a<br />
i j i<br />
x ( x ∨A) ≡ x . (10)<br />
Тождества справедливы при условии, что i≠j,<br />
индексы i и j принимают значения в пределах от 1<br />
до k. Буквой A обозначена произвольная формула<br />
алгебры конечных предикатов. Тождество (9) назовем<br />
законом поглощения отрицания, тождество<br />
(10) − обобщенным законом поглощения отрицания.<br />
Докажем справедливость тождества (10):<br />
x a i ( x a j ∨A)≡ x a i ( x a 1 ∨ x a 2 ∨…∨ x a i ∨…<br />
∨ x a j−1 ∨ x a j+1 ∨…∨ x a k ∨A)≡ x a i ∨ x a i A≡ x a i .<br />
Рассмотрим пример, иллюстрирующий применение<br />
только что приведенных тождеств. Пусть<br />
A={a, b, c}, требуется упростить формулу<br />
a b c a<br />
1 1 1 2<br />
f≡ ( x x ∨x ∨x ) x b<br />
1 x2<br />
c ,