Лекции - Введение в математическую логику №1

advertisement
Министерство образования Российской Федерации
Государственное образовательное учреждение
высшего профессионального образования
«Комсомольский-на-Амуре государственный технический университет»
Институт новых информационных технологий
Государственного образовательного учреждения
высшего профессионального образования
«Комсомольский-на-Амуре государственный технический университет»
С.М. Воротников
ВВЕДЕНИЕ В МАТЕМАТИЧЕСКУЮ ЛОГИКУ
Утверждено в качестве учебного пособия
Ученым советом Государственного образовательного учреждения
высшего профессионального образования
«Комсомольский-на-Амуре государственный технический университет»
Комсомольск-на-Амуре 2003
УДК 517.11 (07)
ББК 22.122 я7
В 75
Воротников С.М.
В 75 Введению в математическую логику.: Учебно-практ. пособие. – Комсомольск-наАмуре: Государственное образовательное учреждение высшего профессионального образования «Комсомольский-на-Амуре гос. техн. ун-т», 2003. – 61 с.
По содержанию данное пособие тесно связано с конспектом лекций [1] и является методической основой для самостоятельного изучения следующих вводных разделов математической логики и ее приложений: формулы логики высказываний и операции над ними; упрощение записи формул; доказательство равносильности, тождественной истинности и тождественной ложности формул; приведение формул логики высказываний к нормальным формам; использование
формул логики высказываний в теории конечных автоматов; формулы логики
предикатов и операции над ними; исследование выполнимости, истинности, ложности и равносильности формул логики предикатов, приведение формул логики
предикатов к предваренной (пренексной) нормальной форме; основы исчисления
высказываний и исчисления предикатов.
Рассмотрены примеры решения задач по указанным темам, приведены задачи и упражнения для самостоятельного решения, контрольные вопросы по теории
и варианты индивидуальных заданий.
Для студентов электротехнических специальностей, обучающихся по дистанционной технологии.
ББК 22.122 я7
©
Государственное
образовательное
учреждение высшего профессионального образования «Комсомольский-наАмуре государственный технический
университет», 2003
©
Институт новых информационных технологий Государственного образовательного учреждения высшего профессионального образования «Комсомольский-на-Амуре государственный технический университет», 2003
Введение
ВВЕДЕНИЕ
Разделы, связанные с математической логикой, входят в обязательный федеральный стандарт по ряду направлений и специальностей подготовки специалистов с высшим образованием. Между тем, учебной литературы, ориентированной на будущих
технических специалистов, практически нет.
Данное пособие в основном основывается на материале конспекта лекций [1], но
может использоваться и независимо от других источников.
Каждой теме предпослано краткое введение, содержащее определения основных
понятий и теоретических результатов, используемых в соответствующих задачах. Приводятся примеры решения типовых задач, упражнения для самостоятельной работы,
контрольные вопросы по теории и варианты индивидуального домашнего задания
(контрольной работы).
Пособие охватывает следующую тематику: формулы логики высказываний и операции над ними; упрощение записи формул; доказательство равносильности, тождественной истинности и тождественной ложности формул; приведение формул логики
высказываний к нормальным формам; использование формул логики высказываний в
теории конечных автоматов; формулы логики предикатов и операции над ними; исследование выполнимости, истинности, ложности и равносильности формул логики предикатов, приведение формул логики предикатов к предваренной (пренексной) нормальной форме; основы исчисления высказываний и исчисления предикатов.
Использованы следующие общепринятые обозначения:
N, Z, Q, R, C, – множества натуральных, целых, рациональных, действительных,
комплексных чисел соответственно;
х 1 ,..., х п – множество, состоящее из элементов х1 ,..., х п ;


( х1 ,..., хп ) – упорядоченный набор из п элементов ( п -мерный вектор, п -ка);
 х Р ( х ) – множество таких элементов х , для которых выполняется условие
(свойство) Р ( х ) .
1. Элементы логики высказываний
4
1. ЭЛЕМЕНТЫ ЛОГИКИ ВЫСКАЗЫВАНИЙ
1.1. ВЫСКАЗЫВАНИЯ И ОПЕРАЦИИ НАД НИМИ, ФОРМУЛЫ
Сводка теории
Имена предметов называются индивидными (предметными) константами. В
«грамматике» формального языка индивидные константы играют роль существительных.
Выражения, содержащие знаки «переменных» и превращающиеся в имена предметов, если вместо переменных подставить некоторые имена предметов, называются
именными формами. Именные формы мы будем называть индивидными (предметными) переменными. Областью изменения индивидных переменных являются не
только числа, но и совокупность любых индивидов (в частности, для нематематического языка – любые предметы или даже любые утверждения). В «грамматике» формального языка индивидные переменные играют роль местоимений.
Соединяя два имени чисел знаками равенства или неравенства, получаем записи
некоторых утверждений – это высказывания, называемые еще пропозициональными
переменными, если они содержат индивидные переменные.
Общее логико-философское определение этого понятия можно сформулировать
так: высказывание – это мысленное отражение объективной связи между предметами.
Оно истинно, если адекватно отражает эту связь, в противном случае – ложно. В естественном языке высказывание существует в виде повествовательного предложения.
Если это предложение простое, т.е. описывает отдельный факт и не может быть разделено на более мелкие осмысленные предложения, то соответствующее высказывание
называется простым.
В формальном языке высказывание представляется выражением, содержащим индивидные константы и некоторые специальные символы, обозначающие связь между
ними. В математической логике высказывания рассматриваются лишь с позиции их
свойства быть истинными или быть ложными, конкретное содержание высказываний
игнорируется.
Роль союзов, с помощью которых в естественном языке из простых предложений
формируются сложные, в формальном языке играют логические (или пропозициональные) связки, называемые также логическими операциями.
Будем интерпретировать логические связки как функции, определенные на так называемом булевом (по имени английского математика Дж. Буля) множестве В = {И, Л}, {«истина», «ложь»} или {1, 0}, со значениями в этом же множестве следующим образом:
отрицание
 1  1  0,  0  0  1;
