- •ВВЕДЕНИЕ
- •Глава 1. ЛОГИКА ВЫСКАЗЫВАНИЙ
- •§1. Высказывание. Логические операции
- •§ 2. Пропозициональные буквы, связки и формы (формулы логики высказываний). Построение таблиц истинности
- •§ 3. Упрощения в записях пропозициональных форм
- •§ 4. Тавтологии (общезначимые формулы). Противоречия
- •§ 5. Равносильность пропозициональных форм
- •§ 6. Важнейшие пары равносильных пропозициональных форм
- •§ 7. Зависимости между пропозициональными связками
- •§ 8. Нормальные формы
- •§ 9. Совершенные нормальные формы
- •§ 10. Булева (переключательная) функция
- •§ 11. Приложение алгебры высказываний к анализу и синтезу контактных (переключательных) схем
- •§ 12. Приложение алгебры высказываний к анализу и синтезу схем из функциональных элементов
- •§ 13. Вопросы и темы для самопроверки
- •§ 14. Упражнения
- •Глава 2 ЛОГИКА ПРЕДИКАТОВ
- •§ 1. Понятие предиката
- •§ 2. Кванторы
- •§ 3. Формулы логики предикатов
- •§ 4. Интерпретация. Модель
- •§ 5. Свойства формул в данной интерпретации
- •§ 6. Логически общезначимые формулы. Выполнимые и равносильные формулы
- •§ 8. Правила перестановки кванторов
- •§ 9. Правила переименования связанных переменных
- •§ 10. Правила вынесения кванторов за скобки. Предваренная нормальная форма
- •§ 11. Вопросы и темы для самопроверки
- •§ 12. Упражнения
- •Глава 3. ЛОГИЧЕСКОЕ СЛЕДСТВИЕ И МЕТОД РЕЗОЛЮЦИЙ
- •§ 1. Логическое следствие и проблема дедукции в логике высказываний
- •§ 2. Резольвента дизъюнктов логики высказываний
- •§ 3. Метод резолюций в логике высказываний
- •§ 4. Метод насыщения уровня
- •§ 5. Стратегия вычеркивания
- •§ 6. Лок-резолюция
- •§ 7. Метод резолюций для хорновских дизъюнктов
- •§ 8. Преобразование формул логики предикатов. Сколемовская стандартная форма
- •§ 9. Унификация
- •§ 10. Метод резолюций в логике предикатов
- •§ 11. Приложение метода резолюций для анализа силлогизмов Аристотеля.
- •§ 12. Использование метода резолюций в языке ПРОЛОГ
- •§ 13. Введение и использование правил в ПРОЛОГе
- •§ 14. Рекурсивное задание правил в ПРОЛОГе
- •§ 15. Особенности ПРОЛОГа
- •§ 16. Вопросы и темы для самопроверки
- •§ 17. Упражнения
- •Глава 4. ДЕДУКТИВНЫЕ ТЕОРИИ
- •§ 1. Понятие об эффективных и полуэффективных процессах (методах)
- •§ 2. Дедуктивные теории
- •§ 3. Свойства дедуктивных теорий
- •§ 4. Пример полуформальной аксиоматической теории - геометрия
- •§ 5. Формальные аксиоматические теории
- •§ 6. Свойства выводимости
- •§ 7. Исчисление высказываний (теория L)
- •§ 8. Некоторые теоремы исчисления высказываний
- •§ 9. Эквивалентность двух определений непротиворечивости
- •§ 11. Свойства исчисления высказываний
- •§ 12. Другие аксиоматизации исчисления высказываний
- •§ 13. Теории первого порядка
- •§ 14. Формальная арифметика (теория S)
- •§ 15. Свойства теорий первого порядка
- •§ 16. Значение аксиоматического метода
- •§ 17. Теория естественного вывода
- •§ 18. Вопросы и темы для самопроверки
- •§ 19. Упражнения
- •Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
- •§ 1. Трехзначные логики
- •§ 2. Многозначные логики
- •§ 3. Понятие нечеткого множества
- •§ 4. Нечеткие высказывания и максиминные операции над ними
- •§ 5. Понятие о нечеткой лингвистической логике
- •§ 6. Модальные логики
- •§ 7. Временные (темпоральные) логики
- •§ 8. Вопросы и темы для самопроверки
- •§ 9. Упражнения
- •Глава 6. ТЕОРИЯ АЛГОРИТМОВ
- •§1. Неформальное понятие алгоритма
- •§ 2. Алфавит. Слова. Алгоритм в алфавите. Вполне эквивалентные алгоритмы
- •§ 3. Нормальный алгоритм (алгоритм А. А. Маркова)
- •§ 4. Функции частично вычислимые и вычислимые по Маркову
- •§ 5. Замыкание, распространение нормального алгоритма
- •§ 6. Операции над нормальными алгоритмами
- •§ 7. Машина Тьюринга
- •§ 8. Задание машины Тьюринга
- •§ 9. Алгоритм Тьюринга. Вычислимость по Тьюрингу
- •§ 10. Связь между машинами Тьюринга и нормальными алгоритмами
- •§ 11. Основная гипотеза теории алгоритмов (принцип нормализации или тезис Черча)
- •§ 12. Проблема алгоритмической неразрешимости
- •§ 13. Примеры алгоритмически неразрешимых массовых проблем
- •§ 14. Сведение любого преобразования слов в алфавите к вычислению значений целочисленных функций
- •§ 15. Примитивно рекурсивные и общерекурсивные функции
- •§ 16. Примитивно рекурсивность некоторых функций. Частично - рекурсивные функции
- •§ 17. Ламбда-исчисление
- •§ 18. Основные результаты
- •§ 19. Вопросы и темы для самопроверки
- •§ 20. Упражнения
- •Глава 7. СЛОЖНОСТЬ ВЫЧИСЛЕНИЙ С ПОМОЩЬЮ АЛГОРИТМОВ
- •§ 1. Понятие о сложности
- •§ 2. Временная сложность вычислений (алгоритма)
- •§ 3. Полиномиальные алгоритмы и задачи. Класс Р
- •§ 4. NP класс
- •§ 5. NP-полные и NP-трудные задачи
- •§ 6. Класс Е
- •§ 7. Ёмкостная (ленточная) сложность алгоритма
- •§ 8. Вопросы и темы для самопроверки
- •§ 9. Упражнения
- •ЛИТЕРАТУРА
- •ПРИЛОЖЕНИЯ
- •Варианты типового задания
- •Тесты для самоконтроля
- •Тест по логике высказываний (тест № 1)
- •Тест по логике предикатов (тест № 2)
- •Тест по логическому следствию и методу резолюций (тест № 3)
- •Тест по дедуктивным теориям (тест № 4)
- •Тест по теории алгоритмов (тест № 5)
- •Тест по неклассическим логикам и сложности вычислений (тест № 6)
- •Ответы к тестам самоконтроля
54
переменных (если они есть). Если же свободных переменных нет, то формула называется истинной, когда она принимает значение И в этой интерпретации.
Формула называется ложной в данной интерпретации, если она принимает значение Л для всех возможных значений её свободных переменных (если они есть). Если же свободных переменных нет, то формула называется ложной, когда она принимает значение Л в этой интерпретации. Очевидно, что формула ложна в данной интерпретации тогда и только тогда, когда она не выполнима в этой интерпретации. Так же ясно, что формула A выполнима в данной интерпретации тогда и только тогда, когда она не является ложной в этой интерпретации.
Данная интерпретация называется моделью для множества формул G, если каждая формула из G истинна в этой интерпретации.
§ 5. Свойства формул в данной интерпретации
Можно доказать следующие свойства формул в данной интерпретации (некоторые из них очевидны, другие читатель легко докажет самостоятельно).
1.Формула A ложна в данной интерпретации тогда и только тогда, когда A истинно в этой же интерпретации. Формула A истинна в данной интерпретации тогда и только тогда, когда A ложна в этой же интерпретации.
2.Никакая формула не может быть одновременно истинной и ложной в одной и той же интерпретации.
3.Если в данной интерпретации истинны A и A B, то истинно и B. Это утверждение легко доказать методом от противного (сравни с теоремой
1.1).
4.Формула A B ложна в данной интерпретации тогда и только тогда, когда A истинно в этой интерпретации, а B ложно. Доказательство этого утверждения следует из определения импликации.
5.Формула A&B выполнима в данной интерпретации тогда и только тогда, когда A и B принимают значение И одновременно хотя бы для одной совокупности значений своих свободных переменных. Если же свободных переменных нет, то формула A&B выполнима в данной интерпретации тогда
итолько тогда, когда обе формулы A и B истинны в этой интерпретации.
6.Формула A B выполнима в данной интерпретации, если хотя бы одна из них выполнима в этой интерпретации.
7.Формула A≡B выполнима в данной интерпретации тогда и только тогда, когда A и B принимают значение И одновременно или значение Л (тоже одновременно) хотя бы для одной совокупности значений своих свободных переменных. Если же свободных переменных нет, то формула
A≡B выполнима в данной интерпретации тогда и только тогда, когда A и B принимают одинаковые истинностные значения в этой интерпретации.
55
8.Формула xA выполнима в данной интерпретации тогда и только тогда, когда A принимает значение И хотя бы для одной совокупности значений её свободных переменных и хотя бы одного значения переменной x.
9.Формула xA истинна в данной интерпретации тогда и только тогда, когда в этой интерпретации истинно A.
Как следствие из этого утверждения получаем, что формула A истинна
вданной интерпретации тогда и только тогда, когда в этой интерпретации истинно замыкание формулы A.
Если формула A замкнута, то в данной интерпретации A означает некоторое высказывание (нет свободных переменных), следовательно, A истинно либо ложно. Иначе, если A замкнуто, то в любой данной интерпретации либо истинно A, либо истинно A.
10.Рассмотрим некоторую пропозициональную форму. Если в пропозициональную форму вместо пропозициональных букв подставить формулы логики предикатов (вместо всех вхождений одной и той же пропозициональной буквы подставлять одну и ту же формулу), получим некоторую формулу, которая называется частным случаем пропозициональной формы. Тогда легко доказать следующее утверждение.
Всякий частный случай любой тавтологии истинен в каждой интерпретации.
То что имеет основанием истину, следует напоминать, не боясь показаться надоедливым.
Н.И. Пирогов
§ 6. Логически общезначимые формулы. Выполнимые и равносильные формулы
Формула логики предикатов называется логически общезначимой, если она истинна в любой интерпретации.
Логическая общезначимость формулы означает, что какую бы ни выбирали область интерпретации и какие бы соответствия, указанные в начале параграфа 4 данной главы, ни задавали, мы всегда будем получать истинные отношения или высказывания.
Примером логически общезначимых формул, очевидно, являются следующие формулы: A A, xA xA, A≡A.
Если формула А является логически общезначимой, то будем записывать, иногда в сокращенном виде: « ╞ А» и эта запись читается: «А является логически общезначимой формулой (логики предикатов)».
Формула логики предикатов A называется выполнимой, если существует интерпретация, в которой выполнима A.
Примером выполнимой формулы является формула xA(x,y,b1). Действительно, если взять M=[0,∞); A(x,y,b1) поставить в соответствие
56
предикат (отношение) x + y ≥ z; b1 поставить в соответствие число 2, то наша формула в этой интерпретации означает, что x(x + y ≥ 2). Последнее будет истинно, например, при любых значениях у ≥ 2. Следовательно, заданная формула выполнима в этой интерпретации. Таким образом, для нашей формулы существует интерпретация, в которой она выполнима, поэтому эта формула выполнима.
Имеют место следующие очевидные утверждения. Формула A логически общезначима тогда и только тогда, когда формула A не является выполнимой. Формула A выполнима тогда и только тогда, когда формула A не является логически общезначимой.
Будем называть формулу логики предикатов A противоречием, если формула A является логически общезначимой, или, что то же самое, если формула A ложна во всякой интерпретации.
Говорят, что формула логики предикатов A логически влечет формулу логики предикатов B , если в любой интерпретации формула B принимает значение И при каждой совокупности значений свободных переменных (входящих в A и B), при которых формула A приняла значение И. Иначе говорят, что B является логическим следствием формулы A. В этом случае записываем
А╞В
и читаем: «из А логически следует В» или «В является логическим следствием из А». Отметим, что «А╞ В» не является формулой, а является метаутверждением относительно формул А и В (логики предикатов).
Формулы A и B логики предикатов называют равносильными (логически эквивалентными), если каждая из них логически влечет другую.
Если формулы А и В равносильны, то, как и в логике высказываний, записываем: A В.
Имеют место следующие теоремы.
Теорема 2.1.Формула A логически влечет формулу B тогда и только тогда, когда формула A B логически общезначима.
(В сокращенном виде эту теорему можно записать: A╞ B тогда и только тогда, когда ╞ A B).
Доказательство. Пусть A B логически общезначима, т.е. истинна в каждой интерпретации. Если B не является логическим следствием A, то при некоторой интерпретации формула B принимает значение Л для некоторой совокупности значений свободных переменных, при которой A принимает значение И. Но тогда при этой совокупности значений свободных переменных A B будет ложным, что противоречит условию логически
57
общезначимости A B. Итак, если A B логически общезначима, то A логически влечёт B .
Обратное тоже доказывается легко. Действительно, если A логически влечёт B, то по определению импликации, очевидно, A B истинно в каждой интерпретации, следовательно, логически общезначима. Теорема доказана.
Теорема 2.2. Формулы A и B равносильны (логически эквивалентны) тогда и только тогда, когда формула A≡B логически общезначима.
Доказательство. Согласно определению A и B равносильны тогда и только тогда, когда каждая из них влечёт другую, т.е. по предыдущей теореме тогда и только тогда, когда A B и B A логически общезначимы, т.е. тогда и только тогда, когда A≡B логически общезначима.
Теорема 2.3. Если формула A логически влечёт формулу B и A истинно в данной интерпретации, то в этой же интерпретации истинно и B.
Эту теорему легко доказать от противного.
Если формула A является замкнутой формулой, то очевидно при приписывании к A любых кванторов получим формулу равносильную A, т.е.:
A Q1Q2… Qn А,
здесь Q1Q2… Qn любая совокупность кванторов по любым переменным. Также введем понятие логического следствия из заданного множества
формул логики предикатов.
Формула B называется логическим следствием формул А1, А2, …, Аn, если в любой интерпретации формула B принимает значение И при каждой совокупности значений свободных переменных (входящих в B и А1, А2, …, Аn), при которых одновременно все формулы А1, А2, …, Аn приняли значение И. Иными словами говорят, что B является логическим следствием формул А1,А2,…,Аm, m≥1. В этом случае записывается А1, А2,…,Аm╞ В.
x A x A |
|
§ 7. |
Правила перенесения |
|
|
отрицания через кванторы |
|||
|
x A x A |
Прежде |
чем рассматривать общий |
|
|
случай произвольной формулы, исследуем |
|||
|
|
|
формулы частного вида xР(x) и xР(x), |
|
|
|
|
||
где Р - одноместная предикатная буква; более |
того, будем рассматривать |
|||
интерпретации этих формул |
на конечных |
n-элементных множествах |
||
(областях интерпретации). |
|
|
Пусть заданы формулы хР(х) и хР(х) и задана произвольная интерпретация этих формул на n-элементном множестве M={a1,a2,...,an}. В §
58
2 установлено, что квантор общности является обобщением конъюнкции, а квантор существования - дизъюнкции и для n- элементных областей интерпретации имеют место соотношения (2.7) и (2.8):
хР(х) равносильно Р(а1)&Р(а2)&...&Р(аn),
хР(х) равносильно Р(а1) Р(а2) ... Р(аn).
Очевидно, что высказывания равносильны тогда и только тогда, когда равносильны отрицания этих высказываний, поэтому первое из этих соотношений эквивалентно следующему:
хР(х) (Р(а1)&Р(а2)&...&Р(аn)) Р(а1) Р(а2) ... Р(аn).
Правая часть полученного соотношения есть не что иное, как запись высказывания х Р(х). Таким образом, для n- элементных областей интерпретации имеем:
( ) |
( ) |
(2.9) |
хР х |
х Р х . |
|
Аналогично получим:
хР(х) (Р(а1) Р(а2) ... Р(аn)) Р(а1)& Р(а2)&...& Р(аn),
следовательно, для n-элементных областей интерпретации имеет место:
( |
) ( ) |
(2.10) |
хР х |
х Р х |
|
Соотношения (2.9) и (2.10) показывают, что при перенесении отрицания через кванторы последние меняются на двойственные. Покажем, что эти правила имеют место для указанных формул, но уже без ограничения конечности областей интерпретации.
Рассмотрим формулу хР(х). Возьмем произвольную (но фиксированную) интерпретацию. В каждой интерпретации эта формула означает некоторое высказывание (так как не имеет свободных переменных).
Пусть высказывание хР(х) истинно. Тогда высказывание хР(х) - ложно, следовательно, существует значение переменной х, для которого Р(х) ложно. Обозначим одно из таких значений через b. Итак, b M и Р(b) - ложно. В таком случае Р(b) истинно, т.е. существует такое х (равное b), что Р(х) истинно, поэтому х Р(х) истинно.
Обратно, пусть теперь высказывание х Р(х) истинно. Тогда по определению квантора существования найдется такое значение переменной х, что Р(х) истинно. Обозначим одно из таких значений через b. Итак, b M и Р(b) истинно. Следовательно Р(b) ложно. Но тогда по определению квантора общности хР(х)=Л, а хР(х) истинно. В результате мы доказали,
59
что в каждой интерпретации хР(х) истинно тогда и только тогда, когда истинно х Р(х), поэтому:
хР(х) х Р(х).
Аналогичным образом можно установить, что:
хР( х) х Р(х).
Далее рассмотрим формулу хΑ2(х,у) с одной двуместной предикатной буквой А2. Возьмем для этой формулы произвольную (но фиксированную) интерпретацию. В выбранной интерпретации возьмем произвольное значение свободной переменной у, скажем, у=с (с M).
Выражение хΑ2(х,c) представляет собой отрицание результата навешивания квантора общности на одноместный предикат А2(х,с) и по
доказанному истинностные значения хΑ2(х,c) и |
х Α2(х,с) совпадают, |
||
следовательно: |
|
|
|
Α2( |
) Α2( |
) |
(2.11) |
х х,у |
х |
х,у . |
|
Ясно, что аналогично соотношению (2.11) можно доказать следующие равносильности:
хiАkn(х1,х2,...,хn) хi Аkn(х1,х2,...,хn),
хiАkn(х1,х2,...,хn) |
хi Аkn(х1,х2,...,хn). |
Можно доказать, что и для произвольной формулы А имеют место: |
|
хА х А, |
(2.12) |
хА х А. |
(2.13) |
Если отрицание стоит перед несколькими кванторами, то, используя (2.12) и (2.13), отрицание можно переносить последовательно через каждый из кванторов, изменяя его на двойственный.
В результате доказана следующая теорема.
Теорема 2.4. Отрицание формулы, начинающейся с кванторов, равносильно формуле, полученной заменой каждого квантора на двойственный и перенесением знака отрицания за кванторы.
Высказывания (2.12) и (2.13) являются аналогами законов де Моргана. Используя их, легко выразить один из кванторов через другой. Для этого применим операцию отрицания к левым и правым частям соотношений (2.12)
и (2.13). Получим соответственно: |
(2.14) |
||||
|
хА |
|
А, |
||
|
|
х |
|
||
|
хА |
|
А. |
(2.15) |
|
|
х |
|
Равносильности (2.14) и (2.15) показывают, что при определении формул логики предикатов можно было ввести только один из кванторов. Например, можно считать по определению, что для произвольной формулы А