- •Раздел II. Математическая логика
- •Глава 1. Алгебра логики
- •1.1. Объекты изучения алгебры логики. Булевы константы, переменные и векторы
- •1.2. Булевы функции, способы их задания. Элементарные функции. Алгебра логики, ее формулы
- •Задание функции при помощи вектора истинности
- •Матричный способ
- •Задание с помощью полного бинарного дерева
- •Формульное задание
- •1.3. Моделирование составных высказываний при помощи формул алгебры логики
- •1.4. Эквивалентность формул. Тавтологии. Законы логики. Двойственность
- •1.5. Специальные формульные представления булевых функций
- •1.5.1. Конъюнкции и дизъюнкции над множеством переменных. Нормальные формы
- •1.5.2. Конституенты единицы. Совершенные дизъюнктивные и веббовы нормальные формы
- •1.5.3. Конституенты нуля. Совершенные конъюнктивные и шефферовы нормальные формы
- •1.5.4. Полиномы Жегалкина
- •1.6. Минимизация нормальных форм булевых функций
- •1.5.1. Метод покрытий
- •1.6.2. Метод минимизирующих карт
- •1.7. Частично определенные функции. Их минимальное доопределение
- •Контрольные задания по теме функции алгебры логики. Нормальные формы. Полином жегалкина
1.4. Эквивалентность формул. Тавтологии. Законы логики. Двойственность
Для каждого n количество n-местных взаимно различных булевых функций ограничено. В то же время, можно показать, что число возможных формул, составленных из n переменных, счетно. Отсюда следует, что функции могут быть представлены формулами неединственным образом.
Определение. Формулы F1 и F2 эквивалентны, если реализуемые ими функции совпадают, т.е. имеют одни и те же значения истинности на одинаковых наборах переменных. Преобразование формулы F1 называют эквивалентным, если вновь получаемая формула F2 эквивалентна ей.
Пример 1.
1. Формулы F1= х у и F2=х у неэквивалентны, поскольку существуют наборы значений переменных (например, х=0, у=0), где соответствующие функции принимают различные значения.
2. Формулы F1= х у и F3= (х у) эквивалентны, поскольку реализуемые ими функции совпадают.
Проверку эквивалентности проще всего проводить на таблицах истинности. Ниже приведены таблицы истинности для функций, реализующих формулы F1,F2 и F3. Векторы истинности у F1 и F3 совпадают, у F1 и F2 ― нет.
x |
y |
F1=х у |
F2=х у |
F3=(х у) |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
Определение. Формула называется тождественно истинной (ложной), если реализуемая ею функция является константой 1 (0). Тождественно истинные формулы также называют тавтологиями, тождественно ложные функции ― противоречиями.
Тавтологии являются теоремами алгебры логики. Они задают правильные рассуждения, верные при любых значениях высказываний, входящих в них.
Пример 2. Выяснить, будут ли тавтологиями формулы:
F1 = х х у , F2 =(xу) xу , F3 = xу (х у).
Решение. Из нижеприведенных таблиц истинности для функций, реализующих формулы F1, F2 и F3, следует, что формулы F1, F2 ― тавтологии (векторы истинности у них состоят только из единиц), F3 не является тавтологией, так как соответствующий ей вектор истинности имеет нули.
x |
y |
F1= х х у |
F2 =(xу) xу |
F3 =xу (х у) |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
Замечание. В процессе выяснения, является ли некоторая формула F тавтологией или противоречием, фактически проверяется её эквивалентность константам 1 и 0.
Можно показать, что количество всех возможных тавтологий счетно для любого числа n переменных, используемых в них.
Определение. Основные, наиболее употребительные тавтологии, которые задают эквивалентные преобразования формул, называют законами алгебры логики.
Перечислим их.
1. Коммутативные законы сложения и умножения:
х у = у х, х у = у х.
2. Ассоциативные законы сложения и умножения:
( х у) z = х (у z) = х у z ,
( х у) z = х (у z) = х у z.
3. Дистрибутивные законы:
х ( у z) = х у х z,
х у z = ( х у)(х z).
4. Правила де Моргана снятия отрицания:
(х у) =ху, (х у) =х у.
5. Идемпотентность:
х х = х, х х = х.
6. Правила поглощения:
х (х у)= х, х (х у)= х.
7. Закон противоречия:
х х = 0.
8. Закон исключения третьего:
х х = 1.
9 Операции с константами:
х 0 = х, х 1 = 1, х 0 = 0, х 1 = х.
Справедливость перечисленных законов может быть проверена, как и обычная эквивалентность формул.
Пример 3. Доказать первое правило де Моргана.
Решение. Построим векторы значений истинности функций для формул (х у) и х у. Как видно из приведенных ниже таблиц, они полностью совпадают (столбцы 4 и 7).
x |
y |
х у |
(х у) |
х |
y |
х y |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
Отсюда следует, что данная формула справедлива при любых значениях входящих в нее переменных и является тавтологией.
Законы логики могут быть использованы для аналитического упрощения формул. Также для преобразования формул можно использовать принцип двойственности.
Определение. Обратными (инвертированными) называют значенияn иn n-местного булевого векторахn, у которых различаются все компоненты: i = i при всех 1 i n. Обозначим их какn = n* .
Пример 4. (0,1,0)*=(1,0,1);(1,1,0)*=(0,0,1);(1,0)*=(0,1).
При табличном задании обратные наборыn иn находятся на одинаковых расстояниях от начала и конца таблицы, поскольку соответствующие им двоичные числа и связаны соотношением + = 2n - 1.
Определение. Симметричными называют такие n-местные булевы функции f(х n), которые принимают одинаковые значения истинности на всех обратных наборах, т.е. f (n ) = f (n* ) при всехn В n.
Вектор истинности таких функций симметричен относительно своей средины. Симметричными являются константы 0, 1, сумма по модулю 2, эквивалентность и т.д. Все пороговые функции не симметричны.
Определение. Двойственными называют такие n-местные функции f и g, для которых на всех наборах n В n справедливо равенство f(n ) = g(n* ), т.е. на обратных наборах f и g принимают различные значения истинности. Двойственность обозначается как f = g*.
Пример 5. Проверить двойственность функций f 1 = х у, f2 = х у .
Решение. Из соотношений
f1 (00) = 0 =1 = f2 (11), f 1 (01) = 0 =1 =f2 (10),
f 1 (10) = 0 =1 = f2 (01), f 1 (11) = 1 =0 = f2 (00),
следует, что функции являются двойственными, f 1 = f * 2 .
Понятие двойственности симметрично, поэтому из f = g* всегда следует: g = f *.
У симметричных функций двойственность совпадает с отрицанием, так как f *(х n) = f (х n*) =f (х n). Поэтому 0* = 1, 1* = 0, (х у)* = х у 1 = (х у) и т.д. У несимметричных функций, например, пороговых, понятие двойственности не сводится к отрицанию: х* =х х,х* = х х, ( х у)* = ( х у) ( х у), (х у)* = ( х у) (х у).
Определение. Рассмотрим сложную n-местную функцию следующего вида: F(х n) =f ( f1 (х n),..., fk (х n)).
Функцию f в дальнейшем будем называть внешней, функции f1 , .. ., fk ― внутренними.
Принципом двойственности называют следующее соотношение:
F *(х n) = f * ( f1* (х n),..., fk* (х n)).
Справедливость его следует непосредственно из определения двойственности:
F *(х n) = F (х n* ) = f ( f1 (х n*) , ... , fk (х n*)) =
f (f1* (х n),...,fk* (х n)) = f * ( f1* (х n),..., fk* (х n)).
Применение принципа двойственности упрощает многие преобразования формул. В частности, он позволяет аналитически доказывать одни законы логики на основе других. Здесь используется следующее очевидное свойство формул: если А=В, то А*=В*. Например, первое правило де Моргана можно представить в виде А=В, где А= (х у), В =ху. Переходя к А* = (х у), В* =х у, получим второй закон.
ЗАДАЧИ
1. Проверить эквивалентность следующих пар формул:
а) F1=ху z и F2 = х уz; б) F1=(ху) у и F2 = 1;
в) F1=х уz и F2 =(x, y, z) у z уz .
2. Доказать справедливость:
а) ассоциативного закона сложения,
б) первого дистрибутивного закона,
в) первого правила поглощения.
3. Проверить, будут ли двойственными функции:
а) f1 = х у и f2 = х у; б) f1 = х у и f2 = х у ; в) f1 = (10100010) и f2 = (11100000); г) f1 =(10100010) и f2 = (10111010).
4. Найти с использованием принципа двойственности функции, двойственные к: а) ху уz; б) ху (х z) у; в) х у .
5. Доказать, что функция, двойственная к пороговой, также будет пороговой.
6. Доказать, что для обобщенных функций верно:
(хn)=(хn)*,(хn)=(хn)*.
7. При помощи принципа двойственности доказать cправедливость:
а) ассоциативного закона умножения на основании ассоциативного закона сложения,
б) второго правила поглощения на основании первого.
8. Доказать эквивалентность формул:
а) х (х у) и х у; б) х у и ( х у); в) ху и ( х у); г) (х у) и (ху)(ух); д) (х(уz)) и (ху z).
9. Проверить, будут ли тавтологиями следующие формулы:
а) (ху) (уz) ( хz); б) (ху)х у; в) ху ху = х; г) z ( х у ) (х z ) ( ху z ) ; д) х ( у х).
10. Доказать, что:
а) если А и В ― тавтологии, то А (В А ) ― противоречие,
б) если А и В ― противоречия, то С А В ― тавтология.
11. A,B,C,D ― некоторые высказывания. Найти истинность составных высказываний:
a) C BD, если BD =Л;
б) АC, если А B = Л, BС = И;
в) (АC) D, если А C = И, A C = И, B D = Л;
г) В С, если B C = Л, А С= И;
д) С А, если (А В)= И, А C = И, С D = Л;
е) А C, если А В С = И, (СА) (А C) = Л.