конъюнкция
1&1 = 1  1  1, 0  1 1  0 0  0  0;
1  1  1  0  0  1  1, 0  0  0 ;
дизъюнкция
1  1  0  0  0  1  1, 1  0  0;
импликация
эквивалентность
А  В  ( ( А  В )  ( В  А) ).
Действие этих операций (связок) можно представить в виде символических таблиц, которые будем называть таблицами истинности данных логических операций.
Например, для операции отрицания таблица истинности выглядит так:
A
A
1
0
0
1
1. Элементы логики высказываний
5
Именно эту таблицу (ее надо читать по строкам: «если A =1, то A = = 0», т.е. одновременно A истинно и A ложно) мы фактически и приняли в качестве определения
операции отрицания.
В технических приложениях операцию отрицания называют инверсией. Эту операцию можно условно проиллюстрировать работой следующей электрической цепи
(рис. 1.1).
Рис. 1.1
Действие в цепи: если A = 1, то кнопка нажата, цепь разомкнута и лампочка не
горит, т.е. A = 0; если A = 0, то цепь замкнута и лампочка горит, т.е. A = 1.
Таблица истинности для операции конъюнкции, соответствующей союзу «и»
естественного языка, выглядит следующим образом:
A
1
1
0
0
В
1
0
1
0
A^B
1
0
0
0
В этой таблице каждая строка показывает, истинна или ложна конъюнкция при
данном наборе истинных или ложных конъюнктивных членов. В технических приложениях операция конъюнкции называется логическим умножением. Эту операцию
можно проиллюстрировать работой следующей электрической цепи (рис. 1.2).
Рис. 1.2
Таблица истинности для операции дизъюнкции (аналог в естественном языке –
союз «или») выглядит следующим образом:
А
1
1
0
0
В
1
0
1
0
AB
1
1
1
0
В технических приложениях операцию дизъюнкции называют логическим
сложением. Простейшая электрическая цепь, иллюстрирующая эту операцию, имеет
вид ( рис. 1.3).
Рис. 1.3
1. Элементы логики высказываний
6
В отдельных технических дисциплинах (а иногда и в математических теориях)
используют и исключающее «или», приводящее к операции «альтернативная дизъюнкция», которую обозначают «+2» (а также « », «  »). Примером такой операции в
математике является сложение по модулю 2. Результаты операций A B и A  B отличны лишь в одной ситуации: когда A = 1 и B = 1 одновременно.
Таблица истинности для операции альтернативной дизъюнкции выглядит следующим образом:
А
1
1
0
0
В
1
0
1
0
A B
0
1
1
0
Эту операцию можно проиллюстрировать работой следующей электрической цепи (рис.1.4).
Рис. 1.4
Таблица истинности для операции импликации (ближайший аналог в естественном языке – оборот «если..., то...») такова:
A
1
1
0
0
В
1
0
1
0
A B
1
0
1
1
Соответствующая электрическая цепь имеет вид (рис. 1.5).
Рис. 1.5
Приведем таблицу истинности для эквивалентности (соответствует оборотам
естественного языка типа «тогда и только тогда, когда...», «для того, чтобы..., необходимо и достаточно...» и др.):
A
1
1
0
0
В
1
0
1
0
A B
1
0
0
1
Электрическая цепь, реализующая операцию эквивалентности, имеет вид (рис. 1.6)
1. Элементы логики высказываний
7
Рис. 1.6
Понятие формулы алгебры логики (высказываний) определим следующим образом:
1) пропозициональная переменная есть формула;
2) если А и В – формулы, то
А ,( А  В ) ,( А  В ) ,( А  В ) ,( А  В ) – формулы;
3) других формул, кроме построенных по пп. 1, 2, нет.
Подформулой формулы А называется любая ее часть, которая сама является формулой.
Каждая формула может интерпретироваться как функция, определенная на множестве В, со значениями в этом же множестве, полученная из , , ,  по правилам
построения данной формулы. Значением формулы А при данных значениях переменных во множестве В называется значение функции, соответствующей формуле А, при
этих значениях переменных.
Формула называется выполнимой (опровержимой), если существует такой набор
значений переменных, при которых эта формула принимает значение 1 (0).
Формула называется тождественно-истинной, или тавтологией (тождественно-ложной, или противоречием), если эта формула принимает значение 1 (0)
при всех наборах значений переменных.
Примеры
Пример 1.1
Пусть X – высказывание «В огороде бузина», Y – высказывание «В Киеве дядька».
а) Записать с помощью формул логики высказываний следующие высказывания:
i) «В огороде бузина, а в Киеве дядька»;
ii) «Если неверно, что в огороде бузина, то, или в Киеве дядька, или в огороде
бузина»;
iii) «Неверно, что если в Киеве нет дядьки и в огороде нет бузины, то, или в
огороде бузина, или неверно, что в Киеве нет дядьки».
б) Записать на естественном языке высказывания, представленные следующими
формулами:
i) X  Y ;
ii) (
X  Y )  X  Y.
Решение
аi) X  Y ;
аii) ( X 
( X  Y ) );
aiii) ( Y  X )  ( X  Y );
бi) Если в огороде нет бузины, то в Киеве нет дядьки;
бii) Если неверно, что если в огороде бузина, то в Киеве дядька, то в огороде бузина, и в Киеве нет дядьки.
1. Элементы логики высказываний
8
Пример 1.2
Разбить высказывание на элементарные и записать в виде формул логики высказываний:
а) «Функция непрерывна и дифференцируема»;
б) «Если функция не является непрерывной, то она недифференцируема»;
в) «Утверждение либо верно, либо неверно»;
г) «Теорема неверна или в доказательстве допущена ошибка»;
д) «Необходимое и достаточное условие счастья для шейха состоит в том, чтобы
иметь вино, женщин и услаждать свой слух музыкой».
Решение
а) X  Y , где X – «функция непрерывна», Y – «функция дифференцируема»;
б) X  Y , где X – «функция непрерывна», Y – «функция дифференцируема»;
в) А  А , где А – «утверждение верно»;
г) A  B , где А – «теорема верна», В – «в доказательстве допущена ошибка»;
д) A  ( B  C  D ), где А – «шейх счастлив», В – «шейх имеет вино»; С –
«шейх имеет женщин»; D – «шейх услаждает свой слух музыкой».
Пример 1.3
Пусть A – высказывание «Завтра экзамен», B – высказывание «Студент пишет
шпаргалки».
Сформулировать словесно:
A  B; A  B ; A  B ; B  A; A  B ; ( A  B )  A  B .
Решение
«Если завтра экзамен, то студент пишет шпаргалки»;
«Завтра экзамен и студент пишет шпаргалки»;
«Неверно, что если завтра экзамен, то студент пишет шпаргалки»;
«Если студент не пишет шпаргалки, то завтра нет экзамена»;
«Студент пишет шпаргалки в том и только том случае, когда завтра экзамен»;
«Если завтра экзамен или студент не пишет шпаргалки, то завтра нет экзамена, и
студент не пишет шпаргалки».
Пример 1.4
Какой логической операции соответствует употребление «или» в высказываниях:
а) Родители разрешили завести или собаку, или кошку.
б) Кошелек или жизнь!
в) Либо студент сдает сессию, либо его отчисляют.
Решение
а) Альтернативная дизъюнкция, так как предполагается одно условие из двух, но
не оба вместе.
б) Дизъюнкция (хотя, если говорящий «честен», то возможна альтернативная
дизъюнкция).
в) Альтернативная дизъюнкция.
Пример 1.5
Тождественно ли истинны высказывания и формулы:
а) Если Земля столкнется с Солнцем, то пойдет дождь;
б) ( P  Q )  ( P  Q ) ;
1. Элементы логики высказываний
9
в) ( P  Q )  ( P  Q ) .
Решение
а) Тождественно-истинно, так как посылка – ложна, а из лжи следует все что
угодно.
б) Импликация ложна в единственном случае, когда из истины следует ложь. Если P  Q истинно, то P и Q принимают одинаковые истинностные значения.
Значит, импликация P  Q
истинна и внешняя импликация – тоже. Если
P  Q ложно, то внешняя импликация всегда истинна. Итак, вся формула – тождественно-истинна.
По-другому исследование можно провести, построив таблицу истинности для
нашей формулы. Построим сокращенную таблицу истинности (т.е. для каждой переменной будем отводить только по одному столбцу, в месте ее первого вхождения в
формулу; для каждой логической связки – тоже по одному столбцу, используя при
этом запись самой формулы):

(P
Q)  (P  Q)
0
0
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
3
2
5
4
Здесь приведена сокращенная таблица истинности формулы: сначала заполняются
столбцы возможных значений P и Q, таких наборов будет 2 2 ; затем – столбцы для
«внутренних» логических связок (эквивалентность и правая импликация) и, наконец,
столбец для внешней (левой) импликации, который и дает истинностные значения
всей формулы. Цифры под таблицей показывают порядок заполнения столбцов. Поскольку на любых наборах истинностных значений переменных формула принимает
только значение 1, то она является тождественно-истинной.
в) Рассмотрим сразу таблицу истинности:
(P

Q)  (P  Q)
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
3
2
5
4
Поскольку формула может принимать оба истинностных значения (см. выделенный столбец), то она не является тождественно-истинной.
Пример 1.6
Составить таблицы истинности для формул:
а) X  Y ;
б) ( X  Y )  Z ;
в) ( X  Y )  X  Y  Z ;
г)
P  Q  P  ( P  R ).
1. Элементы логики высказываний
10
Решение

а)
б)
в)
г)
X   Y
0
0
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
0
1
0
3
1
5
4
2
 Y) 
