- •Глава 2. Элементы математической логики.
- •§1.Основные понятия.
- •§2.Основные логические операции (связки) и их таблицы истинности.
- •Упражнения.
- •§3.Понятия формулы логики высказываний.
- •§4.Истинностные таблицы.
- •Замечания
- •Упражнения.
- •§5.Булевы функции. Равносильность. Тавтологии.
- •§6.Основные равносильности булевых формул.
- •§7.Дизъюнктивные и конъюнктивные нормальные формулы (днф и кнф).
- •§8.Представление булевой функции сднф и скнф (проблема разрешимости).
- •§9.Приведение формул к сднф(скнф) равносильными преобразованиями.
- •§10.Необходимое и достаточное условия тождественной истинности (ложности) формул.
- •§11.Принцип двойственности.
- •§12.Минимизация булевой функции. Алгоритм Квайна-МакКласки.
- •12.1. Представление булевой функции вершинами k-мерного куба.
- •12.2. Комплекс кубов булевой функции.
- •12.3. Покрытие. Минимальное покрытие.
- •12.4. Простые импликанты.
- •12.5. Экстремали и отмеченные вершины.
- •§13. Реализация булевых функций релейно-контактными схемами.
- •Вопросы к главе II.
§4.Истинностные таблицы.
Выше были определены основные логические операции и приведены их истинностные таблицы, которые фактически являются определениями этих операций. С помощью этих таблиц можно составить таблицы истинности для любой формулы. Если формула F содержит n простых компонентов, каждый из которых принимает два значения: 0 и 1, то истинностная таблица формулы F содержит 2n наборов. Для каждого из них формула F принимает значение или 0 или 1. Это и есть истинностная таблица формулы F.
Замечания
Хотя 2n наборов значений простых компонент, входящих в формулу F, можно располагать в любом порядке в таблице истинности, мы, для определенности будем использовать двоичную запись порядкового номера набора. Например, для n=3 это будет следующий порядок: 000, 001, 010, 011, 100, 101, 110, 111.
Условимся опускать внешние скобки в формуле. Например, F=ab®bÚc вместо F=(ab®`bÚc).
Будем говорить, что простая компонента входит в формулу F несущественно (фиктивно), если истинностное значение формулы F не зависит от истинностного значения этой компоненты. Так, таблица истинности формулы F=abÚa имеет вид:
а |
b |
abÚa |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
Сравнивая первую и вторую, а затем третью и четвёртую строки, замечаем, что F зависит только от значения, принимаемого компонентой а, т.е. b – несущественная компонента.
Кроме основных 5 логических связок, иногда используются и другие. Например, p¯q переводится как “ни p,ни q”, и формула p¯q принимает значение 1 только тогда, когда p=q=0.
Упражнения.
Составить таблицы истинности для следующих формул:
p®qÚr
pÚq«qÚp
(p®(q®r))®((p®q)®(p®r))
(p®q)«(`pÚq)
(p®q)®((q®r)®(p®r))
(p®q)®r
Ответы:
11110111
1111
11111111
1111
11111111
01011101
Пусть значение p®q есть 0. Чему равно значение`pq«pÚq?
Решение:
Если значение p®q есть 0, то p=1, а q=0. Тогда `pq=0, а pÚq=1. Значит, `pq«pÚq равно 0.
Если значение p®q есть 1, то что можно сказать о значении `pq«pÚq?
Решение:
Если p=q=1, то`pq равно 0, а pÚq равно 1. Значит`pq«pÚq равно 0. Если же p=q=0, то`pq«pÚq равно 1. Следовательно, возможны разные значения.
Для каждого из следующих высказываний определить, достаточно ли приведённых сведений, чтобы установить его численное значение. Если да, то указать это значение, если нет, то показать что возможны разные значения.
(p®q)®r; r=1
p(q®r); q®r равно 1
pÚ(q®r); q®r равно 1
Ú «`p`q; Ú равно 1
(p®q)®(`q®`p); p®q равно 1
pq®pÚs; pq равно1 и s=0.
Ответы:
1
Если p=1, то 1, если p=0, то 0
1
1
1
1
§5.Булевы функции. Равносильность. Тавтологии.
Булевой функцией (по имени английского математика и логика Джорджа Буля) называется логическая функция, аргументы которой и она сама принимают два значения 0 и 1.
Если f(x1,…,xn)
булева функция, зависящая от n
аргументов, то она вполне определяется
своими значениями для 2n
наборов значений аргументов.
Кроме того, она вполне определяется
подмножеством тех наборов, для которых
она принимает значение 1. Поскольку
число различных подмножеств равно
,
то
Теорема: Число различных булевых функций, зависящих от n аргументов равно .
Так, для n=2 число различных булевых функций равно 16. Очевидно, что всякая формула логики высказываний является булевой функцией. В дальнейшем будет показано, что и всякую булевую функцию можно интерпретировать как формулу логики высказываний.
Определение: Две формулы F и G называются равносильными, если они равны как булевы функции, т.е. принимают одинаковые значения при всех наборах значений простых компонент. Обозначается FºG.
Замечание: Формулы F и G могут содержать разные компоненты. При составлении таблицы истинности в набор включаются все компоненты, входящие в хотя бы одну из этих функций, т.е. некоторые простые компоненты могут быть фиктивными.
Тождественно-истинной (тавтологией) называется формула, таблица истинности которой состоит из одних 1 и тождественно-ложной, если все её значения равны 0. Обозначаются они соответственно Fº1 и Fº0. Если формула может принимать как значения 1, так и 0, то она называется выполнимой.
Пример:
В задаче 1 формулы b), c), d), e) - тождественно-истинные, формулы a) и f) - выполнимые.
Примером тождественно-ложной формулы будет ((aÚb)Ù(`aÙ`b)).
Отношение равносильности является отношением эквивалентности на множестве всех формул логики высказываний. Класс эквивалентности - это все формулы, соответствующие одной и той же булевой функции. Изучение булевых функций имеет большое значение как для алгебры и математической логики, так и для приложений в компьютерной математике и теории автоматов. Особую роль играют тавтологии. Проверить, является ли формула тавтологией или равносильны ли данные формулы, можно, составляя таблицы истинности. Процедура эта для большого числа аргументов утомительна или даже невозможна. Однако, существуют методы, позволяющие значительно упростить эту проверку.
Наша задача в дальнейшем состоит в установлении правил равносильного преобразования формул и приведение формулы к некоторому нормальному виду
Булевой формулой называется формула, не содержащая импликации и эквиваленций.
Теорема: Всякая формула логики высказываний равносильна булевой формуле.
Доказательство этой теоремы опирается на следующие равносильности a®bº`aÚb и a«bºabÚ`a`b
Они проверяются таблицей истинности:
а |
b |
a®b |
`aÚb |
a«b |
abÚ`a`b |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Эти равносильности имеют логический смысл.
Формула a®b означает: если верно а то верно b.
А формула `aÚb: или неверно а или верно b.
Это последнее высказывание и есть обоснование таблицы истинности для операции a®b.
Формула a«b переводится так: а верно тогда и только тогда, когда верно b, а формула abÚ`a`b означает или a и b одновременно верны , или одновременно неверны.
Сформулируем также два правила подстановки:
Пусть FA - формула, в которой фиксировано вхождение в неё формулы А ( в этом случае говорят, что формула А является частью формулы F , и что формула F длиннее формулы А) и пусть АºВ, тогда FА ºFВ, где в формуле F формула А заменена на формулу В.
Например F=(a®b)Ùc и A=a®b. Тогда A=a®bºB=`aÚb и (a®b)Ùcº(`aÚb)Ùc.
Пусть FаºGa, причём в формулах F и G фиксированы все вхождения простой компоненты а. Тогда FAºGA, где А - произвольная формула, и в формулах F и G простая компонента а заменена всюду на формулу А.
Пример.
abÚ`a`bºa«b.
Пусть А=c®d.
Тогда (c®d)bÚ(®
)`bº(c®d)«b
Доказательство теоремы может быть проведено методом индукции по длине формулы с использованием указанных равносильностей, правил подстановки, а также таблицы основных равносильностей.
