Математическая логика и теория алгоритмов. Учебное пособие-1
.pdfМинистерство науки и высшего образования Российской Федерации Сибирский федеральный университет
Г. Е. Михальченко
МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ
Учебное пособие
Красноярск
СФУ
2018
УДК 510.6(07) ББК 22.122я73 М693
Рецензенты:
А. К. Шлепкин, доктор физико-математических наук, профессор кафедры «Высшая математика и компьютерное моделирование» КрасГАУ;
Н. Г. Сучкова, кандидат физико-математических наук, доцент кафедры «Прикладная математика и компьютерная безопасность» ИКИТ СФУ
Михальченко, Г. Е.
М693 Математическая логика и теория алгоритмов : учеб. пособие / Г. Е. Михальченко. – Красноярск : Сиб. федер. ун-т, 2018. – 74 с.
ISBN 978-5-7638-3932-6
Кратко изложен теоретический материал по дисциплине «Математическая логика и теория алгоритмов», приведены примеры решения типовых задач, представлены задачи различной сложности для решения на практических занятиях и самостоятельной работы.
Предназначено для студентов направления 09.03.02 «Информационные системы и технологии», а также других направлений (09.03.04 «Программная инженерия», 27.03.03 «Системный анализ и управление», 27.03.04 «Управление в технических системах»).
Электронный вариант издания см.: |
УДК 510.6(07) |
http://catalog.sfu-kras.ru |
ББК 22.122я73 |
ISBN 978-5-7638-3932-6 |
© Сибирский федеральный |
|
университет, 2018 |
Алгебра высказываний |
|
ОГЛАВЛЕНИЕ |
|
Введение.......................................................................................................... |
4 |
Глава 1. Алгебра высказываний................................................................ |
5 |
1.1. Высказывания и операции с ними.......................................................... |
5 |
1.2. Формулы алгебры высказываний........................................................... |
7 |
1.3. Отношения логического следования и равносильности...................... |
9 |
1.4. Свойства операций с высказываниями.................................................. |
12 |
1.5. Нормальные формы формул алгебры высказываний........................... |
13 |
Задачи к главе 1. Алгебра высказываний ..................................................... |
19 |
Глава 2. Булевы функции............................................................................ |
23 |
2.1. Определение и свойства булевых функций........................................... |
23 |
2.2. Нормальные формы булевых функций.................................................. |
25 |
2.3. Классы функций, сохраняющих постоянные (P0, P1)........................... |
26 |
2.4. Класс самодвойственных функций (S)................................................... |
26 |
2.5. Алгебра и полином Жегалкина............................................................... |
28 |
2.6. Класс линейных функций (L).................................................................. |
30 |
2.7. Класс монотонных функций (M) ............................................................ |
32 |
2.8. Полнота систем булевых функций......................................................... |
34 |
2.9. Булевы функции и релейно-контактные схемы.................................... |
38 |
2.10. Релейно-контактные схемы в ЭВМ...................................................... |
41 |
Задачи к главе 2. Булевы функции................................................................ |
44 |
Глава 3. Логика предикатов ....................................................................... |
48 |
3.1. Понятие предиката. Множество истинности предиката. |
|
Виды предикатов............................................................................................. |
48 |
3.2. Операции над предикатами и их свойства ............................................ |
49 |
3.3. Формулы логики предикатов и их виды................................................ |
52 |
3.4. Равносильность формул логики предикатов......................................... |
53 |
3.5. Нормальные формы формул логики предикатов.................................. |
55 |
3.6. Логическое следование формул. Правило резолюций......................... |
57 |
Задачи к главе 3. Логика предикатов............................................................ |
58 |
Глава 4. Элементы теории алгоритмов.................................................... |
62 |
4.1. Машины Тьюринга................................................................................... |
62 |
4.2. Рекурсивные функции ............................................................................. |
66 |
Задачи к главе 4. Машины Тьюринга............................................................ |
69 |
Заключение..................................................................................................... |
72 |
Библиографический список........................................................................ |
73 |
3
ВВЕДЕНИЕ
Математическая логика, как и классическая, исследует процессы умозаключений и позволяет из истинности одних суждений делать выводы об истинности или ложности других независимо от их конкретного содержания. Использование в логике математических методов (алгебраизация логики и построение логических исчислений) стало началом развития математической логики – новой области математики. Основная задача математической логики – это формализация знаний и рассуждений. Математика является наукой, в которой все утверждения доказываются с помощью умозаключений, поэтому математическая логика, по существу, – наука о математике.
Математическая логика дала средства для построения логических теорий и вычислительный аппарат для решения задач. Она нашла широкое применение в различных областях науки и техники (например, в лингвистике, в теории релейно-контактных схем, в экономике, в вычислительной технике, в информационных системах и др.). Понятия математической логики лежат в основе таких ее приложений, как базы данных, экспертные системы, системы логического программирования. Эти же понятия становятся методологической основой описания анализа и моделирования автоматизированных интегрированных производств.
Применение в логике математических методов становится возможным тогда, когда суждения формулируются на некотором точном языке. На практике множество элементарных логических операций является обязательной частью набора инструкций всех современных микропроцессоров и, соответственно, входит в языки программирования. Это важнейшее практическое приложение методов математической логики.
4
Алгебра высказываний
ГЛАВА 1. АЛГЕБРА ВЫСКАЗЫВАНИЙ
1.1.Высказывания и операции с ними
Визвестном труде Аристотеля «Органон» (IV в. до н. э.) есть раздел
оправильных умозаключениях «Силлогистика». До XVII века в Европе логика развивалась на основе логики Аристотеля. Попытку превратить логику в математическую науку в XVII веке предпринял Готфрид Вильгельм Лейбниц (1646–1716), но решительного успеха не добился. Однако в современной математической логике его конструктивный подход отражается в применении так называемых таблиц истинности.
Современный вид математическая логика приобрела в 80-е годы XIX века в трудах Готлиба Фреге (1848–1925). Он построил аксиоматику логики высказываний, ввел понятие предиката и др.
Определение. Высказыванием называется повествовательное предложение, которое может быть либо истинным, либо ложным. Истина («И» или «1») и ложь («Л» или «0») называются истинностными значениями высказываний.
Высказывания обозначаются буквами A, B, C, …; их истинностные значения [A], [B], [C], … соответственно. Таким образом,
[A] = 1, если A истинное высказывание;0, если A ложное высказывание.
Примеры:
1)A – «2 – простое число», [A] = 1;
2)B – «Cолнце светит» [B] = 1, если солнце светит;
3)C – «x + y > 1» – не высказывание;
4)D – «3 < 1», [D] = 0.
Приведенные высказывания нельзя разбить на части, также являющиеся высказываниями. Высказывания «Неверно, что 3 < 1» или «2 – простое число», или «3 < 1» таковыми не являются. Высказывания, построенные из простых с помощью связок «не», «и», «или» и сочетаний «если ..., то ...», «... тогда и только тогда, когда ...» носят специальные названия. Приведем соответствующие определения.
Определение. Отрицанием высказывания A называется высказыва-
ние A («Не A», «Неверно, что A»), которое истинно тогда, когда A ложно и ложно тогда, когда A истинно.
Данное и следующие далее определения удобно приводить с помощью так называемой таблицы истинности. Для отрицания она имеет вид
5
Глава 1
A |
A |
0 |
1 |
1 |
0 |
Если A – «2 – простое число», то A – «Неверно, что 2 – простое число» или «2 не является простым числом». Если B – «Солнце светит», то
B – «Неверно, что солнце светит» или «Солнце не светит». Определение. Конъюнкцией высказываний A и B называется вы-
сказывание A ˄ B («A и B»), которое истинно тогда и только тогда, когда истинны оба высказывания.
Таблица истинности операции конъюнкции имеет вид
A |
B |
A B |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Пример. Если A – «2 – простоечисло», B – «Солнце светит», то A ˄B – «2 – простое число и солнце светит».
Определение. Дизъюнкцией высказываний A и B называется высказываниеA ˅B («A илиB»), котороеложнотогдаитолькотогда, когдаложны оба высказывания.
Таблица истинности операции дизъюнкции имеет вид
A |
B |
A B |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Определение. Импликацией высказываний A и B называется высказывание A → B («Если A, то B», или «Из A следует B»), которое ложно тогда и только тогда, когда A истинно, а B ложно. При этом A называется посылкой, B – следствием или заключением.
Таблица истинности операции импликации имеет вид
A |
B |
A → B |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
Пример. Предложение «Если я лягу поздно, то встану тоже поздно» является импликацией высказываний «Я лягу поздно» и «Я встану поздно».
6
Алгебра высказываний
Определение. Эквиваленцией высказываний A и B называется высказывание A ↔ B («A тогда и только тогда, когда B», или «A необходимо и достаточно для B»), которое истинно только тогда, когда оба высказывания имеют одинаковые истинностные значения.
Таблица истинности операции эквиваленции имеет вид
A |
B |
A ↔ B |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Пример. Определитьистинностноезначениевысказывания A B C ,
если [A] = 0, [B] = 1, [C] = 0.
Решение.
Из определения конъюнкции высказываний следует, что [B ˄C] = 0. Из определения отрицания высказывания следует, что [ B C ] = 1. Из
определения операции эквиваленции следует, что [ A B C ] = 0. Коротко эти рассуждения можно записать так:
A |
↔ |
|
|
B C |
|||
0 |
1 |
0 |
|
0
1
0
Пример. Определить истинностное значение высказывания (P ˅ Q) →
(R ↔ S ), если [P] = 1, [Q] = 0, [R] = 0, [S] = 0.
Решение.
(P ˅ Q) |
→ (R ↔ |
|
), |
||
S |
|||||
1 |
0 |
0 |
0 |
||
|
1 |
0 |
1 |
||
|
1 |
0 |
0 |
|
|
|
|
|
|
|
|
1.2. Формулы алгебры высказываний
Определение. Пропозициональной переменной называется переменная, обозначающая высказывания.
Обозначения – P, Q, R, … A, B, C, … X, Y, … .
7
Глава 1
Определение.
1.Пропозициональная переменная является формулой.
2.Если F и G – формулы, то формулами также являются
( F ), (F ˄ G), (F ˅ G), (F → G), (F ↔ G),
3. Других формул нет.
Примеры:
1)((X ˅ Y) → Z), ((( X ) → Y) ↔ X) – формулы;
2)(Z ˅ (X ˄ Y)) и ((Z ˅ X) ˄ Y) – разные формулы;
3)Z → X ˅ Y – не формула.
Далее рассмотрим классификацию формул алгебры высказываний, для чего понадобится понятие интерпретации формулы.
Определение. Говорят, что задана интерпретация I = (A1, A2, …, An) формулы F(X1, X2, …, Xn), если в ней переменные заменяют определенными высказываниями: X1 = A1, X2 = A2, …, Xn = An.
Высказывание, полученное в результате интерпретации, будем обозначать
F(I) = F (A1, A2, …, An).
Формулы алгебры высказываний делятся на четыре (иногда на три) вида, в зависимости от истинностных значений высказываний, которые можно получить в результате интерпретаций этих формул.
Определение. Формула F называется тавтологией (|= F) или тождественно истинной, если при любой интерпретации I она становится истинным высказыванием
I ([F(I)] = 1).
Пример. Показать, что тавтологиями являются формулы
X ˅X , (X ˄ Y) → X.
Решение.
Достаточно составить их таблицы истинности:
|
X |
|
|
|
|
|
|
X |
|
|
|
||
|
|
X |
|
|
X |
||||||||
|
0 |
|
1 |
|
|
1 |
|
|
|
||||
|
1 |
|
0 |
|
|
1 |
|
|
|
||||
|
|
|
|
|
|
|
|
||||||
X |
|
Y |
|
X ˄ Y |
|
|
(X ˄ Y) → X |
||||||
0 |
|
0 |
|
|
0 |
|
1 |
||||||
0 |
|
1 |
|
|
0 |
|
1 |
||||||
1 |
|
0 |
|
|
0 |
|
1 |
||||||
1 |
|
1 |
|
|
1 |
|
1 |
||||||
8
Алгебра высказываний
Определение. Формула F называется выполнимой, если существует такая её интерпретация I, в результате которой она становится истинным высказыванием
I ([F(I)] = 1).
Составив таблицу истинности для формулы (X ˅ Y) → X, можно убедиться в том, что она выполнима.
Определение. Формула F называется опровержимой, если существует такая её интерпретация I, в результате которой она становится ложным высказыванием
I ([F(I)] = 0).
Приведенная выше выполнимая формула одновременно является и опровержимой (нужно взять интерпретации, при которых [X] = 0, [Y] = 1).
Определение. Формула F называется противоречием или тождественно ложной, если при любой интерпретации I она становится ложным высказыванием
I ([F(I)] = 0).
Упражнение. Показать, что противоречиями являются формулы
X X , ( X Y ) X .
Приведем теоремы, полезные для отыскания тавтологий.
Теорема. Если формула F – тавтология, то формула F – противоречие и наоборот.
Теорема (правило заключения). Если формулы F и F → G – тавто-
логии, то формула G также является тавтологией.
Доказательство: Проведем доказательство от противного то есть предположим, что G не является тавтологией. Тогда существует такая интерпретация I0, при которой [G(I0)] = 0. Так как [F(I0)] = 1, то [F(I0) → G(I0)] = 0. Это противоречит условию теоремы о том, что F → G тавтология. Значит наше предположение неверно и G – тавтология. Теорема доказана.
Теорема (правило подстановки). Если формула F(…, X, …), содер-
жащая переменную X, является тавтологией, то формула F(…, G, …), полученная подстановкой в формулу F вместо переменной X любой формулы G, также является тавтологией.
1.3. Отношения логического следования и равносильности
Рассмотрим отношение логического следования между формулами алгебры высказываний.
9
Глава 1
Определение. Формула G логически следует из формулы F, если при всех интерпретациях I, при которых F(I) истинно, G(I) также истинно. При этом пишут F => G.
Пример. Доказать, что (X ˄ Y) ˄ Z => X.
Доказательство следует из того, что конъюнкция (X ˄ Y) ˄ Z истинна тогда и только тогда, когда истинны все ее компоненты, значит, когда истинно X.
Пример. Доказать, что P → Q => P ˅ Q.
Данное отношение между формулами становится очевидным, если построить таблицы истинности для обеих формул:
P |
Q |
P → Q |
|
|
|
|
|
Q |
P |
|
|
P |
|||||
|
|
|
|
|
|
1 |
||
0 |
0 |
1 |
|
1 |
|
|||
0 |
1 |
1 |
|
1 |
|
1 |
||
1 |
0 |
0 |
|
0 |
|
0 |
||
1 |
1 |
1 |
|
0 |
|
1 |
||
Теорема. Из F логически следует G тогда и только тогда, когда тавтологией является импликация F → G.
Доказательство:
1.ПустьF => G. ТогдадлякаждойинтерпретацииI, такойчто[F(I)] = 1,
имеем [G(I)] = 1. Поэтому [F(I) → G(I)] = 1, то есть |= F → G.
2.Пусть |= F → G. Тогда для тех I, для которых [F(I)] = 1, также
[G(I)] = 1. По определению логического следования это означает, что
F => G.
Теорема доказана.
Данное выше определение понятия логического следования обобщается следующим образом.
Определение. Формула G логически следует из формул F1, F2, …, Fk. (F1, F2, …, Fk => G), если при всех интерпретациях, при которых истинны F1(I), F2(I), …, Fk(I), истинно высказывание G(I).
Теорема. Из F1, F2, …, Fk логически следует G тогда и только тогда, когда тавтологией является импликация (((F1 ˄ F2) ˄ …) ˄ Fk) → G.
Рассмотрим пример применения на практике понятия логического следования.
Пример. Верно ли рассуждение?
Если я пойду завтра на первое занятие, то должен буду встать рано, а если я пойду вечером на танцы, то лягу спать поздно. Если я лягу спать поздно, а встану рано, то я буду вынужден довольствоваться пятью часами сна. Я не в состоянии обойтись пятью часами сна. Следовательно, я должен или пропустить завтра первое занятие, или не ходить на танцы.
10