(X
Z
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
4
2
5
3
 
(X
Y )  ( X  Y ) 
Z
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
5
4
2
9
7
6
8
3
 (P

 (Q  P))  (P 
R)
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
8
1
7
6
2
5
9
4
3
1. Элементы логики высказываний
11
Задачи
1.1. Записать в виде формул логики высказываний, обозначив за переменные элементарные высказывания:
а) достаточные условия экстремума в точке для функции f(x);
б) необходимые условия экстремума в точке для функции f(x);
в) необходимые и достаточные условия экстремума в точке для функции f(x);
1.2. Определить, является ли данная последовательность формулой:
а) ( А  В ) С D ;
б) ( А  В )  Е ;
в) ( ( В  А )  А ) ;
г) ( ( ( А )  В )  ( С  Е ) ) .
1.3. Сколькими способами можно расставить скобки в последовательности, чтобы
получилась формула:
а) А  В  В  С ;
б) А  В  С  А  В ?
1.4. Выписать все подформулы формулы:
а) ( ( ( А  В )  ( В  С ) )  ( А  С ) ) ;
б) ( ( А  В )  ( ( А  В ) )  В ) ) .
в) ( ( P  Q )  ( P  ( Q  P ) ) ) ;
г)
X  Y  X )  ( X  Y ).
1.5. Составить таблицы истинности для формул;
а) X  Y  ( ( X  Y )  ( X  Y
б) X  Y  ( Y  X  Z );
в) ( (
г) ( (
) );
P  ( Q  P) )  ( ( Q  P)  Q) );
P  ( Q  R) )  ( ( P  Q )  ( P  R) ) ) .
1.6. Доказать выполнимость формул:
а) ( P  P ) ;
б) ( ( X  Y )  ( Y  X ) ) ;
в) ( ( Q  ( P  R) )  ( ( P 
R)  Q ) ) .
1.7. Доказать тождественную истинность формул:
а) Х  Х ;
б) P  ( P  P ) ;
в) P  ( Q  P ) ;
г) Х  Х ;
д) А  В )  ( А  В ) ;
е) ( А  В )  ( ( А  В )  А ) ;
ж) ( ( Q  R)  ( ( P  Q )  ( P  R) ) ) ;
з) ( ( P  R)  ( ( Q  R)  ( ( P  Q ) 
R) ) ) .
12
1. Элементы логики высказываний
1.8. При каких значениях переменных X, Y, Z, U, V, W следующие формулы ложны:
а) ( ( X  ( Y  Z ) )  ( Y  X ) )  Y ;
б) ( X  Y )  ( X  Z )  ( Y  Z )  ( U  V )  ( U  W ) 
( V  W )  ( X  U ) ;
в) ( ( X  Y )  Z )  ( ( X  Y )  ( X  Z ) ) ;
г) (((X  Y)  ((Y  Z)  (X  Z)))  ((X  Y)  Z)) ;
д) ( ( X  Y )  ( ( X  Y )  X  Y ) ) ) ?
1.2. УПРОЩЕНИЕ ФОРМУЛ. ТОЖДЕСТВЕННЫЕ ПРЕОБРАЗОВАНИЯ.
ДОКАЗАТЕЛЬСТВО РАВНОСИЛЬНОСТИ, ТОЖДЕСТВЕННОЙ
ИСТИННОСТИ И ТОЖДЕСТВЕННОЙ ЛОЖНОСТИ
ФОРМУЛ И БУЛЕВЫХ ФУНКЦИЙ
Сводка теории
При использовании формального определения формулы алгебры логики запись
формул часто содержит «лишние» скобки, которыми можно пренебрегать без ущерба
для смысла, если применять некоторые общепринятые правила.
Во-первых, в отдельно стоящих формулах (или если границы формулы ясны из
контекста) можно опускать внешние скобки.
Во-вторых, как и арифметические операции, связки и кванторы можно упорядочить по их «силе», т.е. расположить в определенном порядке, считая, что те символы,
которые в этом порядке находятся правее, «связывают сильнее», т.е. их следует выполнять в первую очередь:

    

Таким образом, дизъюнкция и конъюнкция связывают сильнее, чем импликация,
но слабее, чем отрицание. Конъюнкция связывает сильнее дизъюнкции. Слабее всего
связывает эквивалентность. Равноправны в отношении связывания кванторы (об этом
подробно в разделе 2), они связывают сильнее, чем любые логические связки.
По сравнению с общим определением формулы формального языка для формул
логики высказываний (далее в этом разделе – просто формул) внесем следующие уточнения:
1) в качестве пропозициональных букв (индивидных переменных) будем рассматривать только простые высказывания x, y, z, ...  B, B={1,0};
2) сложные формулы из простых будем строить только с помощью логических
операций и скобок.
При таком подходе любая формула будет полностью определяться своей таблицей
истинности.
Булевой функцией (или функцией алгебры логики, логической функцией) называется всякая функция n переменных (n = 1, 2, ...) с областью определения Bn , множество значений которой содержится в B.
Любую булеву функцию можно, очевидно, задать таблицей истинности точно такого же вида, как те таблицы, которые сопоставляются формулам. Если таблица истинности, задающая булеву функцию f, совпадает с таблицей истинности некоторой фор-
1. Элементы логики высказываний
13
мулы Ф, то говорят, что формула Ф представляет (или задает, или реализует )
функцию f.
Две формулы Ф и  называются равносильными (что обозначается Ф   ), если они представляют одну и ту же булеву функцию.
Для любых двух формул не представляет никаких трудностей проверить, равносильны ли они: достаточно сравнить их истинностные таблицы.
Булевы функции (от любого числа переменных), принимающие значение 1 независимо от значений аргументов, называются (как и реализующие их формулы) тавтологиями (или тождественно-истинными).
Булевы функции (и реализующие их формулы), всегда принимающие значение 0,
называются противоречиями (или тождественно-ложными).
Убедиться в тождественной истинности или тождественной ложности конкретной
формулы можно по той же таблице истинности (итоговый столбец таблицы будет содержать только соответствующую константу).
Другой способ доказательства равносильности формул или проверки их тождественной истинности или ложности состоит в использовании так называемых основных логических законов (основных равносильностей), обоснование которых можно
провести путем построения соответствующих таблиц истинности. К основным логическим законам обычно относят следующие соотношения:
(ассоциативность дизъюнкции)
(I.1)
x  (y  z)  (x  y)  z
x  y y x
(коммутативность дизъюнкции)
(I.2)
(ассоциативность конъюнкции)
(I.3)
x  (y  z)  (x  y)  z
x y y x
(коммутативность конъюнкции)
(I.4)
(дистрибутивность конъюнкции по отношеx  (y  z)  x  y  x  z
нию к дизъюнкции)
(I.5)
x  (y  z)  (x  y)  (x  z) (дистрибутивность дизъюнкции по отношению к конъюнкции)
(I.6)
(идемпотентность или «законы поглоще- (I.7)
x  x  x
ния»)

(I.8)
x  x  x
(«закон отрицания отрицания»)
(II.1)
x  x
(«законы де Моргана»)
(II.2)
(x  y)  x  y 

(x  y)  x  y 
x y x y
x  y  ( x  y)
x y y x
x 1 x
x00
x 11
x0 x
01
1 0
x x0
x x 1
(II.3)
(III.1)
(III.2)
(«закон контрапозиции»)
(III.3)
(«закон противоречия»)
(«закон исключенного третьего»)
(IV.1)
(IV.2)
(IV.3)
(IV.4)
(IV.5)
(IV.6)
(IV.7)
(IV.8)
14
1. Элементы логики высказываний
Результаты вычислений таблиц истинности обеих частей равносильностей не зависят от того, как получены значения переменных, входящих в эти соотношения, т.е.
от того, являются ли эти переменные независимыми или, в свою очередь, получены в
результате каких-либо вычислений. Поэтому приведенные равносильности остаются
справедливыми при подстановке вместо переменных любых логических функций и,
следовательно, любых формул, представляющих эти функции. Важно лишь соблюдать
следующее правило подстановки формулы вместо переменной: при подстановке
формулы Ф вместо переменной x все вхождения переменной x в исходное соотношение должны быть одновременно заменены формулой Ф.
Во всякой алгебре (в том числе и в булевой алгебре функций) соотношение
Ф1  Ф 2 означает, что формулы Ф1 и Ф 2 описывают одну и ту же булеву функцию f.
Следовательно, если какая-либо формула Ф содержит Ф1 в качестве подформулы, то
замена Ф1 на Ф 2 не изменяет элемента булевой алгебры f, над которым производятся операции в формуле Ф; поэтому Ф', полученная из Ф такой заменой, равносильна
Ф. Это утверждение есть правило замены подформул, которое позволяет по имеющимся равносильностям получать формулы, равносильные данной.
Отметим разницу между правилами подстановки и замены. При подстановке переменная заменяется на формулу; формула может быть любой, но требуется одновременная ее подстановка вместо всех вхождений переменной. При замене подформул
заменяется любая подформула, однако не на любую другую, а только на равносильную
ей. При этом замена всех вхождений исходной подформулы не обязательна.
Пусть имеется равносильность Ф1  Ф 2 , где Ф1 и Ф 2 содержат переменную x.
Если вместо всех вхождений x в Ф1и Ф 2 подставить произвольную формулу Ф, то получатся новые формулы Ф'1и Ф' 2 , причем не обязательно Ф1  Ф'1 и Ф 2  Ф' 2 ; однако между собой новые формулы равносильны: Ф'1  Ф' 2 . Если же в Ф1 какую-либо
подформулу заменить на равносильную ей, то получится новая формула Ф'1, равносильная Ф1 .
Такие преобразования, использующие равносильности формул (запас которых
можно расширять с помощью правила подстановки) и правило замены, называются
тождественными преобразованиями. Тождественные преобразования являются
мощным средством доказательства равносильности формул и тождественной истинности или тождественной ложности формул, как правило, более эффективным, чем их вычисление на наборах значений переменных (т.е. чем составление таблиц истинности).
Отметим, что «тактика» доказательства равносильности может быть разная: либо
преобразуем одну из формул, приводя ее к виду другой, либо преобразуем обе формулы, приводя их к одной и той же формуле.
Примеры
Пример 1.7
Доказать равносильность формул, используя их таблицы истинности:
а) X  Y  X  Y ;
б) X  Y  X  Y  X ;
в) X  ( Y  Z )  ( X  Y )  ( X  Z ).
Решение
а) Сравним таблицы истинности для правой и левой частей:
1. Элементы логики высказываний
15
 (X  Y)
0
0
0
1
4
1
1
0
0
1
1
1
1
0
3
 X  Y
1
0
1
0
2
0
0
1
1
3
1
1
0
0
1
0
0
0
1
5
0
1
0
1
4
1
0
1
0
2
Итоговые столбцы таблиц истинности (выделены фоном) совпадают, значит,
формулы равносильны.
X  Y  X  Y
б)
1
1
0
0
1
1
0
0
0
4
1
0
1
0
2
1
1
0
0
6
0
1
0
0
5
0
1
0
1
3
Итоговый столбец совпадает с первым столбцом, значит, эта формула равносильна Х.
в)
X  (Y  Z)
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
5
1
1
0
0
1
1
0
0
2
1
1
1
0
1
1
1
0
4
1
0
1
0
1
0
1
0
3
X Y  X  Z
1
1
1
1
0
0
0
0
1
Пример 1.8
Исключить возможно большее число скобок:
а) ( ( B  ( ( C )  ( D  A ) ) )  ( B 
б) ( ( ( A  ( B ) )  C )  D ).
1
1
0
0
0
0
0
0
4
1
1
0
0
1
1
0
0
2
1
1
1
0
0
0
0
0
6
1
0
1
0
0
0
0
0
5
1
0
1
0
1
0
1
0
3
B ) );
Ответы
а) (B  C  D  A)  B  B ;
б) A  B  C  D .
Пример 1.9
Восстановить максимальное число скобок, ориентируясь на формальное определение формулы:
а) C  A  C  A  B ;
б) C  A  A  A  B.
Ответы
а) ((C  (( (A  C))  A))  B) ;
б) (((C  A)  A)  (( A)  B)) .
Пример 1.10
Оптимизировать формулы:
а) ( X )  ( ( ( Y )  Z
)  ( X  Y ) );
б) ( X  ( Y  Z ) )  ( ( X  ( Y ) )  Z ) .
1. Элементы логики высказываний
16
Решение
а) Удаляя «лишние» скобки, получим:
( X )  (((Y )  Z)  (X  Y))  X  Y  Z  X  Y .
б) Применяя последовательно основные логические законы (III.2.), (II.1.), (I.5.),
(IV.8.) и (IV.1.) и удаляя «по пути» скобки, получим:
(X  (Y  Z))  ((X  (Y ))  Z)  X  (Y  Z)  (X  Y  Z) 
 X  Y  Z  X  Y  Z  X  Z  (Y  Y )  X  Z  1  X  Z .
Пример 1.11
Доказать равносильность формул, используя логические законы:
а) (A  B)  (A  C)  (B  D)  (C  D)  (A  D)  (B  C) ;
б)
A B  A B .
Решение
а) Преобразуем левую формулу к виду правой формулы, последовательно применив логические законы (I.6.), (I.6.) и (I.2.):
(A  B)  (A  C)  (B  D)  (C  D)  ( A  (B  C))  ( D  (B  C)) 
 (B  C)  (A  D)  (A  D)  (B  C).
б) Применим к левой формуле логические законы (III.1.), (II.2.) и (II.1.):
A B  A B  A  B  A  B .
Пример 1.12
Определить, является ли формула тавтологией, противоречием или ни тем, ни
другим:
а) ( A  B )  ( ( B  C )  ( A  C ) ) ;
б) A
в) A
г) ( (
 ( A  B );
 ( A  B );
A  B )  B  A.
Решение
а) Приведем формулу к наиболее простому виду, последовательно исключая импликации по логическому закону (III.1.) и убирая двойные отрицания по закону (II.1.):
(A  B)  ((B  C)  (A  C))  A  B  ( B  C  A  C) 
 A B  B C  AC  A B  B  C  A C 
 A B  B C  AC  AC .
Полученная формула не является логической константой, следовательно, исходная формула не является ни тавтологией, ни противоречием.
б) Применим логические законы (II.2.), (IV.7.) и (IV.2.):
A  (A  B)  A  A  B  0  B  0 .
Исходная формула – противоречие.
в) Применим (III.1), (I.6), (IV.8) и (IV.1):
A  (A  B)  A  (A  B)  ( A A)  ( A  B)  1  ( A  B)  A  B.
Исходная формула не является ни тавтологией, ни противоречием.
г) Применим (III.1), (II.3), (II.2), (II.1), (I.2), (IV.1), (I.5), (IV.3):
((A  B)  B)  A  ( A  B)  B  A  A  B  B  A  A  B  B  A 
1. Элементы логики высказываний
17
 A  B  B  A  (A  B )  (1  B )  A  (A  1)  B  A  1  B  A  B  A.
Исходная формула не является ни тавтологией, ни противоречием.
Задачи
1.9. Доказать равносильность формул, используя таблицы истинности:
а) ( A  C )  ( B  B )  A  C ;
б)
A  B  A  B.
1.10. Доказать равносильность формул задачи 1.9, используя основные логические
законы.
1.11. Доказать равносильность формул (некоторые из них часто тоже относят к
основным логическим законам):
а) x  x  y  x
(поглощение);
(поглощение);
б) x  (x  y)  x
(склеивание);
в) x  y  x  y  x
x  z y z x  y x  z y z
д) x  x  y  x  y
е) x  F(x , x ,..., x )  x  F( 0, x ,..., x ) ,
1
1
2
n
1
2
n
г)
(обобщенное склеивание);
где F – произвольная
формула.
1.12. Доказать, что:
а) X  Y  Y  X ;
б) X  (Y  Z)  X
в)
Y  Z ;
X  (X  Y  Z)  (X  Y  Z )  (X  Y  Z)  (X  Y  Z ) .
1.13. Построить формулу U такую, чтобы данная формула была тождественно
истинной:
(((U  Q)  P )  ((P  Q )  U)) ;
б) (((R  (Q  P))  U)  (U  (P  Q)  R)).
а)
1.14. Построить формулу от трех переменных, которая истинна в том и только в
том случае, когда ровно две переменные ложны.
1.15. Построить формулу от трех переменных, которая принимает такое же значение, как и большинство (меньшинство) переменных.
1.3. НОРМАЛЬНЫЕ ФОРМЫ ФОРМУЛ ЛОГИКИ ВЫСКАЗЫВАНИЙ
Сводка теории
Элементарной конъюнкцией называется конъюнкция переменных или их отрицаний,
в которой каждая переменная или ее отрицание встречаются не более одного раза.
Всякая дизъюнкция элементарных конъюнкций называется дизъюнктивной
нормальной формой (ДНФ).
Следует отметить, что ДНФ функции (или формулы) может быть не единственной.
Алгоритм приведения к ДНФ может быть описан с привлечением приведенных
ранее равносильностей или основных логических законов (см. разд. 1.2). Сначала с по-
1. Элементы логики высказываний
18
мощью закона (II.1) и законов де Моргана (II.2), (II.3) все отрицания «спускаются» до
переменных. Затем раскрываются скобки, с помощью логических законов (I.7), (I.8),
(IV.7) и (IV.8) удаляются лишние конъюнкции и повторения переменных в конъюнкциях, а с помощью логических законов (IV.1.) – (IV.6) удаляются константы.
Элементарная конъюнкция называется правильной, если в нее каждая переменная
входит не более одного раза (включая ее вхождения под знаком отрицания).
Правильная элементарная конъюнкция называется полной относительно переменных x , ..., x , если каждая из этих переменных входит в нее один и только один
1
n
раз (может быть, под знаком отрицания).
Совершенной дизъюнктивной нормальной формой (СДНФ) относительно переменных x , ..., x называется ДНФ, в которой нет одинаковых элементарных конъ1
n
юнкций и все элементарные конъюнкции правильны и полны относительно переменных x , ..., x .
1
n
Поскольку из вида СДНФ бывают ясны ее переменные, будем говорить просто
СДНФ, опуская слова: «относительно переменных x , ..., x ».
1
n
Всякую ДНФ можно привести к СДНФ расщеплением конъюнкций, которые содержат не все переменные, например:
(x  y)  ( x  y  z )  (x  y  z)  (x  y  z )  ( x  y  z ) .
Если из формулы F с помощью некоторых равносильностей можно получить
формулу Ф, то F можно получить из Ф, используя те же равносильности. Это соображение позволяет доказать следующую теорему.
Теорема 1.1
Для любых двух равносильных формул F и Ф существует тождественное преобразование F в Ф с помощью соотношений (I.1.) – (IV.8).
Замечание
Важность этой теоремы в том, что соотношений (I.1.) – (IV.8) оказывается достаточно для любого тождественного преобразования в булевой алгебре.
Аналогично ДНФ определяется конъюнктивная нормальная форма (КНФ) как
конъюнкция элементарных дизъюнкций.
Переход от ДНФ к КНФ можно осуществить следующим образом. Пусть ДНФ F
имеет вид: F  k  ... k , где k , ..., k – элементарные конъюнкции. Формула
1
m
1
m
k1 ... km
Тогда
приводится к ДНФ
k'1 ... k'm .
F = ( k  ...  k )  k'  ...  k'  k'  ...  k'
. По законам
1
m
1
m
1
m
Де Моргана отрицания элементарных конъюнкций преобразуются в элементарные
дизъюнкции, что и даст КНФ.
Аналогом СДНФ является совершенная конъюнктивная нормальная форма
(СКНФ), каждая элементарная дизъюнкция которой содержит все переменные. Построение СКНФ из КНФ проводится аналогично тому, как из ДНФ получается СДНФ.
Таким образом, любая формула алгебры логики высказываний может быть записана в СДНФ (кроме тождественно-ложной) или в СКНФ (кроме тождественноистинной).
1. Элементы логики высказываний
19
Примеры
Пример 1.13
Убедиться, является ли данная формула ДНФ, КНФ, СДНФ или СКНФ:
а) ( X  Y  Z )  ( X  W )  Z ;
б) ( X  Y  Z )  ( X  Y  Z )  ( X  Y  Z );
в) ( X  Y )  ( X  Y );
г) X  Y  Z ;
д) ( X  Y  Z )  ( X  Y  Z )  ( X  Y  Z ) ;
е) ( X  Y )  ( X  Y )  ( X  Y )  ( X  Y ) .
Решение
а) Данная формула является КНФ (конъюнкция элементарных дизъюнкций), но
не СКНФ, так как элементарные дизъюнкции не являются полными.
б) Формула не является ДНФ, так как последняя конъюнкция не является элементарной. Но формулу можно с помощью закона Де Моргана преобразовать к равносильному виду
( X  Y  Z )  ( X  Y  Z )  X  Y  Z,
который является ДНФ, но не СДНФ (не все элементарные конъюнкции полны).
в) Формула не является ни ДНФ, ни КНФ, поскольку содержит импликацию.
г) СДНФ, состоящая из одной элементарной полной конъюнкции; либо КНФ, но
не СКНФ, так как состоит из трех элементарных неполных дизъюнкций.
д) СКНФ.
е) СДНФ.
Пример 1.14
Зная таблицу истинности формулы F, записать ее СДНФ и СКНФ:
А
1
1
1
1
0
0
0
0
В
1
1
0
0
1
1
0
0
С
1
0
1
0
1
0
1
0
F
0
1
0
1
0
0
0
0
Решение
1) Получение СДНФ.
Выбираем те наборы значений А, В, С, при которых F = 1, и строим по ним соответствующие элементарные конъюнкции:
1 1 0
А В  С ,
1 0 0
А В С .
Тогда дизъюнкция этих элементарных конъюнкций и будет СДНФ формулы F:
F  (А  В  С )  (A  B  C ) .
2) Получение СКНФ.
1. Элементы логики высказываний
20
Выбираем те наборы значений А, В, С, при которых F = 0, и строим по ним соответствующие элементарные дизъюнкции:
1 1 1
1 0 1
0 1 1
0 1 0
А В С ,
А В С ,
А В С ,
А B C ,
А В С ,
А В С .
0 0 1
0 0 0
Тогда конъюнкция этих элементарных дизъюнкций и будет СКНФ формулы F:
F  ( A  B  C )  ( A  B  C )  (A  B  C )  (A  B  C) 
 (A  B  C )  (А  В  С) .
Пример 1.15
Преобразовать формулу F(a, b. c)= a
 c к СДНФ и СКНФ.
Решение
1). Получим вначале СДНФ:
a  c  ( a  c )  ( b  b )  ( a  c  b )  ( a  c  b ).
2). Для получения СКНФ преобразуем каждый конъюнктивный член:
a  a  (b  b)  (a  b)  (a  b) 
;
 ((a  b  c)  (a  b  c))  ((a  b  c)  (a  b  c))
c  c  (a  a)  (c  a)  (c  a) 
.
 ((c  a  b)  (c  a  b))  ((c  a  b)  (c  a  b))
Тогда имеем:
a  c  ( a  b  c )  ( a  b  c ) ( a  b  c )  ( a  b  c ) 
( c  a  b )  ( c  a  b )  ( c  a  b )  ( c  a  b ) 
 ( a  b  c )  ( a  b  c ) ( a  b  c )  ( a  b  c ) 
 ( c  a  b )  ( c  a  b ).
Пример 1.16
Преобразовать формулы к ДНФ:
а) ( X  Y )  ( Z  T ) ;
б) ( X  Z )  ( X  Y ) ;
X  Y )  ( Y  ( Y  Y ) );
г) ( ( A  B )  ( C  A ) )  ( B  C ) .
в) (
Решение
а) ( X 
Y)(Z T) 
 (( X  Y )  ( X  Y ))  ( Z  T ) 
 (( X  Y )  ( X  Y ))  ( Z  T ) 
 ( X  Y  Z  T )  ( X  Y  Z  T ) – СДНФ.
1. Элементы логики высказываний
б)
21
( X  Z )  (X  Y)  ( X  Z )  ( X  Y) 
 ( X  Z  X )  ( X  Z  Y)  ( Z  X )  ( X  Z  Y)
- ДНФ.
X  Y )  ( Y  ( Y  Y ) ) ( X  Y )  ( Y  Y  Y ) 
 X  Y  ( Y  Y  Y )  X  Y – ДНФ .
г) ( ( A  B )  ( C  A ) )  ( B  C ) 
 (( A  B )  (C  A))  ( B  C ) 
 ( A  B  C  A)  ( B  C ) 
в) (




( A  B  C  A)  B  C 
(( A  B )  C  A)  B  C 
( A  C  A)  ( B  C  A)  B  C 
( B  C  A )  B  C – ДНФ.
Пример 1.17
Построить цепь для электрифицированной игры с монетами. По установленному
сигналу каждый из двух игроков замыкает или размыкает переключатель, находящийся
под его управлением. Если оба игрока делают одно и то же, то выигрывает первый игрок (А); если противоположное, то выигрывает второй игрок (В). Построить цепь так,
чтобы загоралась лампочка, если выигрывает игрок А. Записать ДНФ соответствующей
формулы.
Решение
Обозначим переменными А и В действия игроков, приписывая переменной
значение 1, если игрок замыкает свой переключатель, и 0, если размыкает. Тогда таблица истинности для искомой формулы будет иметь следующий вид:
А
В
Желаемое значение
формулы
0
1
0
0
0
1
1
0
0
1
1
1
По описанной ранее технологии с помощью строк, в которых формула принимает
значение 1, записываем ДНФ:
F  (А  В)  ( A  B ) .
Для построения соответствующей электрической цепи будем использовать прямые (для описания значений А и В) и обратные (для описания значений A и B )
двухпозиционные переключатели. Значение 1 переменной интерпретируется как состояние переключателя «ток проходит», значение 0 – «ток не проходит». Последовательное соединение переключателей будет имитировать конъюнкцию соответствующих
1. Элементы логики высказываний
22
переменных (ток по этому участку цепи пойдет только в случае, когда обе переменные
истинны одновременно). Параллельное соединение будет имитировать дизъюнкцию.
А
В
B
A
Рис. 1.7
Тогда условиям задачи будет удовлетворять, например, следующая электрическая
цепь (рис. 1.7).
Задачи
1.16. Привести к ДНФ:
а) (X  Y )  (Y  (Y  Y)) ;
б)
(X 1  ((X 2  X 3 )  X 1 ))  X 2 .
1.17. Привести к СДНФ формулы из задачи 1.16.
1.18. Доказать тождественную истинность формул:
а) (X  Y)  (Y  X ) ;
б) (Y  X )  (X  Y) ;
в) (X  (Y  Z))  (X  Y  Z) ;
г) ((X  Y)  Z)  (X  (Y  Z)) ;
д) (X Y)  (Y  Z)  (X  Z).
1.19. Доказать тождественную ложность формул:
а) X  (X  Y)  (X  Y ) ;
б)
X  Y  (X  Y  Z)  Z .
1.20. Привести формулы к ДНФ (с помощью тождественных преобразований) и,
если можно, упростить:
а) (X Y)  (Y  X) ;
X  Z Y  Z ;
(X  Y  X  Z)  (X  X )  Y  Z ;
г) ( X  Z)  (Y  (U  X)) ;
д) ((X  (Y  Z  X))  (Y  X  Z)) ;
 X n )... )) ;
е) (X  (X  ... (X
1
2
n-1
ж) X  X  ...  X  Y  Y  ...  Y .
1
2
n
1
2
n
б)
в)
1.21. Доказать тождественную истинность формул:
1. Элементы логики высказываний
23
X  (Y  X) ;
(X  (Y  Z))  ((X Y)  (X  Z)) ;
в) (X  Y)  (X  Y )  X ;
г) X  (X ... (X
 (X n  Y  Y ))... ) .
1
2
n-1
а)
б)
1.22. Доказать тождественную ложность формул:
а) X  X  Y  Y ;
б) ( (... ( (X  X  Y )  Y ) ... Y
)  Yn )  (Z  Z ) ;
1
2
n-1
в) (X  ...  X )  (X  ...  X  Y )  Y .
1
n
1
n
1.23. Двумя способами: с помощью истинностных таблиц и с помощью тождественных преобразований привести к СДНФ формулы из задачи 1.20.
1.24. Привести к СДНФ, т.е. найти СДНФ, равносильную данной формуле:
(( A  B )  ((B  C)  (A  C))) ;
б) (((A  B)  A)  (A  (B  A))) ;
в) ( ((A  B)  A)  ((A  B)  B )).
а)
1.25. Привести к СКНФ, т.е. найти СКНФ, равносильную данной формуле:
а) ((C  A)  ( (B  C)  A)) ;
б) ( ((A  B)  A)  (A  (B  C))) ;
в) ( (A  (B  C))  ((A  B)  C)) .
1.26. Пусть формула U записана в СКНФ. Строим формулу В следующим образом:
1) выписываем конъюнкцию дизъюнктивных членов, не входящих в U;
2) меняем  на ,  на ,
Аi на Ai , Ai на Аi .
Доказать, что В – СДНФ формулы U.
1.27. По СКНФ формулы U построить:
а) СКНФ формулы U ;
б) СДНФ формулы U .
1.28. По СДНФ формулы U и СДНФ формулы В построить:
а) СКНФ и СДНФ формулы (U  B) ;
б) СКНФ и СДНФ формулы
в) СКНФ и СДНФ формулы
(U  B) ;
(U  B) .
1.4. ПРИМЕНЕНИЕ ФОРМУЛ ЛОГИКИ ВЫСКАЗЫВАНИЙ В ТЕОРИИ
ОДНОТАКТНЫХ ДИСКРЕТНЫХ АВТОМАТОВ
Сводка теории
Автомат предназначен участвовать в некотором процессе. В него поступают сигналы: информация о ситуациях, существующих в данный момент времени. В зависимости от поступивших сигналов автомат должен выполнять то или иное предусмотренное
действие. Принято говорить, что сигналы поступают на вход автомата, а действия
осуществляются на его выходе.
1. Элементы логики высказываний
24
Желаемое действие автомата в общем случае может зависеть как от сигналов, поступающих в данный момент времени, так и от сигналов, поступивших ранее.
В самой общей форме автомат должен решать следующую задачу. Некоторые
действия на выходе автомата в момент времени t должны быть функцией от сигналов,
поступивших на вход автомата за все время до этого момента. Следовательно, выявление, запись и анализ функциональной зависимости вход/выход – первый и наиболее
важный этап при создании автомата. Именно на этом этапе может быть с успехом использован аппарат логики высказываний.
х1
А1
х2
А2
.......
хn
......
Аm
Рис. 1.8
Действие автомата условно можно изобразить схемой (рис. 1.8), где х 1 , ... , х n –
входы; А1 , ... , Аm – выходы.
При построении дискретного автомата принимают ряд упрощающих допущений:
1) действие автомата должно состоять в исполнении одного акта с двумя возможными исходами (например, включить или выключить электродвигатель);
2) в каждый момент времени на вход автомата поступает некоторое конечное число ( n ) сигналов, каждый из которых может принимать одно из двух значений (например, для автомата стрелки сигналы могут принимать значения «Поезд прошел семафор»
или «Поезд не прошел семафор»);
3) сигналы поступают на вход не непрерывно, а в некоторые дискретные моменты
времени, обозначаемые целыми числами 0 , 1 , 2 , ..., n ... (например, через каждую
секунду).
С учетом перечисленных допущений зависимость вход/выход для абстрактного
автомата может быть описана следующим образом:
Z ( t )  F ( x1 ( 0 ), x1 ( 1 ),..., x1 ( t ), x 2 ( 0 ), ,..., x 2 ( t ), x n ( 0 ),..., x n ( t )) .
(1.1)
Здесь Z ( t ) – действие на выходе автомата; xn ( 0 ), x1 ( 1 ),..., xn ( t ) – сигналы на
n-м входе автомата в моменты времени 0 ,1,...,t .
Как следует из равенства (1.1), задача выявления и описания зависимости
вход/выход для автомата сводится к получению развернутого описания функционала
F и состоит в формулировке тех логических условий, при которых действие Z ( t ) на
выходе автомата выполняется, и при которых Z ( t ) не выполняется. Именно эти условия формулируются на языке булевых функций с применением булевых операций и
формул. По этим формулам уже нетрудно составить из некоторых элементарных узлов
(например, из цифровых микросхем) схему, выполняющую желаемое действие.
Будем рассматривать частный, но очень важный случай, когда действие автомата
на выходе зависит от сигналов, поступающих на вход в данный момент времени (а не
во все предыдущие). Такие автоматы называются однотактными или автоматами
без памяти. В этом частном случае выражение для действия автомата упрощается и
принимает вид:
1. Элементы логики высказываний
25
Z  F ( x1 , x2 ,..., xn ) .
Для упрощенного наглядного изображения автомата используют функциональные, релейно-контактные и контактные схемы. Смысл этих названий будет ясен из
их графических образов.
Элементарными автоматами, «строительными блоками» для более сложных, являются автоматы, реализующие логические функции (связки):  ,  ,  (как следует
а)
б)
«или»
а
b
а
1
x = a b
в)
«и»
b

x = a b
а
«не»
1
o
х=
а
Рис. 1.9
из теории, они образуют полную систему, т.е. остальные логические функции могут
быть выражены через эти три). Они называются соответственно логическими элементами
«или», «и», «не» и изображаются следуО+
ющими функциональными схемами (рис.
1.9).
Заметим, что для реализации от- a
Ра
b
рицания требуется инвертор, но микроА
схем-инверторов в чистом виде не быa
вает. Они строятся либо на базе элеPb
ментов логического умножения, либо b
 R 
на базе элементов логического сложеx = a b
ния (т.е. элементов, реализующих
B

дизъюнкцию, как показано на рис. 1.9).
Земля
Отметим также, что в схемах, реализу(отрицательный потенциал)
ющих сложные логические функции
(формулы), могут применяться функРис. 1.10
циональные элементы с несколькими
входами.
Логические элементы – это простейшие автоматы, которые могут работать на различных физических принципах (гидравлических, пневматических, электрических). В
последнем случае используются ре+о
лейно-контактные схемы на электромагнитных реле.
Ра
Для конъюнкции эта схема вы- a

b
глядит следующим образом (рис. 1.10).
А
a
Нажатие кнопки А сообщает

логическому элементу о том, что
высказывание: А = 1, в противном b
Pb
случае: А = 0. Если нажать кнопку
x = a b

В
 R
А, то по катушке реле Ра потечет
ток и контакты прямого переклю
Земля
чателя а замкнутся. То же произойдет, если нажать на (отрицаРис. 1.11
тельный потенциал) кнопку В.
Сигнал 1 на выходе элемента зажжет лампочку х. Понятно, что лампочка загорится только в том случае, когда одновременно нажаты кнопки А и В, т.е. конъюнкция ре-
1. Элементы логики высказываний
26
ализуется именно последовательным соединением переключателей. Сопротивление R
требуется для снятия остаточного напряжения.
Для дизъюнкции релейно-контактная схема имеет вид (рис. 1.11).
Принцип действия – тот же,
о+
только используется параллельное
соединение пере ключателей, т.е.
a
лампочка загорится, если нажата
а
хотя бы одна из кнопок А или В.
Ра
а
x= a
Наконец, для отрицания реА
лейно-контактная
схема реализуR
ется с применением обратного
переключателя, т.е. контакты пеЗемля
реключателя замкнутся при А = 0
Рис. 1.12
и наоборот (рис. 1.12).
Используется и другое графическое изображение релейно-контактных схем. Логической переменной х ставится
в соответствие проводник, по которому ток идет или нет в зависимости от того: х  1
или х  0 .
Тогда отрицание реализуется при
С
помощи устройства, называемого реле с
1
размыкающим (отрицательным) конВ
тактом (рис. 1.13).
Если по катушке А ток не идет
х
А
( х  0 ), то пружина оттягивает контакт
В вверх и цепь замыкается. В результате,
Рис. 1.13
на выходе С будет ток. Если же x  1 и
по обмотке А идет ток, то контакт В притягивается вниз и на выходе С нет тока. В результате, реализуется функция х .
Дизъюнкция (рис. 1.14, а) и конъюнкция (рис. 1.14, б) реализуются при помощи
реле с замыкающим (положительным) контактом.
а)
б)
х
1

 
 
y

x y
 
x y
х
y
Рис. 1.14
Принято считать, что ток распространяется мгновенно, а на срабатывание реле
(замыкание контакта) уходит один такт. Это значит, что на схеме для конъюнкции сигнал y поступит на один такт позже сигнала х ; сигнал на выходе возникает одновременно с сигналом у .
В связи с этим необходимо учитывать время, которое уходит на обработку сигналов в схеме, и иногда менять его, не меняя логической функции, реализуемой схемой.
Это достигается при помощи элементов задержки, роль которых играют реле с замы-
1. Элементы логики высказываний
27
кающим контактом (типа конъюнкции), на контакт которых подается сигнал
у  1 ). При этом происходит задержка на один такт.
1
(т.е.
Если после подачи на входы релейно-контактной схемы сигналов х1 , х2 ,..., хп
через  тактов независимо от сигналов на входах в другие моменты времени на выходе
возникает сигнал f ( x1 , x2 ,..., xn ) , то говорят, что схема реализует функцию
с задержкой  . Таким образом, в данной интерпретации возникают многотактные схемы. При этом предполагается, что если в два последовательных
момента времени подаются два набора сигналов, то через  тактов после каждого из
них на выходе появляется сигнал, отвечающий значению f на соответствующем
наборе. Иначе говоря, последовательные наборы сигналов обрабатываются независимо.
Контактные схемы, в которых соединяются лишь контакты (нет соединений обмоток реле с контактами) представляют собой графы: ребрам графа приписаны символы логических переменных или их отрицаний; вершины означают соединения контактов, соответствующих отрезкам (двухполюсникам), которые в этих вершинах сходятся.
Если по одному изконтактов, идущему в вершину, идет ток, то он распространяется по
всем замкнутым в данный момент контактам, имеющим данную вершину в качестве
полюса. В графе выделяются две вершины: вход и выход. На вход всегда подается ток.
На другие полюсы ток извне никогда не поступает.
Если на обмотки некоторых катушек подан ток, то через один такт замкнутся соответствующие им замыкающие контакты и разомкнутся размыкающие; на контактах
остальных катушек возникнет противоположная картина. Если при этом на выход схемы поступит ток, то говорят, что при данных значениях переменных (состояниях обмоток катушек) в схеме есть проводимость; в противном случае – что проводимости нет.
Итак, контактная схема работает в один такт.
Логическую функцию (и соответствующую формулу), реализуемую схемой, называют ее функцией проводимости. Такая функция равна 1 при тех значениях аргументов, при которых в схеме есть проводимость, и равна 0 , если проводимости нет.
Для основных логических операций контактные схемы выглядят следующим образом (рис. 1.15).
f ( x1 , x2 ,..., xn )
а)
x y:
Вход
б)
х
в)
x y:
у
Выход
х
x:
x
у
Рис. 1.15
Комбинируя те или иные схемы, моделирующие основные логические элементы,
в соответствии со структурой формулы, предварительно записанной через дизъюнкцию, конъюнкцию и отрицание (например, в виде ДНФ или КНФ), получаем функциональные, релейно-контактные или контактные схемы для формул.
При синтезе (создании) дискретных однотактных автоматов обычно действуют по
следующему алгоритму:
1) описать автомат словесно;
2) определить число входов и выходов автомата;
3) составить таблицу желаемой работы автомата (типа таблицы истинности);
4) используя полученную таблицу выписать структурную формулу (как правило,
в виде ДНФ или КНФ);
5) вычертить функциональную или иную схему.
1. Элементы логики высказываний
28
Примеры
Пример 1.18
Начертить релейно-контактные схемы и выписать соответствующие структурные
формулы для следующих функциональных элементов:
а)
б)

а
b
c
o
а
b
c
x
o
1
x
Рис. 1.16
Решение
а) Для получения структурной формулы есть два пути «прочтения» схемы: двигаясь по схеме слева направо, строим формулу как бы «изнутри» (от переменных и внутренних логических связок к внешним логическим связкам), двигаясь же по схеме справа налево, строим формулу «снаружи» (от внешних логических связок к внутренним).
В обоих случаях приходим к формуле: x  a  b  c .
Для построения релейно-контактной схемы преобразуем формулу в равносильную
ей (иначе инвертировать конъюнкцию на схеме не удастся):
x  a bc  abc .
Теперь строим схему (рис. 1.17).
+о
а
Ра
а
б
Pb
с
Pc
б
с
x  a bc
R
Рис. 1.17
б) Структурная формула x  a  b  с содержит только инверсию переменной,
поэтому можем сразу построить релейно-контактную схему (рис. 1.18).
+o
а
Pa
а
b
Pb
c
Pc
b
c
x  a bс
R
Рис. 1.18
1. Элементы логики высказываний
29
Пример 1.19
Для каждой из приведенных функциональных схем (рис. 1.19) выписать соответствующую структурную формулу.
а)
б)

а
b
1o
1

а
b
x
1o
1
c
c
1
x
o
Рис. 1.19
Решение
а)
б)
x  a  ( b  c );
x  a  b  c  b.
Пример 1.20
Используя структурные формулы начертить функциональные схемы:
а)
в)
x  a bс;
x  a b c;
x  a b c;
г) x  a  b  a  c .
б)
Решение
а)
б)
a
b
c

1o
a
b
1
x
1
1
1o
c
x
г)
в)
a
b
c
1
1
o
1o
1
1
a
x
o
1

b
c
x
1o
Рис. 1.20
Заметим, что инвертирование выходного сигнала конъюнкции и дизъюнкции
можно изобразить по-другому (рис. 1.21), что упрощает схемы (рис. 1.20).
а)
а
b
c
б)
1
o
1
x
а
b
c
в)
o
1o
а
1
x
b
1
o

o
1
x
c
Рис. 1.21
При построении схемы имеет смысл по возможности оптимизировать ее структуру в первую очередь по числу используемых блоков, а затем по числу каналов связей и
их разветвлений (элементы дороже линий связи).
1. Элементы логики высказываний
30
Пример 1.21
Найти функции проводимости для следующих контактных схем (рис. 1.22).
а)
б)
y
x
x
t
в)
y
x
t
t
x
t
y
x
z
x
y
z
t
x
u
x
y
Рис. 1.22
Решение
а) ( x  y  t )  (t  y  t )  ( x  z )  (t  z )  ( y  x  t ) 
 ( y  x  y  z )  ( y  t )  ( x  z )  (t  z )  ( y  x  t ) .
б) ( x  y  x )  ( x  t  x )  ( x  y  t  y  x )  ( x  t  y  t  x ) 
 ( x  y  x)  ( x  t  x)  ( x  t  y  t  x)  ( x  y  t  y  x)  0 .
в) ( x  y )  ( t  u )  ( x  z  u )  ( t  z  y ) .
Пример 1.22
Реализовать данные функции в виде контактных схем:
( y  z ) x  y;
б) z  y  y  x .
а)
Решение
а) Представим функцию в виде ДНФ:
( y  z )  x  y  y  z  ( x  y )  ( y  z ) ( x  y ).
x
y
Каждой элементарной конъюнкции, входящей в ДНФ, поставим в соответствие схему из последовательно соединенных контактов, а затем отождествим соответственно все входы и все выходы
Рис. 1.23
полученных цепочек (рис. 1.23).
б) По тому же алгоритму получим ДНФ:
y
z
z  y  y  x  ( z  y  y  x )( z  y  y  x ) 
 ( z  y  ( y  x ))  (( z  y )  y  x )  ( z  y )  ( y  x ) 
 ( z  y ) ( z  x ) ( y  x ),
и соответствующую контактную схему (рис. 1.24).
y
z
Пример 1.23
Небольшая электростанция, на которой установлены
x
z
два генератора х и у, обеспечивает электроэнергией три цеха
а, b, c. Мощность генератора х в два раза больше мощности
z
y
генератора у. Если в энергии нуждается один из трех цехов,
то достаточно включить генератор у, если в энергии нуждаРис. 1.24
ется два цеха – то х. Снабжение по заявке трех цехов одновременно обеспечивается совместной работой генераторов х и у.
Построить функциональную схему для автомата управления подачей электроэнергии.
1. Элементы логики высказываний
31
Решение
1) Словесное описание системы приведено в условиях задачи.
2) Число входов автомата определяется количеством цехов как источников исходной информации о потребности в электроэнергии (а, b, c), число выходов – количеством генераторов (х, у).
3) Таблица работы автомата (0 – цех не нуждается в электроэнергии или генератор не включен, 1 – в противном случае):
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
x
0
0
0
1
0
1
1
1
y
0
1
1
0
1
0
0
1
4) По полученным таблицам истинности составим ДНФ для выходных сигналов:
x  ( a  b  c )  ( a  b  c )  ( a  b  c )  ( a  b  c );
y  (a  b  c ) (a  b  c ) ( a  b  c ) ( a  b  c ).
Для оптимизации функциональной схемы воспользуемся основными логическими
законами и упростим полученную формулу для х, добавляя еще два дизъюнктивных
члена (они выделены):
x  (a  b  c ) (a  b  c ) (a  b  c ) (a  b  c )
 (( a  b  c )  ( a  b  c ))  ( b  c )  ( a  c )  ( a  b ) .
а

b

c

1
x

1o
1o
1

y

1o

Рис. 1.25
5) Начертим функциональную схему автомата (рис. 1.25).
1. Элементы логики высказываний
32
Задачи
1.29. Построить функциональные схемы, реализующие следующие формулы:
( х  ( у  z ) t ) x ;
б) ( x  ( y  z  y ))  z  x .
а)
1.30. Построить релейно-контактные схемы, реализующие следующие функции:
а)
б)
z  x  y  x;
y  x  z  y.
1.31. По данной релейно-контактной схеме (рис. 1.26) построить соответствующие функциональную и контактную схемы.
О+
a



Pa
b
Pb
c
Pc
a c

a
c
b




R
Рис. 1.26
1.32. Сконструировать автомат для подсчета голосов при тайном голосовании.
Голосуют три человека. Автомат выдает сигнал «избран», если число голосов «за» не
менее двух, причем один из голосов – голос председателя.
Как изменится автомат, если:
а) убрать последнее условие?
б) допустить для голосующих решение «воздержался»?
1. Элементы логики высказываний
33
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Дайте определение высказывания, простого высказывания.
2. Дайте определения основных логических операций: отрицания, конъюнкции,
дизъюнкции, альтернативной дизъюнкции, импликации, эквивалентности; приведите
их таблицы истинности их технические аналоги (электрические цепи).
3. Какая существует связь между формулами логики высказываний и булевыми
функциями?
4. Что такое равносильные формулы? Как можно доказать равносильность двух
формул?
5. Могут ли равносильные формулы содержать несовпадающие наборы простых
высказываний? Приведите пример.
6. Что такое фиктивная переменная? Приведите пример булевой функции с фиктивными переменными.
7. Восстановите доказательства основных логических законов.
8. В чем разница между подстановкой формулы вместо переменной и заменой
подформул?
9. Что называют тождественными преобразованиями формул?
10. Дайте определение тавтологии и противоречия. Что такое логически истинное
и логически ложное высказывание?
11. Какие свойства тавтологий Вы можете привести?
12. Приведите определения и примеры полной системы логических функций; базисной системы логических функций.
13. Дайте определения ДНФ, КНФ, СДНФ, СКНФ.
14. Что такое дискретный конечный автомат?
15. В чем главное отличие автомата с памятью от автомата без памяти?
34
1. Элементы логики высказываний
ВВЕДЕНИЕ В МАТЕМАТИЧЕСКУЮ ЛОГИКУ ........................................................................................ 1
ВВЕДЕНИЕ .......................................................................................................................................................... 3
1. ЭЛЕМЕНТЫ ЛОГИКИ ВЫСКАЗЫВАНИЙ............................................................................................. 4
1.1. ВЫСКАЗЫВАНИЯ И ОПЕРАЦИИ НАД НИМИ, ФОРМУЛЫ..................................................................................................... 4
1.2. УПРОЩЕНИЕ ФОРМУЛ. ТОЖДЕСТВЕННЫЕ ПРЕОБРАЗОВАНИЯ. ДОКАЗАТЕЛЬСТВО РАВНОСИЛЬНОСТИ,
ТОЖДЕСТВЕННОЙ ИСТИННОСТИ И ТОЖДЕСТВЕННОЙ ЛОЖНОСТИ ФОРМУЛ И БУЛЕВЫХ ФУНКЦИЙ................... 12
1.3. НОРМАЛЬНЫЕ ФОРМЫ ФОРМУЛ ЛОГИКИ ВЫСКАЗЫВАНИЙ.......................................................................................... 17
1.4. ПРИМЕНЕНИЕ ФОРМУЛ ЛОГИКИ ВЫСКАЗЫВАНИЙ В ТЕОРИИ ОДНОТАКТНЫХ ДИСКРЕТНЫХ АВТОМАТОВ 23
КОНТРОЛЬНЫЕ ВОПРОСЫ ................................................................................................................................................................ 33
Download